
ืฉืืืืช ืืชืฉืืืืช ืืชืคืงืื ืืคืชื ืืืืจ
ืฉืืืืช ืืืืืืช
1. ืืืื ืืคืืกื ืขืืฆืื ืืชื ืืืืจืื? ืกืคืจ ืื ื ืขื ืฉื ื ืืคืืกื ืขืืฆืื ืฉืืื ืืฉืชืืฉืช ืืขืืืืชื.
ืืฉ ืืืืื ืขืฆืื ืฉื ืืคืืกืื. ืืืื ืืื ืฉืจืืฆืื ืืืืืจ ืืขืืืง ืืช ืืคืืกื ืืขืืฆืื, ืื ื ืืืืืฅ ืืงืจืื ืืช ืืกืคืจ "ืืจืืฉ ืชืืืื. ืืคืืกื ืขืืฆืื". ืื ืืขืืืจ ืื ืืืืื ืืงืืืช ืืช ืืคืจืืื ืฉื ืืคืืกื ืืขืืฆืื ืืืกืืกืืื ืืืืชืจ. ืืืื ืืื ืฉื ืืคืืกื ืขืืฆืื ืฉืชืืืื ืืืืืืจ ืืจืืืื ืขืืืื, ืขืืืื ืืจืืฉืื ืืืืจืื ืืืืื:- Builder - ืชืื ืืช ืืฉืืืืฉ ืชืืืฃ, ืืืืคื ืืืืฉื ืืงืืืกืืช ืืืฆืืจืช ืืืืืืงืืื;
- ืืกืืจืืืื - ืืคืืก ืืืืืฆื ืืขืฆื ืคืืืืืืจืคืืื. ืืืืืจ, ืืฉ ืื ื ืืืฉืง ืืื, ืืื ืืืชื ืืืืช ืฉื ืืชืืื ืืช ืืฉืชื ื ืืืชืื ืืืืืืฉ ืืืืฉืง ืืกืคืฆืืคื ืฉืืืขืืจ ืืคืื ืงืฆืื (ืืคืืก ืืืกืืจืืืื ืืฉืืฉ ืืืื ืืืขื ืืื ืืงืื ืืืืฉืืื Java).
- Factory - ื ืืชื ืืืฆืื ืืคืืก ืื ื- ApplicationContext (ืื ื-BeanFactory);
- Singleton - ืื ืืฉืขืืขืืช ืืื ืืืืื ืืืจืืจืช ืืืื;
- ืคืจืืงืกื - ืืขืฆื, ืื ืืืจ ื-Spring ืืฉืชืืฉ ืืืคืืก ืื ืืฆืืจื ืืื ืื ืืืจืช, ืืืฉื, AOP;
- ืฉืจืฉืจืช ืืืจืืืช - ืืคืืก ืืขืืื ืืืกืืก Spring Security;
- ืชืื ืืช - ืืฉืืืืฉ ื- Spring JDBC.
Java Core

