- 博客(12)
- 收藏
- 关注
原创 关于系统设计时的思考与总结
一个稳定的系统不会因为时间的推移或负载的变化而出现性能下降或功能失效。这一般需要我们在设计系统时根据其负载的情况,然后做好负载均衡,熔断,限流,降级的措施。可扩展性是指系统能够随着需求的增长或变化进行扩展的能力。一个可扩展的系统可以在不需要重大改动的情况下,支持更多的用户、更大的数据量或更高的处理能力,以及提供更多的功能。要具备强大的抽象能力。可维护性是指系统在其生命周期内,能够被轻松修改、更新和修复的能力。一个可维护的系统通常有清晰的代码结构、良好的文档和测试覆盖率,使得开发人员能够迅速理解和改进系统。
2024-07-10 10:48:10 172
原创 JAVA中的IO流
IO流简介IO流就是将数据以字节或者字符的形式进行传输,在java中主要用于磁盘的读写和网络请求的读写。Java提供许多操作IO流的类与接口。顶级抽象类主要有四个。Reader:字符输入流 Writer:字符输出流 InputStream:字节输入流 OutputStream:字节输出流。其中输入和输出是针对运行在内存中的程序而言。字符流其实也是通过字节流来实现的,只是在字节流上加了一步对于编码格式的处理,将字节转化为了字符,转化时默认的编码格式是UTF-8。也可以指定编码格式。IO流主要分为两大类:节
2023-12-14 09:22:33 56 1
原创 springboot启动流程梳理
1.启动类中会调用SpringApplication中的静态run方法创建SpringApplication对象,并调用SpringApplication的run方法2.创建SpringApplication对象。
2023-11-15 19:58:07 89 1
原创 Spring中的事务
一。platformTransactionManager 事务管理器:负责得到事务状态,提交、回滚事务。二。TransactionStatus事务状态: 提供了控制事务执行和查询事务状态的方法三。TransactionDefinition 事务属性定义1.隔离性:ISOLATION①读未提交:当前事务可以读取未提交的数据②读已提交:当前事务只能读取已提交的数据③可重复读:当前事务内读取统一数据前后值不变④串行化: 当前事务内读取同一批次数据,不会幻读。⑤默认隔离级别:与数据库一致。
2023-09-28 09:09:14 160 1
原创 Spring和SpingBoot中的ApplicationContext
ApplicationContext接口:用于获取属性的接口。ConfigurableApplicationContext接口:继承了ApplicationContext接口,用于设置属性值的接口。一. AbstractRefreshableApplicationContext抽象类的子类1.AbstractRefreshableConfigApplicationContext抽象类的子类。
2023-09-21 19:57:30 173
原创 Spring对象创建流程梳理
该抽象类主要有两个实现类GenericBeanDefinition:既可以单独作为BeanDefinition,也可以作为父BeanDefinition,还可以作为子GenericBeanDefinition。该接口继承了BeanDefinition接口,作为ConfigurationClassBeanDefinition,ScannedGenericBeanDefinition,AnnotatedGenericBeanDefinition三类功能的扩充。
2023-09-03 15:22:52 92
原创 计算机网络传输
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar
2023-07-05 21:31:40 70
原创 sql笔记
如果where条件后有较多比较字符(< > =),explan估计的行数和实际的行数存在巨大的偏差,从而使应该用 index scan的sql最后选择了书签查找,这种情况对性能的影响将会比index scan更加巨大。4.where:将虚表v3使用where后条件进行筛选得到虚表v4(只有当where之后的某个条件需要同时用到被驱动表和驱动表字段才会过滤。2.on:将虚表v1使用on后条件进行筛选得到虚表v2(如果后面有where条件且仅用到单ss表参数进行过滤,则where后面条件也会同时进行筛选);
2023-06-29 16:14:19 69 1
原创 JAVA中的注解与反射
注解注解分为内置注解和元注解以及自定义注解,内置注解就是平常经常使用的,比如@Override、@SpringBootApplication等等,当java程序运行的时候,可以通过反射获取注解信息,从而针对被注解的方法或者类进行相应的处理。元注解就是定义注解的注解,用来声明注解的使用范围,时间等等。元注解一共有六个。第一个@Documented:被@Documented修饰的注解会被JavaDoc提取成文档,一般不会用了解即可。第二个注解@Native:被@Native注解修饰的注解可以用于修饰成员变量
2021-11-24 23:23:40 271
原创 JAVA中的锁
乐观锁与悲观锁可重入锁,阻塞锁乐观锁的实现(version控制、cas算法)悲观锁的实现(synchronized、ReentrantLock)偏量锁、轻量级锁、重量级锁自旋锁锁消除、锁粗化分布式锁数据库锁(共享锁,排他锁)...
2021-10-23 17:02:02 164 1
原创 JAVA中的线程
使用Thread创建线程先看看Thread是怎么创建一个线程并运行的,代码如下。public class MyThread { public static int number ; public static int count = 100; public static void main(String[] args){ Thread1 thread1 = new Thread1(); thread1.setName("线程1");
2021-10-03 15:58:28 142
原创 Java中的数据结构
一 八大常用数据类型在java中一般对象是储存在堆内存中的,栈内存中只是储存了其引用。而基本数据类型是储存在栈内存中的,调用更加方便。而在java中是面向对象的,很多地方必须要使用对象,所以又为各大基本类型提供了包装类型。而为了基本数据类型和对应包装类型转换,java提供了自动拆装箱功能(即基本类型和对应包装类自动转换)。但是自动拆箱的时候需要注意,值为null的情况。1.char 字符型2.boolean 布尔型3.byte short int long 整形byte:一个字节占8位,所以取值
2021-09-24 20:34:58 180
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人