摘要:
转自:https://tech.meituan.com/in_depth_understanding_string_intern.html 深入解析String#intern john_yang ·2014-03-06 17:10 引言 在 JAVA 语言中有8中基本类型和一种比较特殊的类型Stri 阅读全文
2017年9月21日
摘要:
In JDK-6962930[2], it requested that string table size be configurable. The resolved date of that bug was on 04/25/2011 and it's available in JDK 7. I 阅读全文
2017年9月20日
摘要:
Java的性能优化,整理出一篇文章,供以后温故知新。 JVM GC(垃圾回收机制) 在学习Java GC 之前,我们需要记住一个单词:stop-the-world 。它会在任何一种GC算法中发生。stop-the-world 意味着JVM因为需要执行GC而停止了应用程序的执行。当stop-the-w 阅读全文
摘要:
目录(?)[-] 为什么要有Survivor区 为什么要设置两个Survivor区 目录(?)[-] 在我的上一篇博客中,介绍了JVM堆内存的结构以及在堆中进行的GC机制,链接是浅谈JAVA GC机制与性能优化 那么,在JVM的新生代内存中,为什么除了Eden区,还要设置两个Survivor区? 1 阅读全文
摘要:
1、命令基本概述 Jmap是一个可以输出所有内存中对象的工具,甚至可以将VM 中的heap,以二进制输出成文本。打印出某个java进程(使用pid)内存内的,所有‘对象’的情况(如:产生那些对象,及其数量)。 使用方法 jmap -histo pid。如果使用SHELL ,可采用jmap -hist 阅读全文
摘要:
目录(?)[+] 目录(?)[+] 1 背景介绍 与C/C++相比,JAVA并不要求我们去人为编写代码进行内存回收和垃圾清理。JAVA提供了垃圾回收器(garbage collector)来自动检测对象的作用域),可自动把不再被使用的存储空间释放掉,也就是说,GC机制可以有效地防止内存泄露以及内存溢 阅读全文
2017年9月19日
摘要:
前言 JVM GC是JVM的内存回收算法,调整JVM GC(Garbage Collection),可以极大的减少由于GC工作,而导致的程序运行中断方面的问题,进而适当的提高Java程序的工作效率。但是调整GC是以个极为复杂的过程,所以我们要了解JVM内存组成,回收算法,对象分配机制。 JVM 堆内 阅读全文
2017年9月8日
摘要:
锁为什么耗性能: 1. 每个线程在被cpu执行的时候, 都会给这个线程分配一定的时间让这个线程执行, 这段时间不会被信号中断. 2. 在获取锁的时候, 如果竞争很激烈, 这个线程会被挂起, 所以, 如果获取锁的操作很多, 这个线程就会频繁被挂起, 无法利用完cpu分配给它的时间, 时间都浪费 在了c 阅读全文
摘要:
转自: http://www.cnblogs.com/pfan8/p/5010526.html JAVA AQS的全称为(AbstractQueuedSynchronizer),用于JAVA多线程的开发,从名称我们也可以看出,它实现了同步的队列,而这个队列是指线程队列。AQS类在java.util. 阅读全文