
JVM
文章平均质量分 84
sdw360
这个作者很懒,什么都没留下…
展开
-
个人常用JVM指令---待补充
指令码 助记符 说明0X00 nop 啥也不干0X01 aconst_null ...原创 2014-08-20 20:32:16 · 101 阅读 · 0 评论 -
JVM 使用参数
一般情况下,我们默认安装的JDK在运行一个java程序理想状态下是不会出现OOM等问题的。所以我没必要去配置一些JVM参数。但是当我们遇到OOM等一些性能问题时,配置JVM参数就成了我们制胜的法宝。 最为大家熟知的想必就是-Xms与-Xmx(-XX:InitialHeadSize/-XX:MaxHeapSize)这俩个设置堆的初始和最大大小的参数。当然我们大多数时候我们为了避...原创 2014-09-08 23:21:05 · 139 阅读 · 0 评论 -
常用性能调试手段
一、CPU负载过高步骤一:先利用top查找占用cpu最高的进程pid 步骤二: top -H -p pid查看耗时较长、占用CPU资源较多的线程 找出其对应的tid或ps H -eo user,pid,ppid,tid,time,%cpu,cmd --sort=%cpu 步骤三:通过jstack打印堆栈日志 查找对应线程的方法栈信息需将上步骤找...原创 2015-07-08 12:05:45 · 174 阅读 · 0 评论 -
初识Java GC
在Java中,对象内存的分配与回收是依靠自动运行在JVM中的Garbage Collection线程来完成。Java不像C、C++还需要为内存回收写代码,这也是java在这么多语言中比较独树一帜的特点。 了解java回收器,首先我们先来区分一下java中比较重要的几个专业术语,像JDK、JVM、JRE、HotSpot VM,除此在外,了解JVM的结构和java堆内存结构也是必不可...原创 2014-10-19 11:27:02 · 119 阅读 · 0 评论 -
Open JDK 源码结构
HotSpot VM(Oracle JDK 6/Oracle JDK 7/OpenJDK 6/OpenJDK 7) 他们的源码结构基本都差不多├─agent Serviceability Agent的客户端实现├─make 用来build出HotSpot的各种配置文件├─s...原创 2014-11-10 09:55:26 · 103 阅读 · 0 评论 -
转 java Thread state分析
jstack dump日志文件中的线程状态dump 文件里,值得关注的线程状态有:死锁,Deadlock(重点关注) 执行中,Runnable 等待资源,Waiting on condition(重点关注) 等待获取监视器,Waiting on monitor entry(重点关注)暂停,Suspended对象等待中,Object.wai...原创 2014-11-20 15:20:58 · 221 阅读 · 0 评论 -
5个java程序员应该掌握的JDK工具
当我们打开java的按照路径,我们会在JAVA_HOME/bin/下发现jdk已经 捆绑了许多工具。毫无疑问,java.exe和javac.exe被所有的java开发者使用,也是最受欢迎的两个工具。但是其中的大部分工具对于普通的开发者来说,很少被临幸了。但是如果我们有效的使用这些工具,将会大大缩减我们的开发时间。 以下是对java se 8JDK的工具们的一个合影,作为一枚爪哇人 ,...原创 2014-11-21 15:47:10 · 207 阅读 · 0 评论 -
转 源码剖析sun.misc.Unsafe && Compare And Swap(CAS)操作
首先介绍一下什么是Compare And Swap(CAS)?简单的说就是比较并交换。CAS 操作包含三个操作数 —— 内存位置(V)、预期原值(A)和新值(B)。如果内存位置的值与预期原值相匹配,那么处理器会自动将该位置值更新为新值。否则,处理器不做任何操作。无论哪种情况,它都会在 CAS 指令之前返回该位置的值。CAS 有效地说明了“我认为位置 V 应该包含值 A;如果包含该值,则将 B...原创 2014-12-10 09:15:39 · 113 阅读 · 0 评论