前段时间, @陈亮 发现一件怪事, java循环长度的相同、循环体代码相同的两次for循环的执行时间相差了100倍! 有些同学说这是因为GC或者cache missing。但我掐指一算,这些同学可能是错的。 因为,就算空…
分类:JVM
Java和Docker限制的那些事儿
【编者的话】Java和Docker不是天然的朋友。 Docker可以设置内存和CPU限制,而Java不能自动检测到。使用Java的Xmx标识(繁琐/重复)或新的实验性JVM标识,我们可以解决这个问题。 加强Docker容…
HBase 集群监控
为什么需要监控? 为了保证系统的稳定性,可靠性,可运维性。 掌控集群的核心性能指标,了解集群的性能表现。 集群出现问题时及时报警,便于运维同学及时修复问题。 集群重要指标值异常时进行预警,将问题扼杀在摇篮中,不用等集群真…
Instrumentation 新功能
Java SE 6 新特性 Instrumentation 新功能 系列内容: 此内容是该系列的一部分:Java SE 6 新特性 Instrumentation 简介 利用 Java 代码,即 java.lang.in…
Refresh your Java skills--Java中的即时编译(Just-in-time compilation)
Refresh your Java skills–Java中的即时编译(Just-in-time compilation) 因自己在写的关于Java9的新书因为篇幅和读者层次的原因并不能将能想到的东西都写进去,故接下来整…
(转载)Jvm工作原理学习笔记
一、 JVM的生命周期 1. JVM实例相应了一个独立执…
JVM之类的热替换原理解读
一:引言 15年末,正好是Android热修复大火的时候,各种热修复技术从出不穷。 但是其实在服务端,热替换是个老概念了,一点也不新鲜,相比于客户端的各种hook&trick,今天我要说的其实就是JVM原生支持的…
手摸手增加字节码往方法体内插代码
本文动态增加字节码是直接使用的ASM,有关ASM的内容可以看下我之前的一篇文章:ASM 操作字节码初探 话不多说,先看本次想实现怎样的效果: public static class Bazhang { private l…
HashMap工作原理、深入理解JVM、正则
HashMap工作原理: http://www.importnew.com/7099.html; http://blog.csdn.net/ghsau/article/details/16843543; http://b…
JVM 源码分析之 System.currentTimeMillis 及 nanoTime 原理详解
概述 上周@望陶问了我一个现象很诡异的问题,说JDK7和JDK8下的System.nanoTime()输出完全不一样,而且差距还非常大,是不是两个版本里的实现不一样,之前我也没注意过这个细节,觉得非常奇怪,于是自己也在本…
构建Java Agent,而不是使用框架
Java annotations自从被引入到Java之后,一直扮演着整合各种API的作用,尤其是对大型应用框架而言。在这方面,Spring和Hibernate都是Java annotation应用的好例子——仅仅需要增加…
浅析WeakHashMap
在Java或者是Android编程中,我们一般都会使用到Map,比如HashMap这样的具体实现。更高级一点,我们可能会使用WeakHashMap。 WeakHashMap其实和HashMap大多数行为是一样的,只是We…