- 博客(5)
- 问答 (1)
- 收藏
- 关注
原创 JVM与GC
没什么用的前言根据对象存活周期的不同将内存划分为几块。一般分为新生代和老年代在新生代,每次垃圾收集时都有大量对象死去,只有少量存货,就选用复制算法,只需要付出少量存货对象的复制成本就可以完成收集在老年代,对象存活率高,没有额外空间对它进行分配担保,就必须使用“标记清理”或者“标记整理”算法来进行回收由于CMS并发清理阶段用户线程还在运行,程序运行就还会有新的垃圾不断产生,这一部分垃圾出现在标记过程之后,CMS无法在当次收集中处理掉他们,只好留给下一次GC时再清理掉。这一部分垃圾就是“浮动垃圾”
2023-04-05 16:44:29 1004
原创 Java集合
没什么用的前言散列表(Hash table,也叫哈希表),是根据键(Key)而直接访问在内存存储位置的数据结构。也就是说,它通过计算一个关于键值的函数,将所需查询的数据映射到表中一个位置来访问记录,这加快了查找速度。这个映射函数称做散列函数(哈希函数),存放记录的数组称做散列表。哈希表其实是一种数据结构哈希表本质上是个数组,底层实现是在数组上然后在加工, 称 哈希表。 实现哈希表的方式分为: 数组+链表 数组+[二叉树]
2023-04-05 16:43:04 832 1
原创 Java:Exception
没什么用的前言一般地,用户自定义异常类都是RuntimeException的子类。自定义异常类要求通常需要编写几个重载的构造器。需要提供全局常量:serialVersionUID通过throw抛出。最重要的是异常类的名字,当异常出现时,可以根据名字判断异常类型。用户自定义异常类MyException,用于描述数据取值范围错误信息。用户自己的异常类必须继承现有的异常类。
2023-04-05 16:39:09 267
原创 Java基础
没什么用的前言面向对象会把事物抽象出类、属性和方法,再通过实例化执行方法,来完成功能。有继承和多态。封装的是数据和功能面向过程以函数开发,来实现功能。没有继承和多态。只封装功能不封装数据序列化:把对象的内容进行流化。流化的对象可以进行读写操作(磁盘IO),也可以在网络传输(网络IO)。如果不进行序列化,在处理流问题的时候可能会数据乱码实现:让一个类实现Serializable接口,标识性接口,不用重写方法。写对象(writeObject)用来保存序列化后的状态。
2023-04-05 16:37:13 3574 1
空空如也
jvm方法区的字符串常量池有多大
2021-05-27
TA创建的收藏夹 TA关注的收藏夹
TA关注的人