2. ืืืื ืกืืื ื ืชืื ืื ืงืืืืื ื-Java?
ื- Java ืืฉ ืืช ืกืืื ืื ืชืื ืื ืืคืจืืืืืืืืื ืืืืื:- ืืชืื - ืืกืคืจืื ืฉืืืื ืื ืขืื ืืื -128 ื-127, ืชืืคืก ืืืช ืืื;
- ืงืฆืจ - ืืกืคืจืื ืฉืืืื ืื ืขืื ืืื -32768 ื-32767, ืชืืคืก 2 ืืชืื;
- int - ืืกืคืจืื ืฉืืืื ืื ืขืื ืืื -2147483648 ื-2147483647, ืชืืคืก 4 ืืชืื;
- ืืจืื - ืืกืคืจืื ืฉืืืื ืื ืขืื ืืื 9223372036854775808 ื-9223372036854775807, ืชืืคืก 8 ืืชืื;
- float โ ืืกืคืจื ื ืงืืื ืฆืคื ืื ืขืื ืืื -3.4E+38 ื-3.4E+38, ืชืืคืกืช 4 ืืชืื;
- ืืคืื - ืืกืคืจื ื ืงืืื ืฆืคื ืื ืขืื ืืื -1.7E+308 ื-1.7E+308, ืชืืคืกืื 8 ืืชืื;
- char - ืชืืืื ืืืืืื ื-UTF-16, ืชืืคืก 2 ืืชืื;
- ืขืจืื ืืืช/ืฉืงืจ ืืืืืื ื , ืชืืคืก 1 ืืืื.
3. ืืื ืฉืื ื ืืืืืืงื ืืกืืื ื ืชืื ืื ืคืจืืืืืืืืื?
ืืืืื ืืจืืฉืื ืืื ืืืืช ืืืืืจืื ืืชืคืืกื: ืคืจืืืืืืืืื ืชืืคืกืื ืืขื ืืืื ืืืืืื ืฉืื ืืืืืื ืจืง ืืช ืืขืจื ืฉืืื, ืืื ืืืืืืงืืื ืืืืืื ืืืืื ืืืื ืขืจืืื ืฉืื ืื - ืื ืคืจืืืืืืืืื ืืื ืืคื ืืืช ืืืืืืืงืืื ืืืจืื. ืืืื ืฉื ื ืืื ืื: ื'ืืืื ืืื ืฉืคื ืืื ืื ืขืฆืืื, ืื ืฉืื ืืืจ ื-Java ืขืืื ืืื ืืื ืืจืืงืฆืื ืืื ืืืืืืงืืื. ืคืจืืืืืืืื ืื ืืฉืชืืืื ืืื ืื ืื. ืืืขืฉื, ืื ืืกืืื ืฉ-Java ืืื ื ืฉืคื 100% ืืื ืื ืขืฆืืื. ืืืืื ืืฉืืืฉื, ืื ืืืข ืืืฉื ื ืืื ืฉืืืืืื ืฉ-Java ืืชืืงืืช ืืืื ืืจืืงืฆืืืช ืืื ืืืืืืงืืื, ืืฉื ื ืื ืื ืื ืื ืจืืื ืืฉืื ืื ืื ืืืื ืืืืืืงืืื. ืืืืืื, ืื ืืื, ืฉืืืืช, ืืจืืืื (ืฉืขืืืืื ืืขืืงืจ ืขื ืืืืืืงืืื), ืืื'. ืืืื ืืืคืฉืจ ืืคืจืืืืืืืื ืืขืืื ืืืืฉืื ืืกืืืื ืืื ืื ืขืฆืืื ืื, ืืืืฆืจืื ืฉื Java ืืืฆืืื ืขืืืคืืช ืขืืืจ ืืืืคืืกืื ืืคืจืืืืืืืืื ( Integer , Character , Double , Boolean ...)4. ืื ืืืืื ืืื ืืขืืจืช ืืจืืืื ืืื ืืคื ืืคื ืื ืืืคื ืขืจื?
ืฉืืืช ืคืจืืืืืืืืื ืืืืกื ืื ืืช ืืขืจื ืฉืืื: ืืืฉื, ืื ืงืืขื ื int i = 9; , ืื ืืฉืื i ืืืืกื ืืช ืืขืจื 9. ืืืฉืจ ืืฉ ืื ื ืืคื ืื ืืืืืืืงื, ืื ืืืืจ ืฉืืฉ ืื ื ืฉืื ืขื ืืคื ืื ืืืืืืืงื. ืืืืืื ืืืจืืช, ืืฉ ืื ื ืฉืื ืฉืฉืืืจ ืืช ืืืชืืืช ืฉื ืืืืืืืงื ืืืืืจืื.Cat cat = new Cat();
ืืืฉืืขืืช ืืื ืฉืฉืืืช ืขื ืืคื ืื ืืืืืืืงื ืืืืกื ืื ืื ืขืจืืื . ืืขืจืืื ืฉืืื ืื ืืชืืืืช ืืืืจืื. ืืืืืจ, cat ืืืืกื ืืช ืืชืืืช ืืืืืจืื ืฉื ืืืืืืงื Cat() ืืืืฉ . ืืืฉืจ ืื ื ืืขืืืจืื ืืจืืืื ื ืืืชืืื, ืืขืจื ืฉืื ืืืขืชืง. ืืืงืจื ืฉื ืคืจืืืืืืื, ืืขืจื ืฉื ืืคืจืืืืืืื ืืืขืชืง. ืืืชืื, ืืฉืืื ืขืืืืช ืขื ืืขืืชืง. ืืืฉืจ ืืขืืชืง ืืฉืชื ื, ืืืงืืจ ืืื ื ืืืฉืคืข. ืืืงืจื ืฉื ืกืื ืืชืืืืกืืช, ืืขืจื ืฉื ืืชืืืช ืืืืืจืื ืืืขืชืง. ืืืชืื ืืื, ืฉื ื ืืฉืชื ื ืืืืืืก ืืืืกื ื ืืชืืืืช ืืืฆืืืขืืช ืขื ืืืชื ืืืืืืงื. ืืื ื ืฉืชืืฉ ืืืชืืืืกืืช ืืืืฉื ืืื ืืื ืืฉื ืืช ืืช ืืืืืืืงื, ืื ื ืืื ืฉืืื ืืฉืชื ื ืื ืขืืืจ ืืืคื ืื ืืืฉื ื. ืืจื ืฉื ืืื ืืฆืืืขืื ืขื ืืืชื ืืืืืืงื.
5. ืื ืื JVM, JDK ื-JRE?
JVM ืจืืฉื ืชืืืืช ืฉื Java Virtual Machine , ืืฉืจ ืืจืืฅ ืงืื ืืืื ืฉื Java ืฉื ืืฆืจ ืืจืืฉ ืขื ืืื ืืืืืจ. JRE ืจืืฉื ืชืืืืช ืฉื Java Runtime Environment . ืืขืืงืจืื, ืืืื ืกืืืื ืืืคืขืืช ืืืฉืืื Java. ืืื ืืืื ืืช ื-JVM, ืกืคืจืืืช ืกืื ืืจืืืืช ืืจืืืืื ืืืจืื ืืืคืขืืช ืืืฉืืืื ืื ืืืืฉืืืื ืืืชืืืื ืืฉืคืช ืืชืื ืืช Java. ืืืืืื ืืืจืืช, ื-JRE ืืื ืืืืื ืฉื ืื ืื ืฉืฆืจืื ืืื ืืืคืขืื ืชืืื ืืช Java ืืืืืจืช, ืื ืืื ืืื ื ืืืืืช ืืืื ืืืื ืขืืจ ืืืื ืืืืจืื ืื ืืืคื ืืืืื ืืคืืชืื ืืืฉืืืื. JDK ืจืืฉื ืชืืืืช ืฉื Java Development Kit , ืฉืืื ืืจืืื ืฉื ื- JRE . ืืืืืจ, ืืืื ืกืืืื ืื ืจืง ืืืคืขืืช ืืืฉืืื Java, ืืื ืื ืืคืืชืืื. ื-JDK ืืืื ืืช ืื ืื ืฉื-JRE, ืืชืืกืคืช ืืืื ื ืืกืคืื ืฉืื ืื - ืืืืจืื ืื ืืคืื ืืืืื - ืืืจืืฉืื ืืืฆืืจืช ืืืฉืืื Java (ืืืื ืืกืืื Java).
6. ืืื ืืืฉืชืืฉ ื-JVM?
ืืคื ืฉืฆืืื ืืขืื, ื-Java Virtual Machine ืืื ืืืื ื ืืืจืืืืืืช ืืืจืืฅ ืงืื ืืืื ืฉื Java ืฉื ืืฆืจ ืืจืืฉ ืขื ืืื ืืืืืจ. ืื ืืืืจ ืฉื-JVM ืื ืืืื ืืช ืงืื ืืืงืืจ ืฉื Java. ืื, ืจืืฉืืช, ืื ื ืืจืืืืื ืงืืฆื .java . ืืงืืฆื ืืืืืืจ ืืฉ ืืช ืกืืืืช .class ืืื ืืขืช ืืฆืืจืช bytecode, ืื ืฉื-JVM ืืืื. ื-JVM ืฉืื ื ืขืืืจ ืื ืืขืจืืช ืืคืขืื. ืืืฉืจ ื-JVM ืืจืืฅ ืงืืืฆื bytecode, ืืื ืืชืืื ืืืชื ืืืขืจืืช ืืืคืขืื ืฉืื ืืื ืคืืขื. ืืืขืฉื, ืืืืืื ืฉืืฉ JVMs ืฉืื ืื, ื-JDK (ืื JRE) ืฉืื ื ืื ืขืืืจ ืืขืจืืช ืืคืขืื ืฉืื ื (ืื ืืจืกื ืฆืจืืื JVM ืืฉืื). ืืืื ื ืืืืจ ืืื ืืคืืชืื ืขืืื ืืฉืคืืช ืชืื ืืช ืืืจืืช. ืืชื ืืืชื ืชืืื ืืช, ืืื ืืงืื ืฉืื ืืงืืืคื ืืงืื ืืืื ื ืขืืืจ ืืขืจืืช ืืคืขืื ืกืคืฆืืคืืช, ืืื ืืชื ืืืื ืืืคืขืื ืืืชื. ืืืืืื ืืืจืืช, ืืชื ืฆืจืื ืืืชืื ืืจืกืืืช ืฉืื ืืช ืฉื ืืชืืื ืืช ืขืืืจ ืื ืคืืืคืืจืื. ืืื ืืขืืืื ืืืคืื ืฉื ืืงืื ืฉื Java (ืืืืืจ ืฉื ืงืื ืืืงืืจ ืืชืื bytecode, ืืืืืจ ืืื ืขืืืื ืฉื bytecode ืขื ืืื ื-JVM) ืืืคืฉืจ ืื ืืืื ืืช ืืืืชืจืื ืืช ืฉื ืคืชืจืื ืืืฆื ืคืืืคืืจืืืช. ืื ื ืืืฆืจืื ืืช ืืงืื ืคืขื ืืืช ืืืงืืคืืื ืืืชื ืืืืืืงืื. ืื ื ืืื ืืงืืช ืืืชื ืืื ืืขืจืืช ืืคืขืื, ืื-JVM ืืืงืืจื ืืกืืื ืืืคืขืื ืืืชื. ืืื ืืืืืง ืืชืืื ื ืืืืืืช ืฉื ื'ืืืื ืืืชืื ืคืขื ืืืช, ืืคืขื ืืื ืืงืื .
7. ืืื bytecode?
ืืคื ืฉืืืจืชื ืืืขืื, ืืืืืจ ืืืืจ ืงืื ื'ืืืื ืืืืืืงืื ืืื ืืื ( ืื ืื ื ืขืืืจืื ืืงืืฆืื ืขื ืกืืืืช .java ืืงืืฆืื ืขื ืกืืืืช .class). ืืืืื ืื ืจืืื, bytecode ืืืื ืืงืื ืืืื ื, ืืื ืฉืืขืจืืช ืืืืจืืืช ืฉืื ืืื ื ืืืืขืืช ืืืขืื ืืืืชื, ืืื ืืืขืื ืืืจืืืืื. ืขื ืืืช, ืืื ืืืื ืืืืื ืงืืขืื ืืืืืขืืื ืืืืืจ JIT, ืืฉืจ ืืืืขื ืืช ืืืฆืืข ืืคืงืืื ืขืืืจ ืืืขืื ืืคืืขื ืฉืขืืื ืืชืืื ืืช ืคืืขืืช. ืงืืืคืืืฆืื JIT, ืื ืงืจืืช ืื ืงืืืคืืืฆืื ืชืื ืืื ืชื ืืขื, ืืื ืืื ืืืืืื ืฉืืืืืจื ืืช ืืืืฆืืขืื ืฉื ืชืืื ืช bytecode ืขื ืืื ืงืืืคืืืฆืื ืฉื ืงืื ืืืื ืืงืื ืืืื ื ืื ืคืืจืื ืืืจ ืืืื ืฉืืชืืื ืืช ืคืืขืืช. ืืคื ืฉืืืื ื ืืืฉืชื, ื-JVM ืืฉืชืืฉ ืืืืืจ JIT ืืืฉืจ ืืื ืืจืืฅ ืงืื ืืชืื. ืืืื ื ืกืชืื ืขื ืงืื ืืืื ืืืืืื:
8. ืืื ืืชืืื ืืช ืฉื JavaBean?
JavaBean ืืื ืืืืงืช Java ืฉืขืืงืืช ืืืจ ืืืืื ืืกืืืืื . ืื ื ืืื ืืืืืืื ืืืชืืืช JavaBean :-
ืืืืืงื ืืืืืช ืืืืื ืื ืื ืจืืง (ืืื ืืืืื) ืขื ืืฉื ื ืืืืฉื ืืฆืืืืจืืช . ืื ืื ืื ืืืคืฉืจ ืืืฆืืจ ืืืืืืงื ืฉื ืืืืืงื ืืื ืืขืืืช ืืืืชืจืืช (ืืื ืฉืื ืืืื ืืชืขืกืงืืช ืืืืชืจืช ืืืืขืื ืื).
-
ืืืืฉื ืืฉืืืช ืคื ืืืืื ืืชืืฆืขืช ืืืืฆืขืืช ืฉืืืืช get and set ืืืคืข, ืฉืืืืจืืช ืืืืืช ืืืืฉืื ืืกืื ืืจืื. ืืืืืื, ืื ืืฉ ืื ื ืฉืื ืฉื , ืื ืฆืจืืืื ืืืืืช ืื ื getName ื- setName ืืื'. ืื ืืืคืฉืจ ืืืืื ืฉืื ืื (ืืกืืจืืช) ืืงืื ืืืืืืืจ ืืืืคื ืืืืืืื ืืช ืืชืืื ืฉื ืฉืขืืขืืช ืืื ืื ืงืืฉื.
-
ืืืืืงื ืืืืืช ืืขืงืืฃ ืืช ืืืชืืืืช equals() , hashCode() ื- toString() .
-
ืืืืืงื ืืืืืช ืืืืืช ื ืืชื ืช ืืกืืืจื. ืืืืืจ, ืขืืื ืืืืืช ืืขื ืืืฉืง Serializable marker ืื ืืืืฉื ืืช ืืืฉืง Externalizable . ืืืช ืขื ืื ืช ืฉื ืืชื ืืืื ืืฉืืืจ, ืืืืกื ืืืฉืืืจ ืืืืคื ืืืืื ืืช ืืฆื ืืฉืขืืขืืช.

