Java虚拟机内存模型及垃圾回收监控调优
如果你想理解Java垃圾回收如果工作,那么理解JVM的内存模型就显的非常重要。今天我们就来看看JVM内存的各不同部分及如果监控和实现垃圾回收调优。JVM内存模型
正如你上图所看到的,JVM内存可以划分为不同的部分,广义上,JVM堆内存可以划分为两部分:年轻....
分类:
编程语言 时间:
2014-05-19 21:09:31
阅读次数:
337
【线上维护的资料】中供JVM Crash命令列表top -H -b -n 1 -p
$pidecho "ibase=10;obase=16;$pid" | bcgrep xx jstack.logps auxf | grep
$gidnetstat -nal | grep 1521lsof -i:1...
分类:
其他好文 时间:
2014-05-19 09:59:30
阅读次数:
420
一、更改jdk默认编码为UTF-8,保证启动的JVM不会出现中文乱码问题
1、在编译的时候,如果我们没有用 -encoding
参数指定我们的JAVA源程序的编码格式,则javac.exe首先获得我们操作系统默认采用的编码格式。JDK首先获得操作系统的file.encoding参数(它保存的就是操....
分类:
系统相关 时间:
2014-05-19 08:38:25
阅读次数:
439
前两天遇到这么一个问题, 64G内存服务器上面, -Xmx4096m 可以启动,
但是-Xmx2048却不能启动,怪哉怪哉,好不容易找到一篇文章, 有点意思
分类:
其他好文 时间:
2014-05-19 08:01:22
阅读次数:
321
在jvm规范中,每个类型都有自己的常量池。常量池是某类型所用常量的一个有序集合,包括直接常量(基本类型,String)和对其他类型、字段、方法的符号引用。之所以是符号引用而不是像c语言那样,编译时直接指定其他类型,是因为java是动态绑定的,只有在运行时根据某些规则才能确定具体依赖的类型实例,这正是...
分类:
其他好文 时间:
2014-05-18 21:29:25
阅读次数:
423
本文将由浅入深详细介绍Java内存分配的原理,以帮助新手更轻松的学习Java。这类文章网上有很多,但大多比较零碎。本文从认知过程角度出发,将带给读者一个系统的介绍。进入正题前首先要知道的是Java程序运行在JVM(Java
Virtual Machine,Java虚拟机)上,可以把JVM理解成Jav...
分类:
编程语言 时间:
2014-05-18 20:31:20
阅读次数:
530
在一个类编译完成之后,下一步就需要开始使用类,如果要使用一个类,肯定离不开JVM。在程序执行中JVM通过装载,链接,初始化这3个步骤完成。类的装载是通过类加载器完成的,加载器将.class文件的二进制文件装入JVM的方法区,并且在堆区创建描述这个类的java.lang.Class对象。用来封装数据。...
分类:
编程语言 时间:
2014-05-18 19:36:27
阅读次数:
350
JVM加载class文件的原理机制1.Java中的所有类,必须被装载到jvm中才能运行,这个装载工作是由jvm中的类装载器完成的,类装载器所做的工作实质是把类文件从硬盘读取到内存中2.java中的类大致分为三种:
1.系统类 2.扩展类 3.由程序员自定义的类3.类装载方式,有两种 1.隐式装载, ...
分类:
其他好文 时间:
2014-05-18 19:23:57
阅读次数:
354
进程:一个正在执行的程序。线程:就是进程中一个独立的控制单元,线程在控制进程的执行,一个进程中至少有
一个线程。主线程:JVM启动的时候会有一个进程java.exe,该进程中至少有一个负责java程序的执行
而且这个线程运行的代码存在于main方法中,该线程称之位主线程。创建线程的方式有两种:...
分类:
编程语言 时间:
2014-05-17 20:21:26
阅读次数:
328
今天使用JBoss服务器,它的端口被占用了,因此总是发生JVM的端口冲突的异常,但我又不知道到底是哪位大仙在这个8080端口上作怪,怎么办呢,下面提供一种简单可行的方法1.
检测端口是否被占用:(命令行) netstat -an2. 查看各端口上的服务:(命令行) fport // 这时我检测到我的...