
Java
java语言特性以及jvm
赤天青云
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
JMM理解整理
java内存模型JMM理解整理 什么是JMM JMM即为JAVA 内存模型(java memory model)。因为在不同的硬件生产商和不同的操作系统下,内存的访问逻辑有一定的差异,结果就是当你的代码在某个系统环境下运行良好,并且线程安全,但是换了个系统就出现各种问题。Java内存模型,就是为了屏蔽系统和硬件的差异,让一套代码在不同平台下能到达相同的访问结果。JMM从java 5开始的JSR-133发布后,已经成熟和完善起来。 内存划分 JMM规定了内存主要划分为主内存和工作内存两转载 2020-05-27 16:44:35 · 346 阅读 · 0 评论 -
HashCode&identityHashCode与偏向锁
hashCode我们知道在Java中,一切对象都继承自java.lang.Object类。这个类中有一个可继承的方法叫hashCode()。它在Object类中的方法签名是这样的:public native int hashCode();可以看到,如果一个对象不覆盖这个方法,那它会继承Object类的实现,是一个native的方法。这个时候,它会根据对象的内存地址返回哈希值。所以我...转载 2020-05-06 15:34:13 · 1242 阅读 · 1 评论 -
ArrayList、LinkedList、Vector、HashSet、Treeset、HashMap、TreeMap的区别和适用场景
ArrayList与LinkedList的区别和适用场景Arraylist:优点:ArrayList是实现了基于动态数组的数据结构,因为地址连续,一旦数据存储好了,查询操作效率会比较高(在内存里是连着放的)。缺点:因为地址连续,ArrayList要移动数据,所以插入和删除操作效率比较低。LinkedList:优点:LinkedList基于链表的数据结构,地址是任意的,所...转载 2020-05-05 10:53:20 · 1695 阅读 · 0 评论 -
数据库事务和四种隔离级别
面向对象(Object Oriented,OO)是软件开发方法。面向对象的概念和应用已超越了程序设计和软件开发,扩展到如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。面向对象是一种对现实世界理解和抽象的方法,是计算机编程技术发展到一定阶段后的产物。面向对象的三大特性是"封装、"多态"、"继承"六大原则是"单一职责原则"、"开放封闭原则...转载 2020-05-04 20:09:41 · 298 阅读 · 0 评论 -
一针见血系列: 一句话理解什么是happens-before
在程序运行过程中,所有的变更会先在寄存器或本地cache中完成,然后才会被拷贝到主存以跨越内存栅栏,此种跨越序列或顺序称为happens-before。注:happens-before本质是顺序,重点是跨越内存栅栏通常情况下,写操作必须要happens-before读操作,即写线程需要在所有读线程跨越内存栅栏之前完成自己的跨越动作,其所做的变更才能对其他线程可见。...转载 2020-04-27 12:06:11 · 428 阅读 · 0 评论 -
Java虚拟机:GC算法深度解析
版权声明:本文为博主原创文章,转载请注明出处,欢迎交流学习! 在前面的文章里介绍了可达性分析算法,它为我们解决了判定哪些对象可以回收的问题,接下来就该我们的垃圾收集算法出场了。不同的垃圾收集算法有各自不同的优缺点,在JVM实现中,往往不是采用单一的一种算法进行回收,而是采用几种不同的算法组合使用,来达到最好的收集效果。接下来详细介绍几种垃圾收集算法的思想及发展过程。 ...转载 2020-04-27 12:04:59 · 112 阅读 · 0 评论 -
jvm栈深度理解
什么是java栈深度?java栈深度有什么用?我们知道java栈是java虚拟机的一个重要的组成部分,在栈里进行线程操作,存放方法参数等等。栈在初始化过后是有一定的大小的。public class Test{private int count = 0;public void testAdd(){count ++;...转载 2020-04-27 12:03:34 · 1090 阅读 · 0 评论 -
深入理解JVM
1 CPU和内存的交互了解jvm内存模型前,了解下cpu和计算机内存的交互情况。【因为Java虚拟机内存模型定义的访问操作与计算机十分相似】有篇很棒的文章,从cpu讲到内存模型:什么是java内存模型在计算机中,cpu和内存的交互最为频繁,相比内存,磁盘读写太慢,内存相当于高速的缓冲区。但是随着cpu的发展,内存的读写速度也远远赶不上cpu。因此cpu厂商在每颗cpu上加上高速缓存...转载 2020-04-27 11:58:06 · 343 阅读 · 0 评论