- 博客(5)
- 收藏
- 关注
原创 JVM的垃圾回收算法
1. 标记清除算法 算法分为“标记”和“清除”两个阶段,首先标记出所有需要回收的对象,在标记完成后,统一回收掉所有被标记的对象,也可以反过来,标记存活的对象,统一回收所有未被标记的对象。3. 标记整理算法 针对老年代对象的存亡特征,1974年Edward Lueders提出了另外一种有针对性的“标记-整理”算法,其中的标记过程仍然与“标记-清除”算法一样,但后续步骤不是直接对可回收对象进行清理,而是让所有存活的对象都向内存空间一端移动,然后直接清理掉边界以外的内存。
2022-10-10 20:56:50 107
原创 怎么保证线程安全
原子类和volatile只能保证单个共享变量的线程安全,锁则可以保证临界区内的多个共享变量的线程安全,Java中加锁的方式有两种,分别是synchronized关键字和Lock接口。加分回答 实现线程安全的方式有很多,除了上述三种方式之外,还有如下几种方式: 1. 无状态设计 线程安全问题是由多线程并发修改共享变量引起的,如果在并发环境中没有设计共享变量,则自然就不会出现线程安全问题了。这样一来,就可以避免多线程访问共享变量了,它们访问的是自己独占的资源,它从根本上隔离了多个线程之间的数据共享。
2022-10-10 20:54:38 89
原创 继承与接口
4、一个接口可以继承多个接口. interface C extends A, B {}是可以的. 一个类可以实现多个接口: class D implements A,B,C{} 但是一个类只能继承一个类,不能继承多个类 class B extends A{} 在继承类的同时,也可以继承接口: class E extends D implements A,B,C{} 这也正是选择用接口而不是抽象类的原因。2、抽象类可以继承实体类。1、接口可以继承接口,抽象类不可以继承接口,但可以实现接口。
2022-10-10 20:24:20 727
原创 Mybatis入门
框架就是为了快速开发而提供好的项目半成品,类似写简历时提供的模板;框架存在的意义为了解决一些开发中典型的问题:重复代码问题代码之间的耦合问题提供一些预定好的工具减少重复轮子的制造mybatis – MyBatis 3 | 简介。
2022-10-10 17:10:24 277
原创 从前序与中序遍历,构造二叉树
由于同一颗子树的前序遍历和中序遍历的长度显然是相同的,因此我们就可以对应到前序遍历的结果中,对上述形式中的所有左右括号进行定位。这样以来,我们就知道了左子树的前序遍历和中序遍历结果,以及右子树的前序遍历和中序遍历结果,我们就可以递归地对构造出左子树和右子树,再将这两颗子树接到根节点的左右位置。所以我们可以去利用这个特点来计算索引位置 (前序遍历的第一个数是根节点,中序遍历讲前序遍历的根节点放到了左树和右数的中间)在「递归」地遍历某个子树的过程中,我们也是将这颗子树看成一颗全新的树,按照上述的顺序进行遍历。
2022-10-06 16:18:42 101
自己写的dbutils工具
2022-10-06
bbs论坛网站-Java web
2022-10-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人