-
Notifications
You must be signed in to change notification settings - Fork 0
java
zhoumingjun edited this page Jun 3, 2019
·
2 revisions
https://docs.oracle.com/javase/8/docs/
- Why java is cross-platform
Linux: ELF
> file /usr/bin/kubectl
/usr/bin/kubectl: ELF 64-bit LSB executableMacOS: Mach-O
> file /usr/local/bin/kubectl
/usr/local/bin/kubectl: Mach-O 64-bit executable x86_64compile -> class loading -> runtime
-
how to compile .java files
javac -
how to co mpile .java files if there are 3rd depnendencies
javac -cp -
how to view the bytecode
javap
-
how to define class loader
Class loadClass(String name)
Class findClass(String name)
Class defineClass(byte[] code, String name) -
loading linking initializating
J2SE doc
JVM architecture
- java class initialization sequenct
parent static field/code block (only once)
static field/code block (only once )
parent field/code block
parent constructor
field/code block
constructor
- jvm components
heap
vm stack
native method stack
Method area
class information
bytecode of methods and constructors
runtime constant pool
pc
- how to monitor jvm
jstat visualvm ...
JUnit
<<AllPages()>>

