上一页 1 2 3 4 5 6 7 8 9 ··· 23 下一页
摘要: AOP: 我们有一个简单的java类,我们希望给操作前后加日志。 public class UserService { public void saveUser(User user) { // 保存用户到数据库 System.out.println("Save user: " + user); } 阅读全文
posted @ 2023-03-27 12:54 NobodyHero 阅读(40) 评论(0) 推荐(0)
摘要: 扩展点: BeanPostProcessor:在 Bean 初始化前后进行一些处理,常用于 AOP 功能的实现。 postProcessBeforeInitialization(初始化bean前) postProcessAfterInitialization(初始化bean后) BeanDefini 阅读全文
posted @ 2023-03-26 23:44 NobodyHero 阅读(33) 评论(0) 推荐(0)
摘要: 3.this.refresh(): refresh的整体结构 1.Spring应用上下文启动准备阶段 this.prepareRefresh(); 记录了应用程序的启动时间,并设置为活跃状态。 根据日志的打印规范打印所需内容 初始化属性(系统变量、环境变量、配置文件等)并进行验证。 这段代码: 如果 阅读全文
posted @ 2023-03-26 00:01 NobodyHero 阅读(29) 评论(0) 推荐(0)
摘要: Spring启动过程? tips: BeanDefinition的定义: Spring是Bean的容器,Bean和普通的java实例的区别就在于bean在java的实例上加入了一些Spring封装的属性(作用域,加载模式,是否单例等...) BeanDefinition就是用来实例化对应的bean。 阅读全文
posted @ 2023-03-24 18:37 NobodyHero 阅读(13) 评论(0) 推荐(0)
摘要: 内存模型: java内存模型定义了JVM虚拟机如何与计算机的内存进行交互。java内存模型把内存划分为两部分:主内存和工作内存。主内存共享,工作内存线程私有。 java内存模型的实现有两种:基于锁的同步和volatile、 基于锁的同步和synchronized 线程私有变量可以通过ThreadLo 阅读全文
posted @ 2023-03-22 23:38 NobodyHero 阅读(33) 评论(0) 推荐(0)
摘要: JVM的内存结构: 1.程序计数器:线程私有,保存执行指令地址。 2.java虚拟机栈(线程创建,并存方法调用的相关参数): 每个线程在创建时候都会被分配一个虚拟机栈。当线程调用方法时,会创建一个栈帧,入栈,方法执行完毕栈帧出栈。 栈帧会在调用方法的时候把存局部变量表,操作数栈,动态连接,方法出口等 阅读全文
posted @ 2023-03-22 01:41 NobodyHero 阅读(22) 评论(0) 推荐(0)
摘要: 泛型: 为什么说Java是假泛型? java的泛型是伪泛型。Java 的泛型仅仅在编译期有效,在运行期则会被擦除,也就是说所有的泛型参数类型在编译后都会被清除掉。 例如我们无法向List<String>的集合中add进Integer类型的对象,但是如果我们通过反射,可以对add方法invoke进In 阅读全文
posted @ 2023-03-21 02:23 NobodyHero 阅读(21) 评论(0) 推荐(0)
摘要: 反射的用法和场景: 1.newInstance()创建对象: 首先需要获取类对象 Class class = Entity.class 获取class后,创建对象可以通过: Entity entityclass = (Entity)class.newInstance() 进行对象的创建 如果类有自己 阅读全文
posted @ 2023-03-20 00:57 NobodyHero 阅读(14) 评论(0) 推荐(0)
摘要: 线程池的核心线程如何回收? 首先要了解线程池的状态:Runing: 运行状态,能接受新任务并处理任务 Shutdown:不再接受新任务,但是能处理已添加的任务。调用shutdown()后,由Running >shutdown stop:不接受,不处理,所有处理任务停止。 调用shutdownNow( 阅读全文
posted @ 2023-03-17 01:36 NobodyHero 阅读(36) 评论(0) 推荐(0)
摘要: 线程池的拒绝策略: • CallerRunsPolicy - 当触发拒绝策略,只要线程池没有关闭的话,则使用调用线程直接运行任务。一般并发比较小,性能要求不高,不允许失败。但是,由于调用者自己运行任务,如果任务提交速度过快,可能导致程序阻塞,性能效率上必然的损失较大 • AbortPolicy - 阅读全文
posted @ 2023-03-16 00:53 NobodyHero 阅读(22) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 7 8 9 ··· 23 下一页