我是二次元穿越来的
改变不了世界,但你可以改变自己
展开
-
常见技术场景
多等级(电脑、手机)原创 2024-03-08 23:44:20 · 81 阅读 · 0 评论 -
java引言
缓存相关缓存击穿、穿透、雪崩、缓存过期淘汰、数据一致性分布式锁相关redisson原理集群分片集群。原创 2024-03-08 22:24:30 · 39 阅读 · 0 评论 -
JVM重难点
线程私有的,没有安全问题。原创 2024-03-07 20:30:56 · 232 阅读 · 0 评论 -
Redis业务应用场景
DB缓存,减轻DB服务器压力提高系统响应作为Key-Value形态的内存数据库,Redis 最先会被想到的应用场景便是作为数据缓存。而使用 Redis 缓存数据非常简单,只需要通过string类型将序列化后的对象存起来即可,不过也有一些需要注意的地方:必须保证不同对象的 key 不会重复,并且使 key 尽量短,一般使用类名(表名)加主键拼接而成。选择一个优秀的序列化方式也很重要,目的是提高序列化的效率和减少内存占用。原创 2024-03-07 20:30:25 · 178 阅读 · 0 评论 -
消息中间件重难点
主节点宕机,会存在数据丢失,少见。强一致性会影响到高可用,性能。一般说高可用都是集群等策略。数据库做个定时任务,重发。低阶、系数、常量可以忽略。原创 2024-03-07 20:29:52 · 212 阅读 · 0 评论 -
SSM重难点
如果对象增强了,把对象工厂对象放到三级缓存中9(左面三级缓存,上面二级缓存,右边单列池.一级缓存)实例化只是用到了bean生命周期的构造函数,后面的都没用,所以是半成品。Spring管理的事务,底层用的就是AOP,AOP底层用的是动态代理。用户的请求来了后,后台有四个请求的接口,有这些操作时就要记录日志。延迟加载,什么时候需要对象,再进行bean对象的创建。根据用户id查询,又有多个订单,查订单信息。四个请求,获取id,保存修改删除。无状态的bean是线程安全的。自定义的注解,你的模块的名称。原创 2024-03-07 20:29:31 · 421 阅读 · 0 评论 -
微服务重难点
一个服务宕机,另一个服务调用失败但没有释放不断堆积导致另一个服务宕机,连锁反应,可能会导致服务雪崩服务熔断针对于整个服务,降级针对于接口部分服务不能用。原创 2024-03-07 20:29:09 · 199 阅读 · 0 评论 -
servlet重难点
ServletContext对象的作用是在整个Web应用的动态资源(Servlet/JSP)之间共享数据。处理请求抽取作成Servlet,Servlet随着发展分出三层架构,分担到Service和Dao层。Filter用到了责任链模式,Listener用到了观察者模式,Servlet使用设计模式:模板方法模式。由于父类提供了doXxx()方法,它本身没有意义的,为了避免有人直接new实例并调用,声明为抽象类。大容器,是个map。接受,响应请求是共性功能,都是JSON数据,抽取成Web服务器。原创 2024-03-07 20:28:44 · 342 阅读 · 0 评论 -
线程重难点
无锁状态,执行方法创建一个锁,创建一个锁记录。每个线程的栈帧会存储锁定对象的markword。用CAS去交换对象数据的markword(原子操作)。LOCK是对象锁,跟Monitor关联,先判断Owner属性,null就绑定只能一个。每个线程都能访问,存在线程安全问题,所以多个线程访问要通过主内存。创建固定大小的线程池,调用一个submit方法,提交任务。存线程内的私有数据,线程间无法访问,线程安全。对象锁,加上票数正常,不会出现超卖问题。判断当前锁记录库,重复,所记录减1。原创 2024-03-07 20:27:39 · 411 阅读 · 0 评论