- 博客(11)
- 资源 (1)
- 收藏
- 关注
原创 mysql及其优化
InnoDB 存储引擎特点:行锁设计、支持外键、支持非锁定读 使用next-key-locking 的策略避免幻读现象 提供插入缓冲、二次写、自适应哈希索引、预读 采用聚集的方式存储表中数据事务事务的四种隔离级别 Read uncommitted 读未提交,顾名思义,就是一个事务可以读取另一个未提交事务的数据。 Read committed 读已提交,顾名思义,就是一个事务要等另一个事务提交后才能读取数据。 Repeatable read 可重复读,就是在开始读取数
2022-03-25 11:35:47
1365
原创 多线程+线程池,锁
创建线程的方法:继承Thread 类Thread 类本质上是实现了Runnable 接口的一个实例,代表一个线程的实例。启动线程的唯一方法就是通过Thread 类的start()实例方法。start()方法是一个native 方法,它将启动一个新线程,并执行run()方法。实现Runnable 接口如果自己的类已经extends 另一个类,就无法直接extends Thread,此时,可以实现一个Runnable 接口;启动线程需要实例化一个Thread,并传入实现runnable的实例
2022-03-25 11:34:44
1064
原创 socket+netty
socket对外提供接口的第三方库,封装了tcp/ip协议,主要接口为create,listen,accept,connect,read和write等等。长连接短链接所谓长连接指在一个TCP连接上可以连续发送多个数据包,在TCP连接保持期间,如果没有数据包发送,需要双方发检测包以维持此连接(心跳包),一般需要自己做在线维持。而长连接通常就是: 连接→数据传输→保持连接(心跳)→数据传输→保持连接(心跳)→……→关闭连接;短连接是指通信双方有数据交互时,就建立一个TCP连接,数据发
2022-03-24 22:10:59
914
原创 Spring 的 的 AOP IOC
Spring 的 的 AOP 理解 ?OOP 面向对象,允许开发者定义纵向的关系,但并适用于定义横向的关系,导致了大量代码的重复,而不利于各个模块的重用。 AOP,一般称为面向切面,作为面向对象的一种补充,用于将那些与业务无关,但却对多个对象产生影响的公共行为和逻辑,抽取并封装为一个可重用的模块,这个模块被命名为“切面”(Aspect),减少系统中的重复代码,降低了模块间的耦合度,同时提高了系统的可维护性。可用于权限认证、日志、事务处理。 AOP 实现的关键在于 代理模式,AOP 代理主要分为静态代理和
2022-03-10 22:36:49
103
原创 数据结构基础
1.数组int[] data = new int[100];优点: 1、按照索引查询元素速度快 2、按照索引遍历数组方便缺点: 1、数组的大小固定后就无法扩容了 2、数组只能存储一种类型的数据 3、添加,删除的操作慢,因为要移动其他的元素。2.栈栈是一种特殊的线性表,仅能在线性表的一端操作,栈顶允许操作,栈底不允许操作。栈的结构就像一个集装箱,越先放进去的东西越晚才能拿出来,所以,栈常应用于实现递归功能方面的场景,例如斐波那契数列。3、队列队列与栈一样,也是一种线性表,不..
2022-03-10 18:34:58
263
原创 类加载机制
结构类的加载过程{加载,连接{验证,准备,解析},初始化-静态初始化(卸载,使用)new一个对象时为非静态的初始化也叫类的实例化,对象初始化静态静态的(变量,代码块)会被执行,而静态方法会在第一次调用才执行。类初始化时机:有且只有 五种情况必须立即对类进行初始化(而这一过程自然发生在加载、验证、准备之后): 使用new关键字实例化对象的时候; 读取或设置一个类的静态字段(被final修饰,已在编译器把结果放入常量池的静态字段除外)的时候; 调用一个类的静态方法的
2022-03-10 18:34:16
840
原创 计算机网络
dubbo底层通讯dubbo底层使用netty框架进行rpc协议通讯;netty为基于javaNio封装的通讯框架,从 Socket 建立 TCP 连接到网络异常的处理都做了包装,解码协议可自定义,如果解码协议定义为rpc则为rpc服务器;Nio,非阻塞io,线程多路复用,线程灵活调度,区别于阻塞io(新的请求或命令来了,才会调用线程运行,无请求时线程等待,占用资源)同步,异步阻塞,非阻塞;通讯流程http为标准协议,适用于用户端到服务端,rpc为服务端协议;rpc:一般会包
2022-03-10 18:31:50
175
原创 单机与分布式架构分析
单机架构:spring单机部署:web项目打war包,静态页面放在resource下,放入tomcat相应文件夹,启动tomcatspringboot单机部署:nuhop java命令启动进程前后端分离:分布式架构:cloud 无注册中心:有注册中心:前后端分离...
2022-03-10 18:31:07
305
原创 JVM模型及调优
jvm模型主要分区:方法区(元空间),堆,虚拟机栈(调用java方法,栈针),本地方法栈(调用本地native方法),程序计数器(每条线程都有独立的,记录执行位置,切换后方便恢复),其中方法区和堆是线程共享的,其他都是线程隔离;方法区:主要存放类的信息,静态变量,常量,编译后的方法,1.8之后元空间是方法区的实现,使用的是本地内存,其大小取决于系统的内存大小;堆:用来存放对象的实例,管理对象的存活周期,可划分为新生代和老年代,默认比例为1:2。其中新生代又可以细化为Eden+From
2022-03-02 21:41:28
171
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人