java jvm
啊哈哈哈哈小莫
这个作者很懒,什么都没留下…
展开
-
synchronized 解读
参考文章:https://cloud.tencent.com/developer/article/10316331.synchronized基本用法修饰在方法上,修饰在静态方法和成员方法是不一样的,修饰在静态方法上时,使用的锁对象是当前类的class的对象锁,修饰在成员方法上则是使用的是对象实例的对象锁所有两者是不会冲突的,同步方式是通过方法中的access_flags中设置ACC_SYNCHRONIZED标志来实现修饰在代码块上,是使用一个对象实例的对象锁当成锁对象,同步代码块是通过monit原创 2021-04-14 23:51:22 · 98 阅读 · 0 评论 -
通过字节码了解i++和++i的区别
/** * 从字节码角度分析 a++ 相关题目 */public class Demo3_12_3 { public static void main(String[] args) { int a = 10; int b = a++; }}生成的字节码Classfile /F:/BaiduNetdiskDownload/JVM/2019-解密JVM资料/代码/jvm/out/production/jvm/cn/itcast/jvm/t3/byt原创 2021-03-07 15:00:23 · 164 阅读 · 2 评论 -
StringTable 以及字符串编译时的解释
// StringTable [ "a", "b" ,"ab" ] hashtable 结构,不能扩容public class Demo1_22 { // 常量池中的信息,都会被加载到运行时常量池中, 这时 a b ab 都是常量池中的符号,还没有变为 java 字符串对象 // ldc #2 会把 a 符号变为 "a" 字符串对象 // ldc #3 会把 b 符号变为 "b" 字符串对象 // ldc #4 会把 ab 符号变为 "ab" 字符串对象 pub原创 2021-02-28 17:42:52 · 101 阅读 · 0 评论