当前位置: 代码迷 >> 综合 >> Effective java & java 程序性能优化(阅读记录)
  详细解决方案

Effective java & java 程序性能优化(阅读记录)

热度:83   发布时间:2024-01-25 11:31:45.0

1.接口不能有静态方法

2.建造者模式
package ch1;

public class TestBuilder {
private String name;

private int age;

public String getName() {
return this.name;
}

public static class Builder {
private String name;

private int age;

public Builder name(String name) {
this.name = name;
return this;
}

public Builder age(int age) {
this.age = age;
return this;
}

public TestBuilder build() {
return new TestBuilder(this);
}
}

private TestBuilder(Builder builder) {
name = builder.name;
age = builder.age;
}
}


3.单例模式 仅仅被实例化一次的类

第五章:JVM调优

Java虚拟机内存模型:

程序计数器:

Java虚拟机栈:线程私有的内存空间,和Java线程一同创建,它保存方法的局部变量、部分结果,并参与方法的调用和返回。

-Xss10M -Xss10m -Xss10K -Xss10k 栈空间最小108k

-Xss10M -XX:+PrintGCDetails

StackOverFlowError OutOfMemoryError

jclasslib  JMeter

本地方法栈:

Java堆:新生代 老年代
-Xms -Xmx
-Xmn 1/4 - 1/3
-XX:NewSize -XX:MaxNewSize 
-XX:SurvivorRadio=2 
-XX:NewRadio=老年代/新生代
-XX:MinHeapFreeRadio
-XX:TargetSurvivorRadio

方法区:(永生区)保存类的元数据:类的类型信息、常量池、域信息、方法信息。
-XX:PermSize -XX:MaxPermSize 

运行时常量池:

直接内存:

设置线程栈:
-Xss1M