![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM
文章平均质量分 73
Rhenic
Java学习者
展开
-
Java IO(NIO、AIO)代码演示
5、Java IO5.1、NIO服务端代码服务端接受客户端发送的消息输出,并给客户端发送一个消息 //创建多路复用选择器Selector Selector selector=Selector.open(); //创建一个通道对象Channel,监听9001端口 ServerSocketChannel channel = ServerSocketChannel.open().bind(new InetSocketAddress(9001));原创 2022-05-12 15:21:38 · 402 阅读 · 0 评论 -
3、垃圾回收(CMS、G1、检查算法、回收方法、GC)
3、垃圾回收 (发生在堆和方法区中)3.1、典型垃圾回收器CMS简介 以获取最短回收停顿时间为目标的收集器,它是一种并发收集器,采用的是 Mark-Sweep 算法。场景 如果你的应用需要更快的响应,不希望有长时间的停顿,同时你的 CPU 资源也比较丰富,就适合适用 CMS 收集器。垃圾回收步骤:初始标记 (Stop the World 事件 CPU 停顿, 很短) 初始标记仅标记一下 GC Roots能直接关联到的对象,速度很快;并发标记 (收集垃圾跟用户线程一起执行) 并发标记过程就原创 2022-05-08 08:33:11 · 584 阅读 · 0 评论 -
2、Java 类加载机制(过程)、双亲委派机制
2、Java 类加载机制(多理解)2.1 类的加载方式类加载分为动态加载和静态加载。动态加载是从外存储器中加载类,一般类加载机制分析的也是动态加载。而静态加载本质上是从内存中创建类的实例对象,此时类已经被加载到内存中。一.静态加载通过new关键字来创建Test的实例对象。二.动态加载通过Class.forName()来加载类,然后调用类的newInstance()方法实例化对象。通过类加载器的loadClass()方法来加载类,然后调用类的newInstance()方法原创 2022-05-07 09:10:36 · 806 阅读 · 0 评论 -
1、Java 内存结构
1、Java 内存结构1.1、Java 内存模型堆 由线程共享,存放 new 出来的对象,是垃圾回收器的主要工作区域。栈 线程私有,分为 Java 虚拟机栈和本地方法栈,存放局部变量表、操作栈、动态链接、方法出口等信息,方法的执行对应着入栈到出栈的过程。方法区 线程共享,存放已被加载的类信息、常量、静态变量、即时编译器编译后的代码等信息,JDK 1.8 中方法区被元空间取代,使用直接内存。本地方法栈:Native关键字,凡是被Native修饰的方法,都会去调用底层的C语言的库,会调用JN原创 2022-05-07 09:10:21 · 5424 阅读 · 2 评论