- 博客(5)
- 收藏
- 关注
转载 一位资深程序员大牛给予Java初学者的学习路线建议
Java学习这一部分其实也算是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是你是如何学习Java的,能不能给点建议?今天我是打算来点干货,因此咱们就不说一些学习方法和技巧了,直接来谈每个阶段要学习的内容甚至是一些书籍。这一部分的内容,同样适用于一些希望转行到Java的同学。 在大家看之前,我要先声明两点。1、由于我本人是Java后端开发出身,因此所推荐的学习内容是Java W
2018-01-05 10:07:30 193
原创 应该会点JVM(四)
强、软、弱、虚引用 java引用 因为我们需要实现这样一种情况,当内存足够的时候,继续保留,内存空间不够的后则可以回收。 强引用 只要强引用还在,被引用的对象不会被回收 软引用 系统将要发生内存溢出异常之前,会回收软引用的对象,如果回收后还没有足够的内存,抛出内存溢出异常 使用SoftReference类,将要软引用的对象最为参数传
2018-01-04 12:00:32 160
原创 应该会点JVM(三)
锁的优化 锁的四种状态(从低到高,只能升级不能降级) 无锁状态 偏向锁状态 轻量级锁状态 重量级锁状态 自旋锁和自适应自旋 同步互斥的时候会造成线程阻塞,而挂起线程和恢复线程需要转入内核态中完成 有时候往往共享数据的锁定状态只会持续很短一段时间,那么如果此时将互斥的线程挂起,等待下一次获得锁再恢复线程,这样的话效率不高 那么可以不讲线程立即挂起,而是让他自旋(循环)等
2018-01-04 11:15:49 151
原创 应该会点JVM(二)
垃圾收集器与内存分配策略 为什么学习垃圾收集? 看起来jvm好像一切帮你做好,但是当垃圾收集成为系统达到更高并发量的瓶颈时,我们就需要对这种自动化的技术进行监控和调节。 垃圾回收区域 虚拟机栈,本地方法栈,程序计数器是线程私有的,和线程同生共死,当线程销毁时,内存自然回收,所以这部分不是考虑的重点。 所以研究重点应该在方法区和堆,而方法区的回收效率较低,重点在堆。 引用计数
2018-01-04 10:15:13 183
原创 应该会点JVM(一)
JVM内存区域和溢出 先上图 JVM的每个实例都有一个它自己的方法域和一个堆,运行于JVM内的所有的线程都共享这些区域;当虚拟机装载类文件的时候,它解析其中的二进制数据所包含的类信息,并把它们放到方法域中;当程序运行的时候,JVM把程序初始化的所有对象置于堆上;而每个线程创建的时候,都会拥有自己的程序计数器和java栈,其中程序计数器中的值指向下一条即将被执行的指令,线程的Java
2018-01-02 16:33:26 146
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人