Java
白小先生
健身、投资、Coding。个人微信公众号:白小先生(zerogeek).
展开
-
GC基本原理学习(Garbage Collected)
引言Java的内存动态分配和垃圾收集的问题,都交给了JVM来处理。意注,将JVM运行数据区(虚拟机栈【栈帧】,程序计数器,堆内存)粗略的分为栈和堆(所有线程共享),回收的是堆中的对象实例。不是栈中的引用类型。 那么JVM是如何处理的? 从三个问题来分析: 1. 哪些内存需要回收? 2. 什么时候进行回收? 3. 如何回收? 注:现代收集器基本采用分代收集算法,堆分为:新生代和老年代原创 2015-08-27 11:29:17 · 1628 阅读 · 0 评论 -
从Zero学习String源码
源码版本:JDK_1.7.0_55String的常用方法public final class String //注意final implements java.io.Serializable, Comparable<String>, CharSequence { //保证只能初始化一次,用字符数组来存 private final char value[]; // 存储h原创 2015-09-09 10:09:47 · 366 阅读 · 0 评论 -
join()之让线程按顺序执行
Thread中的join()主线程创建并启动子线程,如果子线程中要进行大量的耗时运算,主线程往往将在子线程运行结束前结束。如果主线程想等待子线程执行完成后再结束(如,子线程处理一个数据,主线程需要取到这个值),则需要用到join()。作用是:等待线程对象销毁。join()在内部使用wait()方法进行等待,sychronized使用“对象监视器”原理。使所属的线程A正常执行run(),而当前线原创 2015-08-24 15:01:57 · 3188 阅读 · 3 评论 -
Java代码质量小结
代码质量小结根据Sonar修改代码的小结主要结合 Sonar的规则和目前项目中的代码来分析目录代码质量小结目录Bug与漏洞1. 给基本数据类型赋值前应该先做强制类型转换2. 使用float和double的注意事项3. if语句的判断条件不应该是一个确定值性能提升1.数组的复制建议使用System.arraycopy()2.字符串转为基本数据类型的推荐用...原创 2018-04-18 21:17:52 · 1497 阅读 · 0 评论