java笔记
文章平均质量分 96
小熊不吃香菜
能做就做,不多说话
展开
-
延时队列的三种实现方案
在分布式系统中,延时队列(Delay Queue)是一个常见的工具,它允许程序能够按照预定时间处理任务(类似于定时任务)。延时队列允许我们将任务延时到指定的时间执行,这样就可以将任务按照优先级和执行时间来处理,从而提高系统的可靠性和性能。延时队列是一种特殊的队列相比于普通队列(先进先出)最大的区别就体现在其延时属性上。在这种队列中,每个元素都有一个预设的延时时间,只有当这个时间到期后,元素才可以被消费。这种机制使得延时队列可以用于实现定时任务、消息重试等功能。原创 2023-05-02 22:08:15 · 5017 阅读 · 1 评论 -
ThreadLocal解析
是一种线程封闭的机制,它可以将数据隔离在每个线程中每个线程都拥有一份独立的数据副本。主要是通过和Thread类中的字段实现,是一个自定义的HashMap,用来存储线程本地变量的键值对,而Thread类中的字段则是用来存储每个线程的。通过使用,我们可以在保证线程安全的前提下,又不会带来太大的性能问题。原创 2023-03-20 11:00:08 · 244 阅读 · 0 评论 -
源码解析——HashMap
上面讲了一大堆理论,先来实践一下吧。HashMap为什么要用数组+链表/红黑树的结构?这个比较简单,数组+链表/红黑树(注意区别JDK1.7和1.8)HashMap为什么要用数组+链表/红黑树的结构?为了提高HashMap的查询效率和空间利用率数组是一种连续的存储结构,它可以通过索引快速定位元素,但是它的长度是固定的,如果数组过大,会浪费空间;如果数组过小,会导致哈希冲突。链表是一种离散的存储结构,它可以动态地增加或删除元素,但是它需要遍历才能找到元素,如果链表过长,会降低查询效率。原创 2023-03-07 20:56:27 · 402 阅读 · 0 评论 -
Spring MVC源码解析——HandlerMapping(处理器映射器)
在Spring MVC中,HandlerMapping(处理器映射器)用于确定请求处理器对象。请求处理器可以是任何对象,只要它们使用了@Controller注解或注解@RequestMapping。HandlerMapping负责将请求(url)映射到适当的处理器对象(Controller)。注:Handler即绑定了注解@RequestMapping或@Controller的类getHandler方法用于查找处理器对象并返回处理程序的执行链,HandlerExecutionChain包含了。原创 2023-03-04 20:43:24 · 2259 阅读 · 1 评论 -
Java 代理
Java的动态代理是基于接口的,它要求目标类必须实现一个或多个接口,而CGLib是基于类的,它不要求目标类实现任何接口。Java的动态代理是通过反射机制来创建代理对象和调用目标方法的,而CGLib是通过字节码生成技术来创建代理对象和调用目标方法的。Java的动态代理会生成一个实现了目标类所有接口的新类作为代理类,而CGLib会生成一个继承了目标类的子类作为代理类。原创 2023-03-01 23:49:00 · 1710 阅读 · 0 评论 -
java框架学习笔记——SpringMVC
Spring MVC(全称 Spring Web MVC)是 Spring 框架提供的一款基于 MVC 模式的轻量级 Web 开发框架,是 Spring 为表示层(UI)开发提供的一整套完备的解决方案。原创 2022-11-18 21:06:22 · 964 阅读 · 0 评论 -
java框架学习笔记 —— Spring
spring相关知识的学习笔记原创 2022-11-15 19:06:44 · 478 阅读 · 0 评论 -
java基础 —— 高级编程篇
java基础之高级编程原创 2022-10-26 21:29:55 · 1814 阅读 · 0 评论 -
Java基础 —— 面向对象
java基础之面向对象原创 2022-08-16 00:10:19 · 216 阅读 · 0 评论 -
Java基础学习笔记 —— 基础语法篇
一些关于javase的基础语法原创 2022-08-15 22:41:02 · 216 阅读 · 0 评论