- 博客(8)
- 收藏
- 关注
原创 《深入理解Java虚拟机》读书笔记 10
Java语言中的泛型,只在程序源码中存在,在编译后的字节码文件中,全部泛型被替换为原来的裸类型,并在相应的地方插入了强制转换。ArrayList 和 ArrayList 是同一个类型,对应裸类型为ArrayList.Java的泛型是类型擦除式泛型,相对于C#的具现化泛型,使用效果和运行效率上都差很多。jdk 9以后,所有JDK的java类库都采用模块化进行重构划分。javac的编译过程——1个准备+3个处理。...
2022-08-18 22:02:31 108
原创 《深入理解Java虚拟机》读书笔记 11
前端编译——Java程序编译为字节码,javac后端编译——字节码编译为本地基础设施相关的二进制码,包括即时编译器(C1,C2, Graal),提前编译器。
2022-08-18 20:54:37 364
原创 《深入理解Java虚拟机》读书笔记 12
这个规范定义了各种变量的访问规则——如何从内存读取和写入到内存中。这里的变量与java编程中的变量不完全一致,包括 实例字段、静态字段、 构成数组对象的元素,不包括 局部变量、 方法参数,因为他们是线程私有的不会被共享。Java虚拟机提供的最轻量级的同步机制,针对此变量的修改,是所有线程立即可见的。内存模型是围绕着并发过程中如何处理这三个特征建立的。主流商用java虚拟机。...
2022-08-17 16:21:04 129
原创 《深入理解Java虚拟机》读书笔记 13
Java 类库API部分类,标注自己是线程安全,但通常是相对线程安全,也就是说这个对象的单次操作是线程安全的,但是特定顺序的连续调用可能就不是安全的。类库中大部分类都是线程兼容的,也就是对象本身不是线程安全的,但是可以在调用端正确的使用同步手段来保证对象在并发环境中可以安全的使用;类库中还有一种类,不管调用端是否采取同步措施,都无法在多线程环境中安全的并发使用代码,这是应该尽量避免的,可能已经废弃的类。这种同步方式的主要问题是——线程阻塞和唤醒所带来的性能开销,也被称为阻塞同步,是一种悲观的并发策略。...
2022-08-15 21:45:36 474 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人