- 博客(118)
- 收藏
- 关注
原创 springboot 启动过程【版本2.7.8】
如果项目依赖中不存在org.springframework.web.reactive.DispatcherHandler,也不存在 org.springframework.web.servlet.DispatcherServlet,那么应用类型为WebApplicationType.NONE。注意:1、是类加载器能找到的"META-INF/spring.factories",包括当前的和jar包的,各种应用 2、同时这些文件的属性,以kv键值对的形式放在缓存中。
2023-10-24 17:14:59
408
原创 【java八股】
https://www.zhihu.com/topic/20126491/hothttps://blog.youkuaiyun.com/weixin_43767015/article/details/127912695https://blog.youkuaiyun.com/weixin_43767015/article/details/127912695
2023-09-01 16:38:38
187
原创 springboot中使用memcached
Spring Boot:使用Memcached缓存综合概述Memcached是一个自由开源的,高性能,分布式内存对象缓存系统。Memcached基于内存的key-value存储,用来存储小块的任意数据,这些数据可以是数据库调用、API调用或者是页面渲染的结果。通过Memcached缓存数据库查询结果,可以有效地减少数据库访问次数,进而提高动态Web应用的速度。虽然Memcached的守护进程是用C写的,但是客户端可以用任何语言来编写,并通过Memcached协议与守护进程进行通信。因为Spring B
2021-07-15 20:47:48
697
原创 进程通信,线程通信
https://mp.weixin.qq.com/s?src=11×tamp=1625821096&ver=3179&signature=y50KZzGh4UqQem9YRLJsw6hrlxSbhFw1I8uDlgfl0Up9Lb5M3jWCWvCVO0jbcnw7OMryGKyqdYomRcusBAFvnVOyg6ZoAtUKHxH9MFMQd4Sc*5RiZLm8-9zB8-4U&new=1
2021-07-09 18:03:35
108
原创 2021-07-09 记一次部署服务器大坑。
出现bug【No buffer space available】服务器端口不够用了Windows默认情况下的端口启动情况可以用命令:netsh int ipv4 show dynamicportrange tcp解决办法 扩大端口netsh int ipv4 set dynamicportrange tcp start=2000 num=63000start是起始端口号,num是端口数量...
2021-07-09 16:15:48
258
原创 spring boot 从请求到加载页面的过程。
spring boot 从请求到加载页面的过程。1.过滤器Tomcat thread 接受到请求调用 apache 中的 ApplicationFilterChain 执行 doFilter 方法 , doFilter 执行internalDoFilter, 此方法依次调用每个 Filter 中的doFilter 方法, 并将ApplicationFilterChain 实例传递给每一个Filter。接着所有doFIlter 执行完毕, 控制权交回ApplicationFilterChain2. s
2021-05-20 16:20:32
360
3
原创 jvm内存模型
https://www.jianshu.com/p/44df41ebdbf6https://www.cnblogs.com/aflyun/p/10575740.html
2021-05-10 16:58:51
98
原创 Spring持久层
spring为什么要与持久层技术整合1、需要访问数据库。2、jdbc、mybatis等存在代码冗余,对其进行整合。jdbc——jdbcTemplateHibernate——HibernateTemplateMyBatis——SqlSessionFactroyBean、MapperScannerConfigure与mybatis整合1.配置数据库连接池(数据源)datasourse中包含connect2、配置sqlSessionFectoryBean1)数据源2)别名3)mapper.
2021-03-23 23:35:18
891
原创 @Qualifier @Primary @Autowired
@Autowired@Autowired基于类型注入,注入对象的类型,必须与成员变量类型相同或者是其子类。@Qualifier@Component(“name”)基于名字注入@Qualifier(“name”)@Autowired@Primary默认注入@Component@Primary当有多个实现类时,默认注入@Primary注解下的实现类。...
2021-03-23 22:11:38
125
原创 Spring AOP
代理通过代理类,为原始类增加额外的功能。好处:利于原始类(目标类)的维护。静态代理为每一个原始类,编写一个代理类,二者实现相同接口public class UserServiceProxy implements UserService { UserService userService=new UserServiceImpl(); @Override public void login() { System.out.println("============
2021-03-22 23:40:43
106
原创 spring工厂
spring轻量级的javaEE解决方案。轻量级:①可移植②对运行环境没有额外要求注入通过spring工厂以及配置文件为锁创建的成员变量进行赋值。目的:解耦合注入的方式1)set注入2)构造注入控制反转IOC控制:对成员赋值的控制权。反转(转移):将这个控制权从代码转移到spring工厂以及配置文件。依赖注入DI当一个类需要另一个类的时候就是依赖另一个类,可以将其作为成员变量,使用spring工厂以及配置文件进行注入。spring工厂创建复杂对象的三种方式1)实现Factory
2021-03-22 10:00:40
160
转载 Spring中@Component与@Bean的区别
首先我们看看这两个注解的作用:@Component注解表明一个类会作为组件类,并告知Spring要为这个类创建bean。@Bean注解告诉Spring这个方法将会返回一个对象,这个对象要注册为Spring应用上下文中的bean。通常方法体中包含了最终产生bean实例的逻辑。两者的目的是一样的,都是注册bean到Spring容器中。@Component(@Controller、@Service、@Repository)通常是通过类路径扫描来自动侦测以及自动装配到Spring容器中。而@Bean注解通
2021-03-20 19:52:47
169
原创 java项目中的classpath到底是什么
java项目中的classpath到底是什么在java项目中,你一定碰到过classpath,通常情况下,我们是用它来指定配置/资源文件的路径。在刚开始学习的时候,自己也糊里糊涂,但是现在,是时候弄清楚它到底是指什么了。顾名思义,classpath就是class的path,也就是类文件(*.class的路径)。一谈到文件的路径,我们就很有必要了解一个java项目(通常也是web项目)它在真正运行时候,这个项目内部的目录、文件的结构;这样,我们才好分析、理解classpath。开发时期的web项目结构
2021-03-18 21:56:04
221
原创 spirngboot整合https
配置文件#https默认端口:443,http默认端口:80server.port=443server.http-port=80#开启https,配置跟证书一一对应server.ssl.enabled=true#指定证书server.ssl.key-store=classpath:tomcat_https.keystoreserver.ssl.key-store-type=JKS#别名server.ssl.key-alias=tomcat_https#密码serve...
2021-03-14 16:08:09
309
原创 spring5.x——注入injection
文章目录什么是注入为什么需要注入?如何进行注入?注入的好处spring注入的原理分析(简易版)set注入详解set注入简化写法构造注入反转控制IOC(inverse of controll)依赖注入DI(Dependency injection)什么是注入通过spring工厂和配置文件,为所创建对象的成员变量赋值为什么需要注入?通过编码的方式为成员变量赋值存在耦合。如何进行注入?为成员变量提供get、set方法。配置spring的配置文件。id,name是实体类Person的属性值测
2021-03-12 01:07:28
119
原创 上下文
上下文每个任务运行前,CPU 都需要知道任务从哪里加载、又从哪里开始运行,这就涉及到 CPU 寄存器 和 程序计数器(PC):CPU 寄存器是 CPU 内置的容量小、但速度极快的内存;程序计数器会存储 CPU 正在执行的指令位置,或者即将执行的指令位置。CPU寄存器和程序计数器是 CPU 运行任何任务前都必须依赖的环境,因此叫做 CPU 上下文。上下文切换将前一个 CPU 的上下文(也就是 CPU 寄存器和程序计数器里边的内容)保存起来;然后加载新任务的上下文到寄存器和程序计数器;最后跳转到
2021-03-09 20:51:20
189
原创 join()
t.join()方法只会使主线程(或者说调用t.join()的线程)进入等待池并等待t线程执行完毕后才会被唤醒。并不影响同一时刻处在运行状态的其他线程。可以看出,join()方法的底层是利用wait()方法实现的。可以看出,join方法是一个同步方法,当主线程调用t1.join()方法时,主线程先获得了t1对象的锁,随后进入方法,调用了t1对象的wait()方法,使主线程进入了t1对象的等待池,此时,A线程则还在执行,并且随后的t2.start()还没被执行,因此,B线程也还没开始。等到A线程执行完毕之后
2021-03-09 20:31:41
310
原创 偏向锁、轻量级锁、重量级锁
一直被这三个锁的膨胀问题所困扰,不知道到底实在什么时候会有偏向锁升级到轻量级锁,什么时候由轻量级锁升级到重量级锁。找到好久,也没有找到简洁明了的答案。 综合多个方面的描述综合自己的理解,特地记录下来。但是也有可能理解有误。先依然描述这三个锁是什么: 这里直接从《深入理解Java虚拟机》粘贴过来。偏向锁Hotspot 的作者经过以往的研究发现大多数情况下锁不仅不存在多线程竞争,而且总是由同一线程多次获得,为了让线程获得锁的代价更低而引入了偏向锁。当一个线程访问同步块并获取锁时,会在对象头和栈帧
2021-03-09 20:02:45
143
原创 后端2021面试
https://bitable.feishu.cn/appwBhd98QJ9cpMggHc5QMVHlfd?from=navigation_button_1_trial&table=tblZul4jLRyw60lb&view=vewTe1iz28
2021-03-08 23:29:20
169
原创 spring5.x ——工厂
文章目录spring的出现spring的出现spring是轻量级J2EE开发解决方案解决javaEE规范中的EJB框架的缺陷
2021-03-08 23:17:22
177
原创 二叉树三种遍历方式 非递归
import java.util.*;public class BinaryTree { static class Node{ Node left; Node right; int val; public Node (int val,Node left, Node right) { this.left = left; this.right = right; th
2021-03-08 15:16:35
91
原创 注解和反射
注解package reflect;import java.lang.annotation.*;import java.lang.reflect.Method;import java.lang.reflect.TypeVariable;@myAnnotation()public class Test01 { @myAnnotation(value=1) public static void main(String[] args) throws Exception {
2021-03-07 20:55:34
124
3
原创 leetcode-TOP100—树
文章目录leetcode 94 二叉树的中序遍历leetcode 96 不同的二叉搜索树leetcode 98 验证二叉搜索树leetcode 101 对称二叉树leetcode 94 二叉树的中序遍历/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} *
2021-03-07 19:13:36
223
原创 OJ 有9个因子的数
有9个因数的数DescriptionFind the count of numbers less than N having exactly 9 divisors1<=T<=1000,1<=N<=10^12InputFirst Line of Input contains the number of testcases. Only Line of each testcase contains the number of members N in the rival gang
2021-03-07 17:02:45
210
原创 OJ最小交换次数
文章目录最小交换次数最小交换次数最小交换次数DescriptionGiven an array of N distinct elementsA[ ],find the minimum number of swaps required to sort the array.Your are required to complete the function which returns an integer denoting the minimum number of swaps,required
2021-03-07 16:52:39
200
原创 OJ数学公式——乘方运算以及取模技巧
import java.util.Scanner;/** * 实现Implement pow(A, B) % C.In other words, given A, B and C, find (A^B)%C * */public class Main { static Scanner in=new Scanner(System.in); public static void main(String args[]){ int T=in.nextInt();
2021-03-06 22:48:04
394
原创 OJ序号乘方
import java.util.Scanner;/*序号乘方DescriptionThere are Infinite People Standing in a row,indexed from 1.A person having index 'i' has strength of (i*i).You have Strength 'P'.You need to tell what is the maximum number of People You can Kill With your
2021-03-06 22:37:12
251
1
原创 OJ图遍历
文章目录广度优先遍历深度优先遍历(遍历所有情况,求最大深度,其实是回溯)广度优先遍历/** * Output * * 输出遍历顺序,用空格隔开 * * * Sample Input 1 * * 1 * 4 a * a b c d * a 0 1 1 0 * b 1 0 1 0 * c 1 1 0 1 * d 0 0 1 0 * Sample Output 1 * * a b c d */public class Main { static Scanner s
2021-03-06 22:35:31
209
原创 OJ回溯
文章目录分配问题分配问题分配问题Description对给定的n个任务与n个人之间的成本矩阵完成成本最低的任务分配策略。Input输入:第一行为用例个数,之后为每一个用例;用例的第一行为任务个数,即n;用例的第二行为使用逗号隔开的人员完成任务的成本;每一个成本描述包括人员序号、任务序号和成本,使用空格隔开。人员序号和任务序号都是从1到n的整数,序号出现的次序没有固定规则。Output输出:每一个用例输出一行,从序号为1的人员开始,给出其分配的任务序号,使用空格隔开;使用逗号将多个解隔开。
2021-03-06 22:24:26
286
2
原创 OJ分治
文章目录最近对问题最近对问题Description最近对问题:使用分治算法解决最近对问题。Input第一行为测试用例个数。后面每一行表示一个用例,一个用例为一些平面上点的集合,点与点之间用逗号隔开,一个点的两个坐标用空格隔开。坐标值都是正数。Output对每一个用例输出两个距离最近的点(坐标使用空格隔开),用逗号隔开,先按照第一个坐标大小排列,再按照第二个坐标大小排列。如果有多个解,则按照每个解的第一个点的坐标排序,连续输出多个解,用逗号隔开。Sample Input 111 1,2 2
2021-03-06 22:07:06
251
1
原创 OJ二叉树层次遍历相关
文章目录数据结构层次遍历层次遍历换行打印层次遍历分行打印且每行排好序Z型打印数据结构public class BinaryTree { static class Node{ Node left; Node right; int val; public Node(Node left, Node right, int val) { this.left = left; this.right
2021-03-06 21:18:01
202
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人