理解录
文章平均质量分 66
记录特定的Java知识点的理解
Flora.~
欲速则不达~
展开
-
总结Dubbo开源RPC框架
集群:多个机器提供一样的服务(实现高性能、高可用、 可伸缩、高可扩展 )分布式:多个机器提供不同的服务,合起来为一个大服务。原创 2024-03-19 00:21:30 · 1049 阅读 · 0 评论 -
理解Nacos是如何实现动态配置的
Nacos(阿里巴巴开源的分布式配置中心和服务发现系统)实现动态配置的主要思想是通过监听机制和发布/订阅模式来实现配置的实时更新。以下是 Nacos 实现动态配置的关键步骤:配置数据存储: Nacos 将配置数据存储在持久化的存储介质中,可以是数据库或其他存储系统。这样可以确保配置信息的持久性和可靠性。监听机制: Nacos 提供了监听配置变更的机制。客户端可以注册配置监听器,当配置发生变化时,监听器会收到通知。发布/订阅模式:配置中心充当发布者,而应用程序充当订阅者。原创 2024-01-23 22:27:19 · 1481 阅读 · 0 评论 -
理解Java中的AQS
AQS:AbstractQueuedSynchronizer(抽象队列同步器),是一个用于。AQS 提供了一种可扩展的基础,允许开发者实现各种形式的同步控制机制。例如:独占锁(ReentrantLock)、共享锁(ReentrantReadWriteLock)、CountDownLatch 等都是基于 AQS 的同步机制实现的。AQS 的核心思想是。它维护了一个等待队列,线程通过排队在队列中等待获取锁或者资源。AQS 提供了一些基本的方法,允许子类来定义自己的同步逻辑。其中两个主要的模板方法是。原创 2024-01-23 22:03:18 · 466 阅读 · 0 评论 -
复杂map的优雅赋值
方式一:使用computeIfAbsent方法。方式二:导入guava库,使用Multimap。原创 2024-01-18 18:43:12 · 392 阅读 · 0 评论 -
理解Java中的递归
方法自己调用自己,每次传入不同的参数变量。原创 2023-12-22 11:16:39 · 404 阅读 · 0 评论 -
理解Java架构中的中间件
中间件是处于操作系统和应用程序之间的软件。使用时往往是一组中间件集成在一起,构成一个平台(开发平台和运行平台),在这组中间件中必须要有一个通信中间件,即中间件=平台+通信。该定义也限定了只有用于分布式系统中的才能称为中间件。主要分类:远程过程调用、面向消息的中间件、对象请求代理、事务处理监控。原创 2023-12-27 16:53:28 · 443 阅读 · 1 评论 -
理解Spring中bean的作用域及其生命周期
【代码】理解Spring中bean的作用域。原创 2023-12-22 11:20:07 · 423 阅读 · 0 评论 -
理解Java中锁的应用
当线程 A 持有独占锁a,并尝试去获取独占锁 b 的同时,线程 B 持有独占锁 b,并尝试获取独占锁 a 的情况下,就会发生 AB 两个线程由于互相持有对方需要的锁,而发生的阻塞现象,我们称为死锁。原创 2023-12-22 11:19:41 · 848 阅读 · 0 评论 -
理解SpringMVC的工作流程
前置控制器 DispatcherServlet。映射控制器 HandlerMapping。处理器 Controller。模型和视图 ModelAndView。视图解析器 ViewResolver。原创 2023-12-22 11:19:22 · 498 阅读 · 0 评论 -
理解Java中的volatile关键字
保证了不同线程对这个变量进行操作时的可见性,即一个线程修改了某个变量的值,这新值对其他线程来说是立即可见的禁止指令重排对变量的写操作不依赖于当前值(反例如自增自减)该变量没有包含在具有其他变量的不变式中(反例如两个变量比较的执行逻辑)原创 2023-12-22 11:18:40 · 326 阅读 · 0 评论 -
理解OSI中的七层模型
OSI(Open Systems Interconnection)模型对计算机系统之间发送信息的方式额标准化,它不是一组规则,而是一个工具,用于理解网络是如何运作的。原创 2023-12-22 11:18:22 · 946 阅读 · 0 评论 -
理解网络安全中的用户攻击
XSS 攻击:即跨站脚本攻击,它是 Web 程序中常见的漏洞。原创 2023-12-22 11:17:59 · 360 阅读 · 0 评论 -
理解io/nio/netty
bio为同步阻塞模式nio为同步非阻塞模式,一个线程管理多个输入输出通道,涉及轮询、多路复用(一个线程不断轮询多个socket的状态,当socket有读写事件时调用io事件)核心:channel(双向)、buffer、selector(监听通道事件)原创 2023-12-22 11:17:36 · 526 阅读 · 0 评论 -
理解HashMap的原理
基于数组、链表、红黑树实现。原创 2023-12-22 11:17:16 · 743 阅读 · 0 评论 -
理解反射、动态代理、AOP(用注解实现方法开关)
添加四个元注解定义属性-返回类型类Class、返回类型是否可为空boolean-可以赋默认值default false添加注解@Aspect @Component定义一个切面方法,返回值为void,添加注解@Pointcut(“@annotation(注解接口的全类名路径)”),原创 2023-06-15 21:26:10 · 603 阅读 · 0 评论 -
Java小知识
类似一个迭代器,只能遍历一次,在流的过程中对元素执行操作,如过滤或者符合某个条件。原创 2023-06-13 00:21:12 · 394 阅读 · 0 评论 -
理解websocket连接的原理
websocket连接,只需要一次HTTP握手,避免HTTP的无状态性,且服务器可以主动通知,不限次数,直到请求关闭。原创 2023-04-18 13:57:50 · 906 阅读 · 0 评论 -
理解hutool工具包中StrUtil.isNotEmpty(str)方法
问题:StrUtil.isNotEmpty(str);此外,StrUtil.isNotEmpty(str)方法还会删除字符串开头和结尾的空格,并检查处理后的字符串是否为空。StrUtil.isNotEmpty(str)方法不仅检查字符串是否为null,还检查它。=0将返回true。则StrUtil.isNotEmpty(str)将返回false,因此,如果传入空字符串,String str = " ";原创 2023-03-30 11:00:02 · 630 阅读 · 0 评论 -
理解业务高级查询
上面是根据过滤条件以及当前页和每页显示的记录数返回查询的实体类对象进行了相关的连表查询操作该语句查询了 hr_employee 表,并通过 left join 关键字连接了 bs_org、bs_users、bs_post 等表。查询结果包括 hr_employee 表的全部字段(使用了 t.*),以及其他表的一些字段,如 u.full_name、o2.name、p.post_number、o1.name 等。${filter} 是一个占位符,表示可以根据实际需要动态拼接 SQL 查询条件。原创 2023-03-29 20:37:45 · 63 阅读 · 0 评论 -
策略模式的应用
反思:刚开始的时候对程序不太理解,认为由于传入的参数不同,必须在业务服务中确定是哪个消息服务,或者考虑远程获取到配置类的map从而获取到特定的消息服务,才能进行传参,考虑后理解可以将不同的参数封装成一个公共的VO类,服务正常在消息服务中心进行调用,其他微服务只需要提供必须的参数以供判断。最近需要写一个消息推送的服务,根据前端用户的配置支持不同的消息服务,应用到了策略模式。原创 2023-03-22 22:13:53 · 70 阅读 · 0 评论 -
理解实体类中serialVersionUID序列化版本号
理解:用于实现了Serializable的类中,试用场景是类的序列化。Java的序列化机制是通过在运行时判断类的serialVersionUID来验证版本一致性的在进行反序列化时,JVM会把传来的字节流中的serialVersionUID与本地相应实体类的serialVersionUID进行比较,如果相同就认为是一致的,可以进行反序列化,否则就会出现序列化版本不一致的异常。原创 2023-03-10 15:05:08 · 711 阅读 · 0 评论 -
理解雪花算法生成的ID
雪花算法原创 2022-06-07 23:11:21 · 537 阅读 · 0 评论 -
理解23种设计模式思想
单例原创 2023-02-01 15:57:46 · 82 阅读 · 0 评论 -
Java中创建对象的过程解读
Java创建对象原创 2023-02-05 12:35:03 · 328 阅读 · 0 评论 -
理解Java中对象的引用类型
引用类型原创 2023-02-05 16:09:19 · 280 阅读 · 0 评论 -
总结Mybatis的原理
mybatis原创 2023-02-07 20:07:58 · 161 阅读 · 0 评论 -
Java中new对象和@Autowird注入对象的本质
Java中new对象和@Autowird注入对象的本质原创 2023-03-05 13:25:32 · 1437 阅读 · 0 评论