2023-05-27
Spring如何实现将资源配置通过加载、解析,生成BeanDefinition并注册到IoC容器中的。
阅读全文
2023-05-26
Spring是什么?它是怎么诞生的?有哪些主要的组件和核心功能呢?本文通过这几个问题来构筑对Spring和Spring Framework的整体认知。
什么是Spring?
Spring是什么?它是怎么诞生的?它的诞生是为了解决什么问题?
Spring的起源百度百科中关于Spring的起源介绍如下:
要谈Spring的历史,就要先谈J2EE。J2EE应用程...
阅读全文
2023-05-25
分布式定时任务调度。
xxl-jobhttps://www.xuxueli.com/xxl-job/
基于xxl-job二次开发
i-scheduler-spring-boot-starter 其它web服务只需引用此starter包即可。 依赖i-scheduler-core。
i-scheduler-core starter组件核心模块,提供其它...
阅读全文
2023-05-25
AOP的实现过程:1、目标对象是如何变成代理对象的?2、代理对象是怎么执行目标方法的?
阅读全文
2023-05-21
JVM调优参数常见参数
-Xms 堆最小值
-Xmx 堆最大堆值。-Xms与-Xmx 的单位默认字节都是以k、m做单位的。
-Xmn 新生代大小
-Xss 设置每个线程可使用的内存大小,即栈的大小。 在相同物理内存下,减小这个值能生成更多的线程,但操作系统对一个进程内的线程数还是有限制的,不能无限生成。 线程栈的大小是个双刃剑,如果设置过小,可能会出现栈...
阅读全文
2023-05-19
相信大部分人在看AQS的时候都能看到注释上有这么一段话:
123456/** * Wait queue node class. * * <p>The wait queue is a variant of a "CLH" (Craig, Landin, and * Hagersten) lock queue. */
为了更好的理...
阅读全文
2023-05-16
概述Java TreeMap实现了SortedMap接口,也就是说会按照key的大小顺序对Map中的元素进行排序,key大小的评判可以通过其本身的自然顺序(natural ordering),也可以通过构造时传入的比较器(Comparator)。
TreeMap底层通过红黑树(Red-Black tree)实现,也就意味着containsKey()、get(...
阅读全文
2023-05-16
优先队列的作用是能保证每次取出的元素都是队列中权值最小的(Java的优先队列每次取最小元素,C++的优先队列每次取最大元素)。这里牵涉到了大小关系,元素大小的评判可以通过元素本身的自然顺序(natural ordering),也可以通过构造时传入的比较器(Comparator,类似于C++的仿函数)。
Java中PriorityQueue实现了Queue接口...
阅读全文
2023-05-16
概述Java里有一个叫做Stack的类,却没有叫做Queue的类(它是个接口名字)。
当需要使用栈时,Java已不推荐使用Stack,而是推荐使用更高效的ArrayDeque;既然Queue只是一个接口,当需要使用队列时也就首选ArrayDeque了(次选是LinkedList)。
为什么Stack被弃用Java 中的 Stack 实现,是被业界一直认为非常...
阅读全文
2023-05-15
垃圾收集主要是针对堆和方法区进行。程序计数器、虚拟机栈和本地方法栈这三个区域属于线程私有的,只存在于线程的生命周期内,线程结束之后也会消失,因此不需要对这三个区域进行垃圾回收。
判断一个对象是否可被回收1、引用计数算法2、可达性分析算法在java语言里,可作为GC Roots的对象包括下面几种:
虚拟机栈(栈帧中的本地变量表)中的引用的对象。
方法区中的类...
阅读全文