JAVA技术栈
文章平均质量分 50
sinian_四年
极致完美
展开
-
SpringBoot配置文件加载顺序
Spring Boot 启动时,会自动加载 JAR 包内部及 JAR 包所在目录指定位置的配置文件(Properties 文件、YAML 文件),下图中展示了 Spring Boot 自动加载的配置文件的位置及其加载顺序,同一位置下,Properties 文件优先级高于 YAML 文件。原创 2023-09-08 14:07:03 · 121 阅读 · 0 评论 -
在SpringBoot框架下,接口有几个实现类,在不改变任何源码的情况下,SpringBoot怎么知道给接口注入哪个实现类的依赖呢?
1.使用条件注解(如@ConditionalOnProperty)来根据应用程序的配置动态选择要注入的实现类是一种非常灵活的方法,它允许你根据配置文件中的属性值来决定要使用的实现类。首先,在实现类上使用@Component或@Service等注解进行标记,然后在依赖注入点使用@Qualifier注解来指定要注入的实现类的名称。在这个示例中,MyServiceConsumer通过自动注入MyService来获取实现类,根据配置中的属性值,将注入MyServiceImpl1或MyServiceImpl2。原创 2023-09-08 13:44:45 · 784 阅读 · 0 评论 -
Java虚拟机反射机制和动态代理
获取类信息: 使用反射可以获取类的信息,如类名、父类、接口、构造函数、方法、字段等。创建对象: 使用反射可以在运行时动态创建对象。调用方法: 可以使用反射来调用类的方法。访问字段: 可以使用反射来访问类的字段。泛型信息: 反射还允许你获取泛型类型信息。原创 2023-09-07 18:50:54 · 124 阅读 · 0 评论 -
局部代码重复执行
b. 如果 bi 已经在集合 used 中,就将 bi 增加 i,直到 bi 不在 used 中为止,以保证 bi 不会重复。2.对于任意 i ∈[1, n],满足 ( ai+ bi ) mod i = 0。a. 计算当前位置的 bi = i - a[i-1],确保 bi 大于等于 1。3.对于任意i ∈[1, n],满足 1 ≤bi ≤10^9。第二行输入n个整数,第i个为 ai (1 ≤ai≤106)4.对于任意1≤i<j≤n,满足 bi≠ bj。第—行输入一个整数 n (1 ≤n ≤105)原创 2023-08-27 15:12:24 · 137 阅读 · 0 评论 -
Mysql查询
【代码】Mysql查询。原创 2023-08-17 15:37:05 · 504 阅读 · 0 评论 -
【总结笔记】Spring
配置文件以及配置类主要作用:指定需要加载的Bean。原创 2023-06-13 17:14:13 · 696 阅读 · 0 评论 -
Java重要基本概念理解
Java 提供了两种锁机制来控制多个线程对共享资源的互斥访问,第一个是 JVM 实现的 synchronized(阻塞同步锁),而另一个是 JDK 实现的 ReentrantLock(非阻塞同步锁)。但是反射机制诞生之后,我们可以在运行时,实时动态的获取这些对象的具体的数据类型内部信息。⑥底层实现不一样,synchronized是同步阻塞,使用的是悲观并发策略,lock是同步非阻塞,采用的是乐观并发策略。**定义:**也就是两个线程在各自拥有锁的情况下,又去尝试获取对方的锁,从而造成的一直阻塞的情况。原创 2023-02-22 19:23:22 · 356 阅读 · 0 评论 -
Java-Stream流基本使用
collection.stream将会破坏原有的数据结构,可以通过collect方法收集,可以用Collectors提供的构造器,add等方法构造形成新的数据结构。Collection集合转化为数组,存在复合数据结构并不能直接转化为数组,只能通过for循环,手动转化。原创 2023-02-19 21:55:34 · 144 阅读 · 0 评论 -
reggie项目部署
配置根页面请求,和反向代理请求= 严格匹配。如果这个查询匹配,那么将停止搜索并立即处理此请求。~ 任何!~ 任何都不匹配~* 任何以!~*任何以…都不匹配^~ 任何以…开始的都匹配配置了Nginx环境变量,在任何位置可启动和查看Nginx进程。原创 2023-02-19 19:38:48 · 68 阅读 · 0 评论 -
volatile与synchronized的区别
6.另外一方面,因为volatile借助了内存屏障来帮助其解决可见性和有序性问题,而内存屏障的使用还为其带来了一个禁止指令重排的附件功能,所以在有些场景中是可以避免发生指令重排的问题的。5.一方面是因为synchronized是一种锁机制,存在阻塞问题和性能问题,而volatile并不是锁,所以不存在阻塞和性能问题。2.volatile仅能实现变量的修改可见性,并不能保证原子性;synchronized则可以保证变量的修改可见性和原子性。synchronized则可以使用在变量、方法、和类级别的。原创 2023-02-18 14:42:11 · 214 阅读 · 0 评论 -
Nginx基本知识
Nginx基本知识原创 2023-02-14 14:50:59 · 59 阅读 · 0 评论 -
SpringCache基本知识
SpringCache基本知识原创 2023-02-14 14:31:09 · 55 阅读 · 0 评论 -
Redis常用命令
Redis基本知识原创 2023-02-13 23:55:06 · 59 阅读 · 0 评论 -
Linux常用命令
Linux常用命令原创 2023-02-13 23:25:14 · 42 阅读 · 0 评论 -
Git常用命令
Git常用命令原创 2023-02-13 23:04:40 · 42 阅读 · 0 评论 -
MybatisPlus基本知识
MybatisPlus基本知识。原创 2023-02-13 22:33:08 · 62 阅读 · 0 评论 -
SpringBoot基本知识
起步依赖+引导类。原创 2023-02-13 18:09:07 · 63 阅读 · 0 评论 -
SpringMVC基本知识
SpringMVC基本知识摘要原创 2023-02-13 17:52:08 · 40 阅读 · 0 评论 -
Spring整合Mybatis基本知识
SqlsessionFactoryBuider可以看成类似IOC等容器。原创 2023-02-13 12:18:41 · 54 阅读 · 0 评论 -
Spring基本知识
Bean对象获取Bean实例化无参构造方法实例化Bean对第三方Bean管理原创 2023-02-12 22:42:02 · 61 阅读 · 0 评论 -
Mybatis基本知识
导入坐标(依赖)Mybatis配置文件(映射关系)映射文件映射接口(需要与映射文件位于统一目录下)Mybatis应用。原创 2023-02-12 22:01:05 · 55 阅读 · 0 评论 -
前端基本知识(HTML/CSS/JS/JSON/AJAX/VUE/Element-UI)
前端基本知识(HTML/CSS/JS/AJAX/VUE/Element-UI)原创 2023-02-12 17:38:38 · 167 阅读 · 0 评论 -
集合容器Collection
转载笔记原创 2023-02-10 21:23:17 · 50 阅读 · 0 评论 -
Java反射机制
Java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为Java语言的反射机制。原创 2023-02-10 20:33:37 · 91 阅读 · 0 评论 -
循环依赖问题
第二级缓存存放属性注入后的Bean对象。第三级缓存存放实例化的Bean对象。第一级缓存存放初始化后的Bean。原创 2023-02-07 21:43:55 · 87 阅读 · 0 评论 -
HTML&CSS&JS
HTML&CSS&JS1.3、HTML-表单标签1.4、HTML-页面框架1.5、HTML总结2、CSS页面渲染2.1、CSS的语法2.2、CSS盒子模型2.3、CSS布局3、JS页面交互3.1、JS基本语法4、CS/BS架构4.1、CS:客户端服务器架构模式优点∶充分利用客户端机器的资源,减轻服务器的负荷(一部分安全要求不高的计算任务存储任务放在客户端执行,不需要把所有的计算和存储都在服务器端执行,从而能够减轻服务器的压力,也能够减轻网络负荷)缺原创 2022-09-01 22:05:13 · 138 阅读 · 0 评论 -
JDBC核心技术
JDBC(Java Database Connectivity)是一个独立于特定数据库管理系统、通用的SQL数据库存取和操作的公共接口(一组API),定义了用来访问数据库的标准Java类库,()使用这些类库可以以一种标准的方法、方便地访问数据库资源。JDBC为访问不同的数据库提供了一种统一的途径,为开发者屏蔽了一些细节问题。JDBC的目标是使Java程序员使用JDBC可以连接任何提供了JDBC驱动程序。...原创 2022-08-31 18:22:55 · 177 阅读 · 0 评论 -
SQL优化
①观察服务器状态,观察是否存在周期性波动,如果是加缓存或者更改缓存失效策略②如果仍有不规则延迟或卡顿,则开启慢查询,使用EXPLAIN、SHOW、PROFILING工具进行分析,如果是SQL等待时间长,则调优服务器参数,如果是SQL执行时间长,则进行索引设计优化(物理优化),JOIN表过多,需要优化(查询逻辑优化),数据表设计优化(数据类型优化).③如果SQL查询到达瓶颈,则从架构上优化,读写分离(主从架构)、分库分表(垂直分库、垂直分表、水平分表)...原创 2022-08-31 17:20:54 · 650 阅读 · 0 评论 -
JavaSE进阶
(1)线程基本概念:一个线程是一个程序内部的顺序控制流。(2)进程的基本概念:每个进程都有独立的代码和数据空间(进程上下文),进程切换的开销大。(3)线程:轻量的进程,同一类线程共享代码和数据空间,每个线程有独立的运行栈和程序计数器(PC),开销小。(4)多进程:在操作系统中,能同时运行多个任务(程序)。(5)多线程:在同一应用程序中,有多个顺序流同时执行。(6)线程的概念模型:虚拟的CPU,封装在java.lang.Thread类中。(7)每个线程都是通过某个特定Thread对象的方法run()来完成其操原创 2022-08-31 16:56:49 · 274 阅读 · 0 评论 -
JavaSE
JavaSE 5.0 中提供了Varargs(variable number of arguments)机制,允许直接定义能和多个实参相匹配的形参。从而,可以用一种更简单的方式,来传递个数可变的实参。可变形参可以理解为数组类型。Java权限修饰符public、protected、provate置于类的成员定义前,用来限定对象对该类成员的访问权限。...原创 2022-08-31 16:49:08 · 433 阅读 · 0 评论