代码改变世界

JVM调优命令-jmap

2017-09-22 11:12 by 钰火, 38572 阅读, 0 推荐, 收藏, 编辑
摘要:jmapJVM Memory Map命令用于生成heap dump文件,如果不使用这个命令,还可以使用-XX:+HeapDumpOnOutOfMemoryError参数来让虚拟机出现OOM的时候自动生成dump文件。 jmap不仅能生成dump文件,还可以查询finalize执行队列、Java堆和永久代的详细信息,如当前使用率、当前使用的是哪种收集器等。【内存分析】1234567891011121... 阅读全文

细说方法区

2017-09-21 11:59 by 钰火, 4562 阅读, 0 推荐, 收藏, 编辑
摘要:引文 JDK7及之前版本的方法区(Method Area)和Java堆一样,是各个线程共享的内存区域,用于存储已经被虚拟机加载的类信息、常量、静态常量、即时编译器编译后的代码等数据。虽然Java虚拟机规范把方法区描述为堆的一个逻辑部分,但它有另外一个名字叫Non-Heap(非堆)。根据Java虚拟机规范的规定,当方法区无法满足内存分配需求时,将抛出OutOfMemoryError异常。细分 ... 阅读全文

JVM调优命令-jstat

2017-09-21 11:38 by 钰火, 6202 阅读, 0 推荐, 收藏, 编辑
摘要:JVM Statistics Monitoring Tool,是用于监视虚拟机运行时状态信息的命令,它可以显示出虚拟机进程中的类装载、内存、垃圾收集、JIT编译等运行数据。【性能分析】命令格式1jstat [options] VMID [interval] [count]参数[options] : 操作参数,一般使用 -gcutil 查看gc情况VMID : 本地虚拟机进程ID,即当前运行的jav... 阅读全文

JVM调优命令-jps

2017-09-21 11:29 by 钰火, 404 阅读, 0 推荐, 收藏, 编辑
摘要:JVM Process Status Tool,显示指定系统内所有的HotSpot虚拟机进程。命令格式1jps [options] [hostid]options参数-l : 输出主类全名或jar路径-q : 只输出LVMID-m : 输出JVM启动时传递给main()的参数-v : 输出JVM启动时显示指定的JVM参数其中[options]、[hostid]参数也可以不写12345678[roo... 阅读全文

细说虚拟机栈

2017-09-21 10:37 by 钰火, 4863 阅读, 1 推荐, 收藏, 编辑
摘要:引文 对JVM不了解的请先访问文章《Java虚拟机运行时数据区》,相信会让你大致了解各个内存区域的对应功能。接着,我们开始细说虚拟机栈 前文中说到:“虚拟机栈是线程私有的,每创建一个线程,虚拟机就会为这个线程创建一个虚拟机栈,虚拟机栈表示Java方法执行的内存模型,每调用一个方法就会为每个方法生成一个栈帧(Stack Frame),用来存储局部变量表、操作数栈、动态链接、方法出口等信... 阅读全文

JVM运行时数据区

2017-09-21 10:20 by 钰火, 450 阅读, 0 推荐, 收藏, 编辑
摘要:java虚拟机运行时数据区,具体分为如下几个区域程序计数器(Program Counter Register) 程序计数器是一块很小的内存区域,存储了下一条需要执行的字节码指令的地址,此处的地址可以是一个本地指针,也可以是在方法区中相对应于该方法起始指令的偏移量。每个线程都有独立的程序计数器(PCR),在线程启动时会创建,多线程切换时可以恢复每一个线程的当前执行位置,所以线程之间不会相互影响... 阅读全文

JVM垃圾收集器

2017-09-20 11:04 by 钰火, 376 阅读, 0 推荐, 收藏, 编辑
摘要:1.垃圾回收器类型1.串行垃圾回收器(Serial Garbage Collector)2.并行垃圾回收器(Parallel Garbage Collector)3.并发标记扫描垃圾回收器(CMS Garbage Collector)4.G1垃圾回收器(G1 Garbage Collector)1.串行垃圾回收器(Serial Garbage Collector)串行垃圾回收器通过持有应用程序所有... 阅读全文

JVM垃圾回收算法

2017-09-20 11:03 by 钰火, 892 阅读, 0 推荐, 收藏, 编辑
摘要:1.堆的分代和区域(年轻代)Young Generation(eden、s0、s1 space) Minor GC(老年代)Old Generation (Tenured space) Major GC|| Full GC(永久代)Permanent Generation (Permanent space)【方法区(method area)】 Major GC本地化的Str... 阅读全文

RabbitMQ安装

2017-08-29 16:41 by 钰火, 448 阅读, 0 推荐, 收藏, 编辑
摘要:1.相关知识了解前文中讲到,RabbitMQ是用Erlang实现的,所以安装RabbitMQ之前,先配置Erlang。RabbitMQ和Erlang / OTP版本兼容性在官网查看http://www.rabbitmq.com/which-erlang.html 本次下载的是RabbitMQ3.6.11版本,所以在Erlang官网http://www.erlang.org/downloads下载2... 阅读全文

RabbitMQ入门介绍

2017-08-28 12:12 by 钰火, 291 阅读, 0 推荐, 收藏, 编辑
摘要:1.关于AMQP协议 AMQP,即Advanced Message Queuing Protocol,一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件不同产品,不同的开发语言等条件的限 阅读全文