JVM
文章平均质量分 83
Younger成
这个作者很懒,什么都没留下…
展开
-
Java并发线程池
newCachedThreadPool:可复用线程池,线程数量无限制,容易cpu100%,队列并非无界队列,相较而言最不容易出现OOM newFixedThreadPool:固定大小线程池,无边界阻塞队列,容易内存溢出(OOM) newSingleThreadPool:只有一个线程 线程池核心参数: corePoolSize:核心线程数。默认情况下,核心线程会一直存活,但是当将allowCoreThreadTimeout设置为true时,核心线程也会超时回收。 maximumPoolSize:线程原创 2022-02-04 11:00:35 · 223 阅读 · 0 评论 -
JVM类加载机制
一、类运行加载全过程如下图: 其中loadClass的类加载过程如下: 加载->验证->准备->解析->初始化->使用 加载:在硬盘上查找并通过IO读入字节码文件、使用到类时才会加载。例如:调用类的main()方法、new对象等等,在加载阶段会在内存中生存一个代表这个类的java.lang.class对象,作为方法区这个类各种数据的访问入口 验证:校验字节码文件的正确性 准备:给类的静态变量分配内存,并赋予默认值 解析:将符号引用替换为直接引用 初始化:对类的原创 2022-02-02 23:37:56 · 696 阅读 · 0 评论 -
Jvm参数调优一
JVM内存结构: Java内存模型(多线程JMM)---Java内存结构(JVM虚拟机存储空间) Java内存结构 方法区(永久区):static关键字修饰、常量信息 当class文件被加载的时候方法区就会被初始化,方法区会被所有线程共享(注意线程安全问题) 调优问题:web开发,定义太多常量不好,影响内存 jvm参数调优: 1、堆内存初始值和堆内存最大值一定要保持一致(减少垃...原创 2019-06-06 14:36:49 · 556 阅读 · 0 评论