Java程序员
文章平均质量分 89
普通网友
这个作者很懒,什么都没留下…
展开
-
一篇文章让你吃透spring aop底层原理
这个方法上面我都分析了aware相关的方法, before init after方法,由于 自己的类非aware ,因此不会执行, before没有重写, 因此不重要下面直接after方法。这个地方是二级缓存中存在,删除进行创建对象,ps:二级缓存中存放的是只进行实例化,没有进行初始化的对象。(img-GJfjiPS6-1710854282142)]进来的时候实体对象不是代理对象,我们继续往下看从哪里开始处理成的代理对象的。我看的5.3.x版本的spring 开始没重写 这个before方法。原创 2024-03-19 21:18:13 · 727 阅读 · 0 评论 -
spring框架-认识IOC(二,java基础面试
统一的资源文件读取方式已在监听器中注册的bean的事件以下是三种较常见的 ApplicationContext 实现方式:1、ClassPathXmlApplicationContext:从classpath的XML配置文件中读取上下文,并生成上下文定义。应用程序上下文从程序环境变量中取得2、FileSystemXmlApplicationContext :由文件系统中的XML配置文件读取上下文。3、XmlWebApplicationContext:由Web应用的XML文件读取上下文。原创 2024-03-19 18:31:03 · 897 阅读 · 0 评论 -
MySQL中MyISAM为什么比InnoDB查询快
" + spanTime.Minutes + “分” + spanTime.Seconds + “秒” + spanTime.Milliseconds + “毫秒”);" + spanTime.Minutes + “分” + spanTime.Seconds + “秒” + spanTime.Milliseconds + “毫秒”);1、分别通过id、trade_no查询10000~20000区间的记录,并获得查询所花费时间。这里我们字段都采用Int类型,是为了方便我们,使用区间查询,来验证查询速度。原创 2024-03-19 15:55:00 · 422 阅读 · 0 评论 -
java并发锁ReentrantLock源码分析一 可重入支持中断锁的实现原理
2如果node的前节点是head,因为head初始化时,都是假节点,不代表有线程拥有锁,所以,再次尝试获取锁,如果获取锁,则将锁的 head 设置为当前获取锁的线程的 Node,然后返回 false。尾部为空,表示没有线程持有锁,为什么该获取锁没有成功呢?@4 处的代码,就是当前 Node 的第一个不为取消状态的前置节点,重构 CLH 队列后,返回 false, 再次进入到 acquireQueued 的无限循环中,又继续 acquireQueued 的流程,继续尝试获取锁,获取锁,或者阻塞。原创 2024-03-19 13:21:31 · 794 阅读 · 0 评论 -
Hibernate框架介绍以及入门 【二,中级java面试问题大全及答案大全
column:表中的字段(类当中的属性名和表当中的字段名如果一致则column省略)以上属性文件的方式不能引入映射文件的方式(手动编写代码去加载映射文件)一种方式:属性文件的方式:hibernate.properties。二种方式:XML文件的方式:hibernate.cfg.xml。java当中的变量和表当中的相同如果不同时不会报错会创建新的列。c、自动建表:hibernate.hbm2ddl.auto。三、核心的配置hibernate.cfg.xml。none:不使用hibernate的自动建表。原创 2024-03-19 02:28:50 · 830 阅读 · 0 评论 -
掌握了SpringBoot的自动装配原理后你会发现自定义Starter也是非常容易的哦!
return ssl;然后创建对应的配置类。@ConditionalOnClass(Redisson.class) // 条件装配// 关联 属性配置类@Bean// 单节点连接配置这样我们的自定义Starter的功能就差不多了,然后是要创建spring.factories文件。来实现和SpringBoot项目的自动装配。最后为了增加在添加属性文件的时候有提示信息。我们可以先导入依赖2.4.8然后添加json文件,名称必须为。原创 2024-03-18 18:34:04 · 763 阅读 · 0 评论 -
【leetcode刷题】49,linux服务器开发面试
Solution前缀和+哈希表前缀和:nums 的第 0 项到 当前项 的和。每个元素对应一个“前缀和”遍历数组,根据当前“前缀和”,在 map 中寻找「与之相减 == k」的历史前缀和当前“前缀和”与历史前缀和,差分出一个子数组,该历史前缀和出现过 c 次,等价于当前项找到 c 个子数组求和等于 k。遍历过程中,c 不断加给 count,最后返回 countCode所有leetcode代码已同步至欢迎star/***/i++) {Result复杂度分析。原创 2024-03-18 14:53:05 · 750 阅读 · 0 评论 -
JUnit5学习之二:Assumptions类,阿里P8成长路线
log.info(“CI环境才会打印的tryAssumeTrueWithMessage”);log.info(“CI环境才会打印的tryAssumeTrueWithMessage”);(img-rJid8YaG-1710696941290)]() -> “环境不匹配而跳过,当前环境:” + envType);() -> “环境不匹配而跳过,当前环境:” + envType);log.info(“CI环境才会打印的assumeTrue”);log.info(“CI环境才会打印的assumeTrue”);原创 2024-03-18 01:35:52 · 379 阅读 · 0 评论