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

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

发布了58 篇原创文章 · 获赞 1 · 访问量 2197

猜你喜欢

转载自blog.csdn.net/qq_37769323/article/details/104017695
今日推荐