
Java 相关
文章平均质量分 52
youlong699
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java 初始化顺序问题
初始化:静态先于非静态,父类先于子类,字段先于构造函数。论证程序如下:[code="java"]package kxq;public class Clazz4StaticInitializeTest extends Super4StaticInitializeTest{ static { System.out.println("Static initialize")...原创 2010-10-04 20:54:34 · 117 阅读 · 0 评论 -
jvm 学习随手记
· 几个内存控制参数: -XX:PermSize=96m perm 区初始大小,用来装载类信息 -XX:MaxPermSize=128m perm区最大值 -XX:NewRatio=1 tenured区与young区的比值 -XX:+DisableExplicitGC 禁用System.gc(), 代码显式调用将被忽略 · ...原创 2013-02-23 18:08:00 · 129 阅读 · 0 评论 -
JVM 学习问题记录帖
· 通过jinfo pid 查看eclipse的jvm启动参数报错:google得知这是由于openjdk内部版本不一致导致的,然后到oracle官方下载新版本jdk重新安装之解决D:\dev-tools\Java\jdk1.6.0_32\bin>jinfo 6692Attaching to process ID 6692, please wait...E...原创 2013-02-04 18:53:49 · 159 阅读 · 0 评论 -
static static final 与 static 语句块
由 bluedavy 的一篇博客展开· <clinit>是由编译器收集static 字段、static 语句块生成的静态初始化方法, 虚拟机在初始化类的时候负责执行,并且父类先于子类;jvm负责加锁同步多个企图并发初始化一个类的调用 。正是由于这里对<clinit>的隐含加锁,导致了B大帖子里死锁现象的产生。类的初始化问题可以见《深入jvm虚拟...原创 2013-04-22 14:17:02 · 208 阅读 · 0 评论 -
一段打印堆栈的java代码
import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.io.Writer; import java.lang.management.ManagementFa...原创 2013-04-05 22:59:28 · 175 阅读 · 0 评论 -
String.valueOf(int) vs int + ""
在需要将一个数字类型变量转换得到String 时,经常使之与空字符串连接: int i = 100 ;String str = i+"" ;另外, 还有:String str1 = String.valueOf(i) ;String str2 = Integer.toString(i) ;两种语法。 其中String.valueOf 会调用Integer.toStri...原创 2013-04-05 21:48:44 · 416 阅读 · 0 评论 -
一个cmsgc 频繁问题的排查
现象:一个平时运行2小时的任务,突然一天还没跑完,看系统cpu、load都不算高,接口监控发现rt从平时几ms到几十ms增加到了几千ms。 起初怀疑线程被阻塞了,然后top -p -H查看线程,返现有一个运行时间远远大于其他线程,jstack 查找发现是cmsgc 线程。 于是jstat -gcutil ,吓了一跳 eden、old全都是100%, fullgc 几千次了。。。。 ...原创 2013-04-05 21:04:20 · 255 阅读 · 0 评论 -
gc 问题理解
定义计时单位t,一般对象的寿命从1t到10t不等,长对象为mt不死,对象大小均为s,内存空间大小es,s0s,s1s,os,ps 。单位时间产生不同生命周期的对象为……,那么假设5t时es填满,根据对象的寿命及生成时间点,有些对象被清除,剩余进入s0s。假设对象生成是匀速的,gc周期也就基本固定,在多次gc后,s区填满,高龄对象进入old区这样一来,影响内存使用的因素就比较明确了:…… ...原创 2013-03-10 14:51:46 · 121 阅读 · 0 评论 -
btrace 源码工程构建
btrace 源代码由Mercurial管理。mercurial 是分布式版本控制工具。所谓分布式就在每个终端都会维护一个完整的版本库,多人协作可以指定一个库作为中心库,所有人通过该库实现协作。大体的工作流程是,首先,从一个中心库拷贝一份生成本地库,然后从本地库拷贝一份作为工作副本,对工作副本进行编辑操作;工作副本与本地库交互,然后本地库与远程库交互。 btrace源码: ht...原创 2013-03-09 16:53:04 · 220 阅读 · 0 评论 -
性能学习笔记
http://blog.sina.com.cn/s/blog_71ad0d3f01019uzl.html Linux 性能测试与分析原创 2013-08-23 09:34:55 · 156 阅读 · 0 评论