![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
旧博客文章迁移
之前写的一些零散的博客内容,主要是Java和数据库
nukki
这个作者很懒,什么都没留下…
展开
-
Oracle优化-全表扫描与高水位线
全表扫描与高水位线决定是否使用全表扫描的要素:访问的数据块个数最终结果集行数舍弃的行数全表扫描通常要读出直到HWM标记的所有的属于该表数据块,即使该表中没有任何数据。HWM(高水位线):用来界定一个段中使用的块和未使用的块。在我们插入数据时,HWM逐渐上移,在HWM之下的,表示使用过的块,HWM之上的就表示未使用过的块。delete操作不会降低HWM,关于insert语句,如果使用了append选项,HWM会直接上移,数据不会插入到表的空闲块中。所以,一张原本有大量数据的表,用delet原创 2021-08-30 13:12:12 · 248 阅读 · 0 评论 -
Java中的垃圾回收算法
GC算法:标记清除算法扫描对象,并标记出所有需要回收的对象。之后再次扫描,回收所有被标记的对象。优点:节省空间 缺点:扫描两次,浪费了时间,会产生内存碎片。标记压缩算法(标记整理算法)优化了标记清除算法,在标记后不是直接清除对象,而是将存活对象移向内存的一端。然后清除需要回收的对象。复制算法主要用在年轻代中(年轻代中对象存活度较低),每次GC后,都会将Eden区中还存活的对象移到幸存区的To中,幸存区From里面的对象,会判断它经历了几次GC,如果达到设定的值(默认15,可以使用-原创 2021-08-27 08:42:32 · 66 阅读 · 0 评论 -
JAVA抽象类和接口的常见问题总结
关于子类继承抽象类的问题首先抽象类里可以有抽象方法,也可以有具体的方法。如果子类是非抽象类,那么这个子类必须去实现父类里面所有的抽象方法(重写),而抽象类里的非抽象方法会被继承。另外,接口中所有的方法都是抽象的,接口中可以定义数据成员,但必须是常量。如果抽象类来实现接口,不必实现接口中所有的方法,其余方法可以交给抽象类的子类实现。也就是说,一个子类继承了某抽象类,这个抽象类又实现了某接口,抽象类中若没有实现接口中所有的方法,这些没有实现的方法就由子类实现。注:如果接口中有default关键字修饰的原创 2021-08-25 11:07:02 · 344 阅读 · 0 评论 -
Java常见易错问题记录
for循环的流程问题:例题:package demo;public class testFor { static boolean foo(char c) { System.out.print(c); return true; } public static void main(String[] args) { int i = 0; for (foo('A'); foo('B') && (i &l原创 2021-08-23 09:14:08 · 177 阅读 · 0 评论 -
关于Java继承属性覆盖的问题(向上转型)
案例代码:public class Person { private String privateName = "Person privateName..."; protected String protectedName = "Person protectedName..."; /*default*/ String name = "Person defaultName"; public String publicName = "Person publicName";原创 2021-08-20 13:40:56 · 497 阅读 · 0 评论 -
单例模式几种实现方式和代码
一、饿汉式不管需不需要这个对象,在类初始化时,这个对象都会被创建出来不存在线程安全问题1.直接实例化:/** * 1.饿汉式直接实例化 * @author kun */public class Singleton1 { public static final Singleton1 INSTANCE = new Singleton1(); private Singleton1(){ }}2.枚举:表示该类型的对象是有限的几个,限定为一个就成了单例/**原创 2021-08-17 09:07:44 · 1497 阅读 · 0 评论 -
LeetCode题目:三数之和 思路及代码实现
题目:15. 给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。示例:给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[[-1, 0, 1],[-1, -1, 2]]思路:三数相加等于零等同于两个数的和等于另一个数的相反数。先将数组排序,方便遍历,然后定义三个指针,sum、left、right原创 2021-08-16 10:21:48 · 191 阅读 · 0 评论 -
关于TCP协议中的三次握手与四次挥手详解
TCP协议TCP协议:面向连接的、可靠的传输协议。TCP协议采用三次握手建立一个逻辑上的连接。三次握手1.客户端内核传输控制层产生一个数据包,数据包里有一个关键的信息(syn),将这个数据包发送到服务端2.服务端接收syn数据包,并返回一个syn+ack数据包3.客户端接收syn+ack包,又向服务端发送一个ack数据包完成三次握手,客户端与服务端就会在内存中开辟相应的资源,就建立起了连接,开始传送数据。之后可以调用accept函数获得连接。四次挥手1.客户端或服务端的某一方A向另一方B发送原创 2021-08-11 14:48:10 · 62 阅读 · 0 评论