1.Spring框架?Spring框架是由于软件开发的复杂性而创建的,Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事。从简单性、可测性和松耦合性角度而言,绝大部分Java应用都可以用Spring。2.Spring的整体架构?大约分为20个模块。3.Spring可以做什么?4.Spring的优点?缺点?优点:Spring属于低侵入设 ......
60
0
0
2024-03-03
源码分析目的知其然,知其所以然项目引用此博文的依据:hutool-5.6.5版本 源码 <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-core</artifactId> <version>.6.5&lt ......
221
0
0
2024-02-29
摘要:我们已经知道,synchronized 是 Java 的关键字,是Java的内置特性,在JVM层面实现了对临界资源的同步互斥访问,但 synchronized 粒度有些大,在处理实际问题时存在诸多局限性,比如响应中断等。Lock 提供了比 synchronized更广泛的锁操作,它能以更优雅的方式处理线程同步问题。本文以synchronized与Loc ......
85
0
0
2024-02-29
前几天工作之余,同事让我写一个Maven插件,因为项目很多很杂,我们公司又没有专业的数据库字典管理工具,都是我们开发人员用Excel整理一个数据字典给我们现场实施人员,每次增加新功能或该需求,增加表和修改数据时,对Excel形式数据字典维护有点。。。,此文不是讲如何维护Excel而是手写maven插件,对于我需要的功能用Maven插件来实现太简单了。那就开始 ......
91
0
0
2024-02-29
你好,我是悟空。背景最近在做一个关于邮件的专栏:《SpringBoot 邮件打怪升级》。旨在从 0 开始,带你搭建一个完整的基于 SpringBoot 技术栈 Email 邮件服务。适合人群:对 SpringBoot 开发感兴趣、对邮件服务感兴趣的开发人员。整个专栏目录如下,后续会加更。第一篇是通过 SpringBoot 发送邮件的三种方式,项目代码如下。代 ......
99
0
0
2024-02-29
大家好,我是不才陈某~现在有这么一个需求:就是我们日志的开与关是交给使用人员来控制的,而不是由我们开发人员固定写死的。大家都知道可以用aop来实现日志管理,但是如何动态的来实现日志管理呢?aop源码中的实现逻辑中有这么一个步骤,就是会依次扫描Advice的实现类,然后执行。我们要做的就是自定义一个advice的实现类然后,在用户想要开启日志的时候就把advi ......
86
0
0
2024-02-29
大家好,我是不才陈某~今天这篇文章来介绍一下Nacos配置中心的原理之一:长轮询机制的应用为方便理解与表达,这里把 Nacos 控制台和 Nacos 注册中心称为 Nacos 服务器(就是 web 界面那个),我们编写的业务服务称为 Nacso 客户端;Nacos 动态监听的长轮询机制原理图,本篇将围绕这张图剖析长轮询定时机制的原理:ConfigServic ......
109
0
0
2024-02-29
几乎所有的 Java 面试都是以 String 开始的,如果第一个问题没有回答好,则会给面试官留下非常不好的第一印象,而糟糕的第一印象则会直接影响到自己的面试结果,就好像刚破壳的小鹅一样,会把第一眼看到的动物当成自己的母亲,即使它第一眼看到的是一只小狗或小猫,也会默认跟随其后,心理学把这种现象叫做印刻效应。印刻效应不仅存在于低等动物之中,同样也适用于人类,所 ......
83
0
0
2024-02-29
一、创建线程的四种方法首先,所有的创建线程的方式都是基于Thread类来实现,每个线程都必须通过 Thread 类的构造方法创建,并实现 run() 方法来执行线程的任务。继承Thread类实现多线程继承类Thread是支持多线程的功能类,只要创建一个子类就可以实现多线程的支持。所有的java程序的起点是main方法,所以线程一定有自己的起点,那这 ......
92
0
0
2024-02-28
场景复现数据库初始化有9条记录。当我通过分页插件去查询数据库时,查询第2页,每页10条记录时,查询的结果竟然有9条数据。结果显然不合理,因为我查询第2页,按照逻辑应该查询第11-20条记录,因此不存在,所以返回为空,但是现在却返回9条记录。疑问如下:为什么返回数据???为什么返回9条数据???解决办法pagehelper: # helperDialect ......
95
0
0
2024-02-27
源码下面代码的返回结果是1不是2,下面从字节码的角度分析一下原因public class Start { public static void main(String[] args) { int demo = demo(); System.out.println(demo); } public static int ......
86
0
0
2024-02-27
写作目的最近看到了一篇MyBatis的分页实现原理,文章里描述到使用ThreadLocal,其实想主要想看看ThreadLocal的巧妙使用,并且看一下分页是如何实现的。源码下载ChaiRongD/Demooo - Gitee.com源码跟踪其实一个简单的分页如下面代码所示,使用PageHelp对象设置分页的参数,然后把查询到的List对象作为参数传入Pag ......
89
0
0
2024-02-27
stop强制退出(十分不推荐)记住,线程的终止,并不是简单的调用 stop 命令去。虽然 api 仍然可以调用,但是和其他的线程控制方法如 suspend、resume 一样都是过期了的不建议使用,就拿stop 来说,stop 方法在结束一个线程时并不会保证线程的资源正常释放,因此会导致程序可能出现一些不确定的状态。class MyThreadForStop ......
93
0
0
2024-02-27
为何要用Reactor1BIO下面是采用BIO的方式进行网络连接{ // 创建一个serverSocket对象,相当于服务器,并且自己设定端口,最好设置1024以后 ServerSocket serverSocket = new ServerSocket(8888); while (true){ // 调用acce ......
95
0
0
2024-02-27
源码下载ChaiRongD/Demooo - Gitee.comList集合ymlmyproject: whitelist: users: - zhangsan - lisi - 王五 properties@Configuration @ConfigurationProperties("mypro ......
81
0
0
2024-02-27