Java基础
文章平均质量分 55
闭着眼睛听风声
这个作者很懒,什么都没留下…
展开
-
JVM垃圾收集器
JVM垃圾收集器1、Serial系列:Serial+Serial old(搭配使用)Serial:年轻代的单线程垃圾回收器,采用的是复制算法,cpu的使用效率较低,GC时停顿时间较长。Serial ld:老年代的单线程垃圾回收器,采用的是标记整理算法,cpu的使用效率较低,GC时停顿时间较长。2、Parrallel系列:Parallel Scavenge+Parallel old(搭配使用)Parallel Scavenge:年轻代的多线程垃圾回收器,采用的是复制算法,吞吐量优先,原创 2021-07-18 15:35:21 · 44 阅读 · 0 评论 -
jvm垃圾回收机制
JVM垃圾回收机制标记垃圾引用计数法:如果对象有引用,则对象的引用数+1,引用结束,引用数-1,引用数为0的就是垃圾。缺点:会存在循环引用的问题。用途:分布式垃圾回收会使用引用计数可达性分析:从根节点不可以到达的对象都是垃圾垃圾回收算法标记清除算法:将标记成垃圾的对象直接清除缺点:会导致内存空间不连续,使用率低复制算法将内存区域分成等分的两部分,每次使用一部分,当发生垃圾回收的时候,将存活的对象复制到内存的另一半,然后清空之前使用的,使用另一半内存。缺点:内存每次只能使用一半,使原创 2021-07-15 21:58:18 · 61 阅读 · 0 评论 -
JVM学习
JVM学习JVM的构成类加载器、运行时数据区、执行引擎、本地方法接口。类加载的流程:首先, 类加载器 会根据类的全限定名将类加载到 运行时数据区 的方法区内,我们常写的java代码是不能够被执行的,需要先编译成字节码,字节码是jvm可以识别的语言,不能被机器所执行,所以需要使用 执行引擎 将字节码编译成机器所能识别的语言,在执行的过程中再调用 本地方法接口 ,执行方法。运行时数据区的构成线程私有:程序计数器(唯一一个没有OOM的区域)、虚拟机内存栈(也可以理解为线程栈)、本地方法原创 2021-07-13 19:15:21 · 67 阅读 · 0 评论 -
“==”、equals和hashcode区别
“==”、equals()和hashcode()区别==成立的equals也必然成立,equals成立的hashcode也必然成立,反之则不一定。“==”和equals()实际在Object类中,equals()方法里面用的就是"==",之所以不一样是因为重写了equals(),用String举例,可以看String里面的代码 public boolean equals(Object...原创 2019-08-20 15:32:56 · 74 阅读 · 0 评论 -
Java集合总结
几种常见的集合简介:继承collection接口的有Set和List集合:Set(无序不可重复)、List(有序可重复)Map是存储键值,键唯一,值不唯一常用遍历(1)Iterator:迭代输出,使用最多(2)foreach:JDK1.5后新增,可用于集合和数组。(3)for循环ArraryList和LinkListArraryList:根据索引的可变数组,允许保存所有元素,包括n...原创 2019-08-20 21:26:32 · 62 阅读 · 0 评论 -
JavaIO总结
bit、byte、charbit:最小二进制单位,是计算机的操作部分,取0或者1byte:计算机操作数据的最小单位,由8bit组成char:用户可读写的最小单位,在Java里面由16bit组成流的种类字节流(InputStream、OutputStream)、字符流(Reader、Writer)BufferedWriter和BufferedReader属于处理流中的缓冲流,Buffe...原创 2019-08-20 23:01:46 · 63 阅读 · 0 评论 -
TCP的三次握手与四次挥手的理解
TCP的三次握手tcp的三次握手旨在建立连接:模拟一个向陌生人问路的场景第一次握手:你说:“你好,打扰一下。”(你在试探对方有没有听见你说话,想不想理你)第二次握手:陌生人说:“有事吗?”(对方听懂你说话了,并给出了回应,同时也在试探是不是你在问他)第三次握手:你说:“我想问路”(对方回话了,你也能听懂)然后双方的通信就建立起来了,可以交流了。了解握手前需要了解的ACK : TCP...原创 2019-08-21 11:08:02 · 114 阅读 · 0 评论 -
Boolean占的大小
Boolean占 4个字节,在数组中占1个字节我们的思考的逻辑1 位(bit):Boolean只有false和true,对应的0和1,在内存中只需要一位。1 字节:计算机处理数据的最小单位是一字节实际规定4字节:根据《Java虚拟机规范》中描述,虽然定义了Boolean数据类型,但是对它的支持有限,所以在编译时候使用int数据类型来代替,所以占4 个字节;但是Boolean数组在编译...原创 2019-08-26 21:55:15 · 1238 阅读 · 0 评论