性能优化
MonkeyKing.sun
未来已来,记录现在,验证未来
展开
-
tomcat7性能调优
tomcat的优化分为两块: 1、tomcat启动命令中的优化参数,即JVM优化 2、tomcat容器自身参数的优化tomcat启动参数位于tomcat的安装目录下\bin目录下,liunx是catalina.shJAVA_OPTS=”-server -Xms1400M -Xmx1400M -Xss512k -XX:+AggressiveOpts -XX:+UseBiasedLocking -X原创 2017-12-12 17:08:37 · 410 阅读 · 0 评论 -
《Java虚拟机原理图解》3. JVM类加载器机制与类加载过程
前言 读完本文,你将了解到: 一、为什么说Jabalpur语言是跨平台的 二、Java虚拟机启动、加载类过程分析 三、类加载器有哪些?其组织结构是怎样的? 四、双亲加载模型的逻辑和底层代码实现是怎样的? 五、类加载器与Class 实例的关系 六、线程上下文加载器一、为什么说Java语言是跨平台的? Java语言之所以说它是跨平台的、可以在当前绝大部分的操作系统平台下运行,是因为Ja转载 2017-12-14 16:44:22 · 277 阅读 · 0 评论 -
《Java虚拟机原理图解》2.JVM机器指令集
前言 Java虚拟机和真实的计算机一样,运行的都是二进制的机器码;而我们将.java 源代码编译成.class 文件,class文件便是Java虚拟机能够认识的二进制机器码,Java能够识别class文件中的信息和机器指令,进而执行这些机器指令。那么,Java虚拟机是如何运行这些二进制的机器码的呢? 本文将通过一个非常简单的例子,带你感受一下Java虚拟机运行机器码的过程和其工作的转载 2017-12-14 15:09:05 · 482 阅读 · 0 评论 -
《Java虚拟机原理图解》1.5、 class文件中的方法表集合--method方法在class文件中是怎样组织的
1.概述 方法表集合是指由若干个方法表(method_info)组成的集合。对于在类中定义的若干个,经过JVM编译成class文件后,会将相应的method方法信息组织到一个叫做方法表集合的结构中,字段表集合是一个类数组结构,如下图所示: method方法的描述-方法表集合在class文件中的位置 method方法的描述-方法表集合紧跟在字段表集合的后面,如下图所示: 一个类中的method方法转载 2017-12-14 13:23:08 · 293 阅读 · 0 评论 -
《Java虚拟机原理图解》1.4 class文件中的字段表集合--field字段在class文件中是怎样组织的
1.概述 字段表集合是指由若干个字段表(field_info)组成的集合。对于在类中定义的若干个字段,经过JVM编译成class文件后,会将相应的字段信息组织到一个叫做字段表集合的结构中,字段表集合是一个类数组结构,如下图所示: 注意:这里所讲的字段是指在类中定义的静态或者非静态的变量,而不是在类中的方法内定义的变量。请注意区别。 比如,如果某个类中定义了5个字段,那么,JVM在编译此类的转载 2017-12-13 17:50:27 · 238 阅读 · 0 评论 -
《Java虚拟机原理图解》1.3、class文件中的访问标志、类索引、父类索引、接口索引集合
讲完了class文件中的常量池,我们就相当于克服了class文件中最麻烦的模块了。现在,我们来看一下class文件中紧接着常量池后面的几个东西:访问标志、类索引、父类索引、接口索引集合访问标志、类索引、父类索引、接口索引集合 在class文件中的位置 访问标志(access_flags)能够表示什么? 访问标志(access_flags)紧接着常量池后,占有两个字节,总共16位,如下图所示:当转载 2017-12-13 16:57:33 · 413 阅读 · 0 评论 -
《Java虚拟机原理图解》 1.2 Class文件中的常量池详解
NO1.常量池在class文件的什么位置? 在class文件中的魔数,副版本号、主版本之后,紧接着就是常量池的数据区域,红线包括的位置。NO2.常量池的里面是怎么组织的? 常量池的组织很简单,前端的两个字节占有的位置叫做常量池计数器(constant_pool_count),它记录着常量池的组成元素 常量池项(cp_info) 的个数。紧接着会排列着constant_pool_count-转载 2017-12-13 15:01:35 · 455 阅读 · 1 评论 -
《Java虚拟机原理图解》 1.1、class文件基本组织结构
找一个class文件,用文本工具打开如图所示按照上面的二进制编码,了解他的组成结构 1、魔数 所有的java编译器编译而成的class文件的前四个字节都是OXCAFEBEBE 作用:在JVM在尝试加载某个文件到内存中来的时候,会首先判断此class文件有没有jvm认为可以接受的‘签名’,即jvm会首先读取文件的前四个字节,如果是OXCAFEBEBE,则JVM会认为可以将此文件当作class文件转载 2017-12-13 11:39:29 · 336 阅读 · 0 评论 -
JVM调优的liunx命令
在平时的运维工作中,我们经常会碰到下面这些问题:1、OutOfMemoryError,内存不足 2、内存泄露 3、线程死锁 4、锁争用(Lock Contention) 5、Java进程消耗CPU过高导致服务器CPU或者内存飙高影响线上业务,对于解决以上问题,我们常用的JVM性能调优监控工具有:jps、jstat、jstack、jmap、jhat、hprof、jinfo如果想要查看Java进转载 2017-12-15 13:08:06 · 1087 阅读 · 0 评论