java
文章平均质量分 63
java基础及进阶
James_si
这个作者很懒,什么都没留下…
展开
-
java-JUC多线程
异步创建线程的四种方式线程池线程池的7大参数工作流程拒绝策略创建线程的四种方式继承Thread实现Runnable接口实现Callable接口 + FutureTask(可以拿到返回结果, 可以处理异常)线程池线程池工作中实际基本上都是使用线程池, 限制资源被无限使用而把资源消耗尽.线程池的7大参数corePoolSize: 默认情况下,在创建了线程池后,线程池中的线程数为0,当有任务来之后,就会创建一个线程去执行任务,当线程池中的线程数目达到corePoolSize后,就会把到达的原创 2021-12-05 23:31:16 · 233 阅读 · 0 评论 -
Jvm-常用参数设置及案例
jvm常用参数常用参数如何设置参数案例分析案例1-每日百万的支付系统反面案例常用参数-Xms: java堆内存大小-Xmx: java堆内存最大大小-Xmn: java堆内存中新生代大小, 扣除新生代剩下的就是老年代-XX:PermSize: 永久代大小-XX:MaxPermSize: 永久代最大大小-Xss: 每个线程的栈内存大小-XX:MaxTenuringThreshold: 多少岁进入老年代, 默认是15岁-XX:PretenureSizeThreshold: 大对象直接进入老年原创 2021-06-02 10:55:53 · 476 阅读 · 0 评论 -
Jvm-分代模型
分代模型分代模型都有哪些永久代什么时候可以被回收?对象在分代模型中如何分配流转?垃圾回收划分为新生代和老年代的好处是方便垃圾回收, 不同的对象存在不同的区域, 方便垃圾回收器用不同的算法进行快速回收.分代模型都有哪些新生代: 堆内存中老年代: 堆内存中永久代: 永久代就是方法区永久代什么时候可以被回收?该类的所有实例都应经在堆内存中被回收加载这个类的ClassLoader已经被回收该类的Class对象没有任何引用满足以上三点, 永久代的类就可以被回收对象在分代模型中如何分配流转原创 2021-05-31 15:18:37 · 77 阅读 · 0 评论 -
Jvm-内存区域
内存区域jvm都有哪些内存区域, 都是干嘛的存放类的方法区程序计数器虚拟机栈栈帧堆内存本地方法区堆外内存jvm都有哪些内存区域, 都是干嘛的存放类的方法区jdk1.8之前叫方法区, jdk1.8及以后, 叫元数据区域Metaspace存放加载过来的类常量池程序计数器用来记录当前线程执行到了哪一行指令.虚拟机栈当前线程执行的方法的存放记录变量等栈帧线程执行了一个方法, 就会对方法调用创建一个栈帧, 栈帧包含以下信息局部变量表操作数栈动态链接方法出口堆内存存放局部变量及原创 2021-05-31 11:20:15 · 48 阅读 · 0 评论 -
Jvm-类加载
类加载类加载7个过程什么时候加载类类加载器和双亲委派机制类加载器双亲委派机制类加载7个过程加载验证: 验证.class文件是否符合规范准备: 给类分配内存空间, 给类变量(static)初始化值如, int初始化为0.解析: 符号引用转换为直接引用初始化: static代码块执行, 类变量, 成员变量赋值使用卸载什么时候加载类按需加载new父类main方法的类类加载器和双亲委派机制类加载器启动类加载器Bootstrap ClassLoader, 加载java下lib原创 2021-05-31 10:35:03 · 45 阅读 · 0 评论