摘要: 目录线程同步条件对象synchronized 关键字监视器volatile 线程同步 条件对象 通常线程进入临界区,却发现需要满足某一个条件后,才能继续执行,这时,就需要使用一个条件对象,来管理那些已经获得了一个锁,但是,却不做有用工作的线程。这些条件对象经常被称为条件变量(Conditional 阅读全文
posted @ 2024-01-06 23:18 LARRY1024 阅读(13) 评论(0) 推荐(0) 编辑
摘要: 目录IOJava IO IO IO 即 Input/Output,输入和输出。数据输入到计算机内存的过程即输入,反之输出到外部存储(比如数据库,文件,远程主机)的过程即输出。 数据传输过程类似于水流,因此称为 I/O 流。 Java IO IO 流在 Java 中分为输入流和输出流,而根据数据的处理 阅读全文
posted @ 2024-01-06 19:34 LARRY1024 阅读(12) 评论(0) 推荐(0) 编辑
摘要: 目录简介语法区别 简介 Lambda 表达式是 JDK 8 的一个新特性,可以取代大部分的匿名内部类,写出更优雅的Java代码,尤其在集合的遍历和其他集合操作中,可以极大地优化代码结构。但 Lambda 表达式并不能取代所有的匿名内部类,只能用来取代函数接口(Functional Interface 阅读全文
posted @ 2024-01-05 22:47 LARRY1024 阅读(16) 评论(0) 推荐(0) 编辑
摘要: 目录查询计划查询计划输出格式解释输出列列格式idselect_typetypepossible_keyskeyref 查询计划 根据表、列、索引的详细信息以及子句中的 WHERE 条件不同,MySQL 优化器会考虑多种技术来有效地执行 SQL 查询中涉及的查找。 例如, 对大表进行查询可能无需读取所 阅读全文
posted @ 2024-01-05 15:11 LARRY1024 阅读(278) 评论(0) 推荐(0) 编辑
摘要: 目录数据类型String内部实现常用指令应用场景缓存计数分布式锁加锁释放锁共享 Session 信息List内部实现常用命令应用场景Hash内部实现常用命令应用场景缓存对象购物车Set介绍内部实现常用命令应用场景点赞共同关注抽奖活动Zset介绍内部实现常用命令应用场景排行榜电话、姓名排序电话排序姓名 阅读全文
posted @ 2024-01-04 19:47 LARRY1024 阅读(677) 评论(0) 推荐(0) 编辑
摘要: 目录前言Redis 为什么快Redis 为何选择单线程避免过多的上下文切换开销避免同步机制的开销简单可维护Redis 的网络模型单线程网络模型多线程异步任务多线程网络模型设计思路CPU 亲和性CPU 高速缓存NUMA 架构无锁设计Reds 多线程模型小结源码剖析多线程初始化读取请求写回响应I/O 线 阅读全文
posted @ 2023-11-09 15:05 LARRY1024 阅读(86) 评论(0) 推荐(0) 编辑
摘要: 目录引言I/O 简介为什么要使用 NIO流与块的比较多路复用 IO传统 IO 模型Reactor 事件驱动模型单线程 Reactor 事件驱动模型基于线程池的 Reactor 事件驱动模型基于主从的 Reactor 事件驱动模型Java 对多路复用 IO 的支持Buffer缓冲区的存储方式非直接缓冲 阅读全文
posted @ 2023-11-07 18:46 LARRY1024 阅读(22) 评论(0) 推荐(0) 编辑
摘要: 目录Dubbo 介绍Dubbo 与 gRPC、Spring Cloud、Istio 的关系Dubbo 与 Spring CloudDubbo 与 gRPCDubbo 与 IstioDubbo 微服务生态基于扩展点的微服务生态协议通信层流量管控层FilterRouterLoad Balance服务治理 阅读全文
posted @ 2023-11-01 19:15 LARRY1024 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 目录前言堆内存结构传统的 GC 收集器G1 收集器概念初始堆占用情况标记Remember Set原理Card TableCollect Set停顿预测模型G1的垃圾回收过程对象分配线程本地分配缓冲区Eden 区中分配Humongous 区分配G1 垃圾收集周期Young GCYoung GC 总结M 阅读全文
posted @ 2023-10-28 17:35 LARRY1024 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 目录垃圾回收的基础知识堆空间的基本结构内存分配和回收原则对象优先在 Eden 区分配大对象直接进入老年代长期存活的对象将进入老年代GC 分类对象是否可被回收引用计数算法可达性分析算法引用类型强引用(StrongReference)软引用(SoftReference)弱引用(WeakReference 阅读全文
posted @ 2023-10-28 10:15 LARRY1024 阅读(88) 评论(0) 推荐(0) 编辑
摘要: 目录对象的创建类加载分配内存内存分配的两种方式内存分配并发问题初始化零值设置对象头执行 init 方法对象的内存布局对象的访问定位句柄直接指针 HotSpot 虚拟机在 Java 堆中对象分配、布局和访问的全过程。 对象的创建 类加载 虚拟机遇到一条 new 指令时,首先将去检查这个指令的参数,是否 阅读全文
posted @ 2023-10-27 09:49 LARRY1024 阅读(60) 评论(0) 推荐(0) 编辑
摘要: 目录线程状态操作系统中线程的状态Java 中的线程状态NEWRUNNABLEBLOCKEDWAITINGTIMED_WAITINGTERMINATEDJava 中创建线程的方式继承 Thread 类实现 Runnable 接口实现 Callable 接口,并结合 Future 实现通过线程池创建线程 阅读全文
posted @ 2023-10-26 12:43 LARRY1024 阅读(16) 评论(0) 推荐(0) 编辑
摘要: 目录简介应用角色认证授权授权码模式流程操作步骤授权码 Code 请求用户登录及授权认证服务器返回授权码 Code授权码 Code 换取鉴权令牌客户端模式流程操作步骤开发者应用发起客户端模式请求认证服务器颁发令牌授权码扩展模式(PKCE)流程操作步骤授权码 Code 请求授设备码模式(Device C 阅读全文
posted @ 2023-10-25 15:34 LARRY1024 阅读(105) 评论(0) 推荐(0) 编辑
摘要: 目录Filter使 Spring 管理 Filter方式一:@Component + @Order方式二:通过 JavaConfig 配置方式三: @WebFilter + @ServletComponentScan对比应用场景InterceptorpreHandlepostHandlerafter 阅读全文
posted @ 2023-10-19 20:58 LARRY1024 阅读(537) 评论(0) 推荐(0) 编辑
摘要: 目录 SpringBoot 中有一个 ControllerAdvice 的注解,使用该注解表示开启了全局异常的捕获,我们只需在自定义一个方法使用 ExceptionHandler 注解然后定义捕获异常的类型即可对这些捕获的异常进行统一的处理。 【示例】 封装一个返回体 这里,我们需要先定义一个全局异 阅读全文
posted @ 2023-10-19 17:34 LARRY1024 阅读(46) 评论(0) 推荐(0) 编辑
摘要: 目录依赖验证方式验证 Controller 的输入验证请求体:RequestBody验证请求参数:Path Variables 和 Request Parameters校验 ServiceValidator 编程方式手动进行参数验证自定义 Validator校验字段范围验证组 在前端对数据进行校验的 阅读全文
posted @ 2023-10-19 17:12 LARRY1024 阅读(328) 评论(0) 推荐(0) 编辑
摘要: 目录Spring 事务编程式事务管理声明式事务管理事务管理模型事务管理器:TransactionManager声明式事务接口:PlatformTransactionManager事务定义事务的传播机制PROPAGATION_REQUIREDPROPAGATION_REQUIRES_NEWPROPAG 阅读全文
posted @ 2023-10-19 15:36 LARRY1024 阅读(90) 评论(0) 推荐(0) 编辑
摘要: 目录AOP概念Spring AOP 和 AspectJAspectJ织入方式Spring AOP织入方式对比小结应用基于注解配置 AOP启用 @AspectJ 支持声明一个切面切入点支持的指示符声明一个目标对象 AOP AOP(Aspect Oriented Programming,面向切面编程) 阅读全文
posted @ 2023-10-19 10:16 LARRY1024 阅读(99) 评论(0) 推荐(0) 编辑
摘要: 目录代理模式代理模式分类静态代理实现方式动态代理JDK 动态代理实现方式CGLIB 动态代理实现方式cglib 与 JDK 动态代理的区别三种代理方式对比 代理模式 代理模式(Proxy Pattern)是一种结构型设计模式,它给某一个对象提供一个代理,并由代理对象控制原对象的引用。代理对象在客户端 阅读全文
posted @ 2023-10-18 11:55 LARRY1024 阅读(48) 评论(0) 推荐(0) 编辑
摘要: 目录JVM 内存结构运行时数据区程序计数器Java 虚拟机栈栈的作用栈的特点栈帧栈运行原理栈帧的结构局部变量表操作数栈动态链接方法返回地址本地方法栈(Native Method Stack)堆内存JIT逃逸分析字符串常量池本地内存直接内存元空间运行时常量池 内存是非常重要的系统资源,是硬盘和 CPU 阅读全文
posted @ 2023-10-17 19:22 LARRY1024 阅读(350) 评论(0) 推荐(0) 编辑