- 博客(12)
- 资源 (1)
- 收藏
- 关注
原创 数据库——多版本并发控制
MVCC基本概念系统版本号:每当启动一个事务时,系统版本号会递增。事务版本号:事务开始时的系统版本号作为事务版本号,用于在select操作中与记录的DATA_TRX_ID字段做对比记录的隐藏列DATA_TRX_ID:记录某行记录的系统版本号,每当事务commit对该行的修改操作时事务的版本号记录。DATA_ROLL_PTR:记录了此行记录的回滚记录指针,通过它召回历史版本。DELETE BIT:标记此记录是否有事务正在删除它最后真正删除是在事务commit之后。增删改查中的MVCC
2021-04-30 16:50:17 380
原创 关于如何我们是如何访问Springboot服务器
记一次失败的面试经历中的面试题你是怎么访问你项目中的端口的。这个访问请求时长连接的嘛?我蒙了,不都是直接访问的嘛?应该是长连接吧,都http了其实这些要追溯到Spring MVC时期,你还记得Tomcat嘛哈哈哈。这里我们简单复习一下哈。首先Springboot是一站式J2EE的解决???内置的Servlet服务器其实就是Tomcat功能组件Tomcat 的核心功能有两个,分别是负责接收和反馈外部请求的连接器 Connector,和负责处理请求的容器 Container。其中连接器和容器相
2021-04-26 23:25:34 800
原创 面试题——如何判断线程已经执行完毕
不使用线程池的情况下调用Thread.isAlive()方法,如果该线程没有执行完毕,会返回true;调用Thread.activeCount()方法,返回当前线程组的运行线程数量,一般是1,可是IDEA执行用户代码的时候,实际是通过反射方式去调用,而与此同时会创建一个Monitor Ctrl-Break 用于监控目的。附加知识点:如果想要当前a线程在b线程结束后才允许,可以在a线程的语句块中调用b线程的join()方法。使用线程池的情况下在线程池的线程启动后,执行线程池的shutdow
2021-04-13 15:43:56 2135
原创 TCP/IP协议簇
TCP/IP是Internet最基本的协议。由传输层的TCP协议和网络层的IP协议组成。TCP负责发现传输的问题,一有问题就发出信号,要求重新传输,直到所有数据安全正确地传输到目的地。而IP协议是给因特网的每一台联网设备规定一个地址。TCP/IP协议簇的分层管理:应用层,传输层,网络层,数据链路层应用层应用层决定向用户提供服务时通信的活动。TCP/IP协议族内预存了各类通用的应用服务。比如,FTP(File Transfer Protocol,文件传输协议)和DNS(Domain Name Sys
2021-04-08 21:37:18 514
原创 操作系统——死锁
死锁一、什么是死锁死锁是指多个进程因竞争资源而造成的一种僵局(互相等待),若无外力作用,这些进程都将无法向前推进。例如,在某一个计算机系统中只有一台打印机和一台输入 设备,进程P1正占用输入设备,同时又提出使用打印机的请求,但此时打印机正被进程P2 所占用,而P2在未释放打印机之前,又提出请求使用正被P1占用着的输入设备。这样两个进程相互无休止地等待下去,均无法继续执行,此时两个进程陷入死锁状态。二、死锁产生的原因\1. 系统资源的竞争系统资源的竞争导致系统资源不足,以及资源分配不当,导致死锁。
2021-04-05 21:48:05 223
原创 HashMap散列表
数据结构HashMap是由动态链表和红黑树的结构组成,而组成这些结构的是一个个桶结构;当map中链表长度小于64并且深度小于6的时候map将保持动态链表的结构,当不满足就会转化为红黑树的结构。散列表处理冲突的方法开放地址法:如果根据key计算出的hash出现了冲突,则去寻找下一个空的桶位置去存放。优缺点优点:简单,表不满的时候性能好缺点:邻插槽会形成“集群”,当这些簇填满阵列的时候性能会严重下降,因为是穷举搜索线性探测法二次探测法可以将原本冲突时存放hash+.
2021-04-01 21:58:24 342
原创 操作系统——进程和线程
进程程序是一个静态的概念,它就是一些预先编译好的指令和数据集合的一个文件,一般程序都存储在硬盘当中。进程则是正在运行的程序的实例,是一个动态的概念,它描述了程序在运行时的各种状态,往往被加载到内存之中。而进程是不能使用资源的,进程调度的资源是由进程创建的线程使用,一个进程可以创建多个线程。进程和线程的区别地址空间和其他资源:进程间相互独立,同一进程的各线程间共享,两个进程之间的线程互不可见通信:进程间通信(IPC)通过管道,信号量,共享内存,信息队列;线程可以直接通过进程的数据段来通信在多线程O
2021-03-23 16:40:25 132
原创 创建对象的5种方式
省时总结:new关键字Class.newInstanceConstructor.newInstanceClone方法反序列化创建对象的5种方式1、new关键字这是我们最常见的创建对象的方式,通过这种方式我们还可以调用任意的构造器(无参的和有参的)。public class Main { public static void main(String[] args) { Person person1 = new Person(); Person pe
2021-03-21 15:47:07 18034 3
原创 设计模式——单例模式
单例模式 懒汉模式 public class SingletonDemo { private static SingletonDemo instance; private SingletonDemo(){ } public static synchronized SingletonDemo getInstance(){ if(instance==null){ instance=new SingletonDemo(); ...
2021-03-20 20:38:37 91
转载 JAVA8十大新特性详解(精编)
接口的默认方法Java 8允许我们给接口添加一个非抽象的方法实现,只需要使用 default关键字即可,这个特征又叫做扩展方法,示例如下:interface Formula { double calculate(int a); default double sqrt(int a) { return Math.sqrt(a); }}Formula接口在拥有calculate方法之外同时还定义了sqrt方法,实现了Formula接口的子类只需要实现一个...
2021-03-20 20:13:21 6164
原创 Linux链接概述
Linux链接硬连接 ln f1 f2首先理解Linux里文件都有一个编号,这个编号被称为索引节点,而文件其实类似指针,这个指针指着某个索引节点。所以可以存在多个文件指向同一个节点(硬连接),也只有把这些文件全删除,索引节点才会删除。软连接 ln -s f1 f3软链接文件有类似于Windows的快捷方式。它实际上是一个特殊的文件。在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。而如果把f1删除或者移动后,f3就不能访问了值得注意的是,如果把f1删除了再在
2021-03-17 16:18:33 127
转载 TCP可靠性的简要概述
TCP的可靠性参考:https://blog.cc1234.cc/posts/tcp-reliability/ 复杂网络环境下的问题 乱序 冗余 丢包 干扰 解决方法 干扰:就是在数据包传送的过程中数据发生了改变,这里TCP引入了checksum去解决。 checksum类似于数字签名,对整个报文(头部+数据部分)进行计算;接收方在收到报文后也会计算checksum,如果发现结果不符合期望值,则直接丢包
2021-03-16 08:41:35 227
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人