9. ืืื OutOfMemoryError?
OutOfMemoryError ืืื ืฉืืืืช ืืื ืจืืฆื ืงืจืืืืช ืืงืฉืืจื ื-Java Virtual Machine (JVM). ืฉืืืื ืื ืืชืจืืฉืช ืืืฉืจ ื-JVM ืืื ื ืืืื ืืืงืฆืืช ืืืืืืงื ืืืืืื ืฉืืื ืืกืคืืง ืืืืจืื ืขืืืจื, ืืืืกืฃ ืืืฉืคื ืืื ื ืืืื ืืืงืฆืืช ืืืืจืื ื ืืกืฃ. ืืื ืกืืืื ืฉื OutOfMemoryError :-
OutOfMemoryError: ืฉืื ืขืจืืืช Java - ืื ื ืืชื ืืืงืฆืืช ืืช ืืืืืืืงื ืืขืจืืืช Java ืขืงื ืืืกืจ ืืืืจืื. ืฉืืืื ืื ืืืืื ืืืืืจื ืขื ืืื ืืืืคืช ืืืืจืื ืื ืขื ืืื ืืืื ืขืจืืื ืฉื ืืจืืจืช ืืืื ืงืื ืืื ืขืืืจ ืืืืฉืื ืื ืืืื.
-
OutOfMemoryError: ืืจืืื ืืืืืืช ื-GC Overhead - ืืืืืื ืฉืื ืชืื ืื ืฉื ืืืคืืืงืฆืื ืืงืืฉื ื ืื ืกืื ืืขืจืื, ืืืกืฃ ืืืฉืคื ืคืืขื ืื ืืืื, ืื ืฉืืืจื ืืชืืื ืืช Java ืืคืขืื ืืื ืืืื. ืืชืืฆืื ืืื, ืืจืืื ืืืืืืช ืืชืงืืจื ืฉื ืืกืคื ืืืฉืคื ืืืืคืืืงืฆืื ืงืืจืกืช ืขื ืฉืืืื ืื.
-
OutOfMemoryError: ืืืื ืืืขืจื ืืืืืงืฉ ืืืจื ืืืืืืช ื-VM - ืื ืืฆืืื ืฉืืืคืืืงืฆืื ื ืืกืชื ืืืงืฆืืช ืืืืจืื ืืืขืจื ืืืืจื ืืืืื ืืขืจืืื. ืฉืื, ืคืืจืืฉ ืืืืจ ืขืฉืื ืืืืืช ืฉืื ืืืงืฆื ืืกืคืืง ืืืืจืื ืืืจืืจืช ืืืื.
-
OutOfMemoryError: Metaspace - ืืขืจืืื ืืื ืืืงืื ืฉืืืงืฆื ืืืื ื ืชืื ืื (ืืื ื ืชืื ืื ืื ืืืจืืืช ืืืืืงืืช ืืฉืืืืช).
-
OutOfMemoryError: ืืงืฉืช ืืชืื ืืืืื ืืกืืื. ืืื ืฉืื ืืืืคื - ืืืจืขื ืฉืืืื ืืืฉืื ืืขืช ื ืืกืืื ืืืงืฆืืช ืืืืจืื ืืืขืจืืื, ืืืชืืฆืื ืืื, ืืขืจืืื ืืื ืืกืคืืง ืืงืื.
10. ืืื ืืขืงื ืืืกื ืืช? ืืื ืื ื ืืฉืื ืืช ืื?
ืขืงืืืช ืืืกื ืืช ืืื ืจืฉืืื ืฉื ืืืืืงืืช ืืืฉืืืืช ืฉื ืงืจืื ืขื ืื ืงืืื ืื ืืืืฆืืข ืืืฉืื. ืืชื ืืืื ืืงืื ืืช ืืขืงื ืืขืจืืื ืื ืงืืื ืกืคืฆืืคืืช ืืืคืืืงืฆืื ืขื ืืื ืื:StackTraceElement[] stackTraceElements =Thread.currentThread().getStackTrace();
ืื ืืฉืื ืื ื ืืขืจื ืฉื StackTraceElements ืืกืืืจืื ืืคื ืกืืจ ื-Last In First Out (LIFO) . 
StackTraceElement[] stackTraceElements;
try{
...
} catch (Exception e) {
stackTraceElements = e.getStackTrace();
}
ืืื ืืจืฆืื ื ื ืืืฆืื ืืขืงื ืืืกื ืืช ืฉื ืืจืื ืืงืื ืกืืื:
try{
...
} catch (Exception e) {
e.printStackTrace();
}
ืื ืืกืฃ, ืื ืืชืจืืฉืช ืฉืืืื, ืืจืืื ืื ืืกืืื ืช ืื ืืจืืื ืืกืืื ืช ืืื ืืืคืื , ืื ื ืืงืืืื ืืืืคื ืืืืืืื ืืช ืืขืงื ืืืืกื ืืช ืฉื ืืืจืื ืืืกืืฃ ืืืฉืจ ืืืืฉืื ืงืืจืก. ืื ื ืืืืื ืงืื ื ืืืขืงื ืืืกื ืืช ืืงืื ืกืืื: 

GO TO FULL VERSION