04 2021 档案
摘要:jni 本地方法的总结 1,第一步,javah D:\wksp_study\designbook\target\classes> //clas文件所在目录执行 javah -cp D:\wksp_study\designbook\target\classes jni.ObjTest 2,第二部 拷贝
阅读全文
摘要:第一步,在idea中,编写java文件,并且编译 package jni; public class HelloWorld { static { System.loadLibrary("HelloWorld"); } public native static void say(String cont
阅读全文
摘要:先看代码 package com.zyt.jvmbook; public class Girl extends Person{ public Girl() { int a; } @Override public void sayHello() { System.out.println("girl s
阅读全文
摘要:写一个java文件 public static void main(String[] args) { String str1="abc"; String str2 ="abc"; String str3=new String("abc"); boolean b1= str1==str2; boole
阅读全文
摘要:源码中对于枚举类型WKID的使用 static bool initialize_wk_klass(WKID id, int init_opt, TRAPS); static void initialize_wk_klasses_until(WKID limit_id, WKID &start_id,
阅读全文
摘要:先打断点systemDictionary.cpp 1915行 Universe::fixup_mirrors(CHECK); 进入 void Universe::fixup_mirrors(TRAPS) { // Bootstrap problem: all classes gets a mirro
阅读全文
摘要:之前分析的已经加载的.Class文件中都没有Static 静态变量,所以也就没这部分的解析,自己也是不懂hotspot 将静态变量放哪里去了,追踪源码之后,看清楚了整个套路,总体上来说,可以举例来说对于,java.lang.String的Class文件进行解析,String类有5个变量,其中有俩个静
阅读全文
摘要:通过前面的分析,创建的insttanceKlass 都没放入了java_lang_Class::fixup_mirror_list()这里类的数组里面了,所有的instance列举如下 list->at(8) $3 = 0x7f6d6800f2b8 "java/lang/Object" (gdb)
阅读全文
摘要:进入 // Methods bool has_final_method = false; AccessFlags promoted_flags; promoted_flags.set_flags(0); Array<Method*>* methods = parse_methods(access_f
阅读全文