JavaEE
文章平均质量分 63
JingZz7
a fw
展开
-
Spring中有两个ID相同的bean会报错吗
在Spring 3.x 版本后这个问题发生了变化,提供了一个@Configuration去声明一个配置类,然后使用@Bean去实现bean的声明,这种方式完全取代了XML的配置形式,在这种情况下,如果我们在同一个类里面去声明多个相同名字的bean,IOC容器去解析的时候,只会注册第一个声明bean的一个实例,后面重复名字的bean就不会被重复注册了,如下代码,只会保存UserService01这个实例。原创 2023-03-09 21:32:59 · 893 阅读 · 0 评论 -
Mybatis如何进行分页的
Mybatis是Java应用开发的基础框架,而分页是我们时时都在使用的功能,一般我们可以把分页分为两种:Mybatis里面提供了三种分页方式:原创 2023-03-07 13:10:22 · 614 阅读 · 0 评论 -
死锁问题
对于循环等待条件,可以按顺序去申请锁资源,相对于给资源一个编号,按照编号去申请,就可以避免循环等待的问题。当然,死锁问题不仅仅局限在多线程领域,但凡涉及到互斥锁的地方,都有可能会出现,比如说MySQL数据库的行锁、表锁以及分布式锁等等,不管是在什么技术框架里面,只要是属于排他锁,那么锁的原理是相通的。出现死锁以后,可以通过jstack命令,去导出线程的dump日志,然后从dump日志里面,去定位到具体死锁的程序代码,通过修改程序代码,去破坏这四个条件中的任意一个。原创 2023-03-06 12:14:32 · 91 阅读 · 0 评论 -
Spring IOC工作流程
Spring里面提供了很多方式去声明一个Bean,比如在XML配置文件里面,通过< Bean >的标签,或者通过@Service注解,或者通过@Configuration配置类里面,通过@Bean注解去声明,等等。那么Spring在启动时,会去解析这些Bean,然后保存到IOC容器里。大致可以分为两个阶段。原创 2023-03-05 21:10:47 · 377 阅读 · 0 评论 -
Spring MVC理解
Srping MVC是属于Spring Framework生态里的一个模块,它是在servlet上构建并且使用了MVC模式设计的一个web框架,它的主要目的是为了去简化传统的servlet+jsp模式下的web开发方式。所以,Spring MVC天生就是为MVC模式而设计的,因此在开发MVC应用的时候会更加的方便和灵活。原创 2023-03-05 16:49:32 · 102 阅读 · 0 评论 -
G1入门理解
G1是jdk1.9的默认垃圾收集器,G1收集器兼顾低延迟和高吞吐在服务端运行,HotSpot团队期望取代CMS收集器。也就是在满足停顿时间的情况下获取最大的吞度量。有两种收集模式Young GC和Mixed GC。G1收集器将堆内存划分成大小相等的Region,新生代,老年代也就成了逻辑概念。整体上采用的是标记-整理算法,局部采用了复制算法。每一个方块叫做region,堆内存会分为2048个region,每个region大小等于堆内存除以2048。原创 2023-03-04 22:14:47 · 224 阅读 · 1 评论 -
CMS入门理解
CMS 是的缩写,直译过来就是并发的标记清除算法。CMS是搭配新生代的串行和并行的垃圾回收器使用,不能和新生代的Parallel Scavenge配合使用。CMS针对老年代,采用标记-清除算法,用户线程和垃圾回收线程并行执行,特点是低暂停**注意:STW(stop the world):意思就是暂停用户线程。原创 2023-03-04 18:02:45 · 285 阅读 · 0 评论 -
Session/Cookie/Token
1、 Cookie 跨站是不能共享的,这样的话如果你要实现多应用(多系统)的单点登录(SSO),使用 Cookie 来做需要的话就很困难了(要用比较复杂的 trick 来实现,有兴趣的话可以看文末参考链接)画外音: 所谓单点登录,是指在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。但如果用 token 来实现 SSO 会非常简单,如下只要在 header 中的 authorize 字段(或其他自定义)加上 token 即可完成所有跨域站点的认证。原创 2023-01-08 12:35:29 · 332 阅读 · 0 评论