jvm
sam-123
这个作者很懒,什么都没留下…
展开
-
jvm参数类型
一、标准参数:-help-server-client-showversion-cp-classpath举例:java -version 二、X参数X参数是非标准的参数-Xint:解释执行-Xcomp:第一次使用就编译成本地代码-Xmixed:混合模式,jvm自己来决定是否编译成本地代码。平时我们java -version看到的mixed ...原创 2018-09-02 12:04:17 · 1122 阅读 · 4 评论 -
从jvm字节码看String+字符串拼接为什么效率低
在我们的常识里面,用String的+符号的时候,效率会很低,建议使用String builder,那是为什么呢?这次我们通过一个小demo的jvm字节码来分析,首先是demo:public class TestStringAdd { public static void f1() { String src = ""; for(int i=0;i<10...原创 2018-11-19 19:11:36 · 380 阅读 · 0 评论 -
java代码优化笔记
本文列举java开发中代码优化的一些方法。尽量重用对象,不要循坏创建对象,比如:for循环字符串拼接在这篇文章里面介绍了为什么不能循环拼接字符串对象。容器类初始化的时候指定长度例如map和list,如果我们知道我们的数据量有多大,我们最好一开始的时候就指定长度,因为这些list和map在扩容的时候,会做一些例如数据复制的动作或者重新hash的复杂动作,影响效率。先说arraylist,它...原创 2018-11-22 10:35:49 · 245 阅读 · 0 评论 -
jvm字节码解析i++和++
i++和++i是编码中比较常用的代码,并且也是初学者容易混淆的。我们知道i++是先赋值再+自己,而++i是先+自己再赋值。为什么是这样呢?他们之间效率对比又是怎么样呢?本文我们从字节码层面来分析。前面的文章介绍过了jvm字节码的基本知识还有如何分析字节码,我们现在还是写个小demopublic class TestSelfAdd { public static void f1() {...原创 2018-11-19 10:27:39 · 308 阅读 · 0 评论 -
字符串常量
前面我们介绍过字符串拼接的时候效率比较低,建议使用Stringbuilder。那么有没有一种情况,字符串拼接的时候,不会降低效率呢,这里我们介绍字符串常量。先看一个demo:public class Constant { public static void f1() { final String x="hello"; final String y=x+"...原创 2018-11-20 22:43:53 · 3656 阅读 · 0 评论 -
try return finally字节码解析
我们经常会遇到一个问题,try 里面return了,finally还会执行吗?例如下面一个例子:public class TryFinally { public static void main(String[] args) { System.out.println(f1()); } public static String f1() { ...原创 2018-11-20 17:25:43 · 293 阅读 · 0 评论 -
jvm字节码浅析
本文通过一个简单的例子,分析jvm字节码的一些基本的概念。例子:public static void main(String args) { int a=2; int b=3; int c = a + b; System.out.println(c); }将它编译为class文件,通过javap查看字节码并输出到Test.txt里面:javap -verbose Test...原创 2018-11-18 21:39:20 · 272 阅读 · 0 评论 -
jvm层gc调优
jvm的内存结构运行时数据区运行时数据区有:方法区、虚拟机栈、本地方法栈、堆、程序计数器计数器pc register垃圾回收算法垃圾收集器可视化gc日志分析工具Tomcat的gc调优实战...原创 2018-11-07 15:20:52 · 1365 阅读 · 0 评论 -
jvm常用的命令行工具
一、jinfojinfo可以查看设置的jvm的信息,jinfo -flag MaxHeapSize [pid] 能够查看最大堆内存jinfo -flag ThreadStackSize [pid] jinfo -flags [pid]jinfo -flag UseConcMarkSweepGC [pid]jinfo -flag UseG1GC [pid]jinfo...原创 2018-09-02 22:48:54 · 7498 阅读 · 0 评论 -
G1 收集器介绍
来源:https://blog.csdn.net/u013542440/article/details/79358071 G1收集器一. 名词解释MetaSpace 在Java8之后取代永久代方法区的内存部分,NativeMemoryMixed GC Event 所有Young Region和一部分Old Region的混合GC时间。...转载 2018-11-26 11:49:33 · 1862 阅读 · 0 评论