1 | public class HelloWorld { |
invokevirtual
$ javap -c HelloWorld
1 |
|
The property out
in System is a packaged
type PrintStream
.
There is a BufferedOutputStream
inside PrintStream
.
1 | public final class System { |
The init method called after thread initialization, initialize the system class.
1 | private static PrintStream newPrintStream(FileOutputStream fos, String enc) { |
package buffer function into out
. base on encoding, create output stream object.
1 | JNIEXPORT void JNICALL |
The native method
setOut0
will call this c function.fid
the member ofSystem
theout
‘s id."Ljava/io/PrintStream;"
meanjava.io.PrintStream
object
SetStaticObjectField
define here.
1 | void (JNICALL *SetStaticObjectField) |