首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
BoomShell
掘友等级
Java开发
业余科技爱好者……不定期分享一些原创的边边角角的东西……
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
26
文章 26
沸点 0
赞
26
返回
|
搜索文章
最新
热门
Class.forName & ClassLoader.loadClass 比较
类的生命周期,分为加载,连接(验证,准备,解析),初始化,使用,卸载这几个过程。 Class.forName和ClassLoader.loadClass都会执行加载过程,将指定的类加载到内存中供使用。 但加载后,在默认情况下:Class.forName会初始化,ClassLoa…
Spring AOP源码实现分步解析
最基本的使用,在创建了业务接口和实现类后,通过配置<aop:config>....</aop:config>标签来指定<aop:pointcut和<aop:advisor。示例如下: Spring环境启动过程中,会调用AbstractApplicationContext.ref…
Condition的await/signal源码实现简析
必须在Lock.lock()后才能进行Condition.await操作,原因文章后面会讲。 Condition基于AQS实现,AQS可以参考AQS源码分析及核心方法解析。 功能:使用 当前线程 和 waitStatus值Node.CONDITION 构造新节点,并添加到条件队…
ReentrantLock-基于AQS实现独占锁
ReentrantLock是基于AQS实现的一款独占锁,有公平锁和非公平锁两种模式。 3 Sync是一个抽象类,有两个实现类NonfairSync/FairSync,分别用来实现非公平锁/公平锁。 本文仅从ReentrantLock的lock/unlock的实现,分析如何基于A…
AQS源码分析及核心方法解析
AQS提供了一个基于FIFO队列实现锁和同步器的基本框架。 1 同步器需要以一个单独的数字表示状态。 2 同步器需要定义一个继承AQS的内部类去实现同步属性。 3 内部类继承AQS后,必须根据需要实现 tryAcquire*/tryRelease* 去改变state。 shar…
SpringBoot : 启动过程简析
SpringBoot的启动,实际也就是启动了一个定制化的Spring容器。也就是创建了一个ConfigurableApplicationContext对象(AbstractApplicationContext的子类),然后执行refresh()方法。对于Spring的启动过程,…
SpringBoot : 给初学者的实用配置指引
SpringBoot可以通过parent或dependencyManagement两种方式引入。 或直接运行SpringApplication.run(SampleApp.class,args);也可以启动。 @EnableAutoConfiguration : 启用自动配置,…
Spring启动和Bean创建过程中的可扩展接口
Spring中有一些可以扩展的接口,可以用来在工作中更深度的使用Spring,这些接口大多分布在AbstractApplicationContext.refresh() 和 AbstractAutowireCapableBeanFactory.createBean()这两个方法…
Spring自定义标签配置的源码解析与实现
Spring中,从AbstractXmlApplicationContext开始,通过对NamespaceHandler & BeanDefinitionParser,来实现自定义xml配置的功能。 加载过程是由XmlBeanDefinitionReader实现的,X…
加快web访问的一些最佳实践
最终用户的80%时间都花在前端,比如下载图片,js,css等。所需减少展示一个页面所需要的http请求是快速展示页面的关键。 一种方式是简化页面设计。在此基础上: 1)压缩文件:将所有的script文件压缩为一个单独文件,将所有的css文件压缩为一个单独文件。 2)CSS Sp…
下一页
个人成就
文章被点赞
193
文章被阅读
49,868
掘力值
1,258
关注了
8
关注者
46
收藏集
1
关注标签
21
加入于
2019-11-06