- 博客(8)
- 收藏
- 关注
原创 【简单描述】RabbitMQ如何实现高可用
RabbitMQ作为进行消息的传输和交互的消息队列中间件。共有3种模式,一种为单一模式不做集群,则不满足高可用的实现。另外两种则满足高可用,分别为普通集群和镜像集群。
2024-03-27 23:42:39
350
原创 【简单描述】Redis与Mysql如何保证数据一直性
当数据更新时,需要同时更新redis和mysql中的数据,由于更新操作区分先后且不满足数据库ACID特性,因此会产生数据一致性的问题。通常作为应用和数据库之间读取数据的缓存层,目的时为了减少数据库的IO,从而提升性能。该架构存在的问题则是,数据同时保存在redis和mysql中。通过cannel组件,通过监控binlog日志,进行数据同步。还可以通过Flink CDC实现。
2024-03-26 16:07:52
417
原创 【简答描述】AQS
AbstractQueuedSynchronizer多线程同步器。例:contDownLatch、semaPhore。例:Lock.ReentrantLock 重入锁。排他锁:同一时间只允许一个线程访问共享资源。线程同步工具类 contDownLatch。共享锁:允许多个线程同时获得锁的资源。线程同步工具 semaPhore。构建锁和同步器的框架。
2024-03-25 13:21:26
134
原创 单例bean与原型bean
当bean被声明为一个单例singleton时,在处理多次请求的时候Spring容器中只会实例化出一个bean,存放在一个map里,且后续请求共用该对象。在使用Spring开发时,Spring最初提供了五种bean scope,分别为singleton,prototype,request,session,global session,主要关注前两种单例bean和原型。当bean被声明为一个原型prototype时,面对每一个请求都会实例化一个新的bean,不会再去缓存中获取。
2024-03-13 11:12:38
384
2
原创 JDBC使用教程
JDBC简述jdbc是java中推出的连接数据库的一组API,是规范基于JDBC实现数据库的操作void testSaveNotice(){//通过此方法向数据库写入一条数据 //1.建立连接(连接数据库) Connection conn = dataSource.getConnection(); //2.创建statement(sql传送器->负责将sql发送至数据库端) String sql = "insert into sys_notice" + " (title,co
2021-04-19 14:54:25
76
原创 JAVA常见异常及原因
JAVA常见异常及原因java.lang.NullpointerException(空指针异常)原因:这个异常经常遇到,异常的原因是程序中有空指针,即程序中调用了未经初始化的对象或者是不存在的对象。经常出现在创建对象,调用数组这些代码中,比如对象未经初始化,或者图片创建时的路径错误等等。对数组代码中出现空指针,是把数组的初始化和数组元素的初始化搞混淆了。数组的初始化是对数组分配空间,而数组元素的初始化,是给数组中的元素赋初始值java.lang.ClassNotFoundException
2021-04-14 10:02:25
141
原创 java反射基础
java面试题基础反射技术应用反射的起点/基础反射具体应用反射技术应用是什么?一组操作字节码对象的API优势/劣势?优势:不能预知未来,但可以驾驭未来。换句话说就是能对还未生成的字节码文件进行操作。劣势:对性能有一定损耗场景?.构建框架,实现通用编程-复用反射的起点/基础基于Class类型对象反射具体应用获取构造方法对象(Constructor),基于构造方法对象构建类的实例对象(**为什么不直接new?**构建框架时并不会针对某一特定对象)获取类中属性值(Field),进而
2021-04-07 09:42:56
77
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人