随笔分类 -  Java

摘要:一、启动回调 应用场景: 1.启动前环境检测? 2.启动时配置初始化? 3.启动后数据初始化? 类型 注入方式 回调时机 总体回调顺序 应用场景 ApplicationContextInitializer spring.factories 等3种 IOC容器初始化时被回调 1 启动前环境检测 Spr 阅读全文
posted @ 2022-08-14 09:51 windge 阅读(783) 评论(0) 推荐(0) 编辑
摘要:1.如何载入启动类的@SpringBootApplication注解? org.springframework.boot.BeanDefinitionLoader#load(java.lang.Class<?>) org.springframework.boot.BeanDefinitionLoad 阅读全文
posted @ 2022-08-12 18:27 windge 阅读(33) 评论(0) 推荐(0) 编辑
摘要:一、核心流程 加载bean定义 实例化 1.执行Before实例化BeanPostProcessor.postProcessBeforelnstantiation 2.执行构造方法 3.执行After实例化BeanPostProcessor.postProcessAfterInstantiation 阅读全文
posted @ 2022-08-11 22:05 windge 阅读(77) 评论(0) 推荐(0) 编辑
摘要:解析源码版本:spring-boot-1.5.7.RELEASE,spring-framework-4.3.11.RELEASE 一、整体流程 1.初始化:初始化器和监听器 org.springframework.boot.SpringApplication#initialize 2.启动监听器 S 阅读全文
posted @ 2022-08-11 21:57 windge 阅读(138) 评论(0) 推荐(0) 编辑
摘要:一、漏洞重现 Win10系统执行以下代码,弹出计算器,其中btyecodes执行的代码是 Runtime.getRuntime().exec("calc"); public class FastJsonBugTest { static { ParserConfig.getGlobalInstance 阅读全文
posted @ 2022-06-08 19:27 windge 阅读(5560) 评论(0) 推荐(0) 编辑
摘要:工厂模式有 3 种不同的实现方式,分别是简单工厂模式、工厂方法模式和抽象工厂模式 一、简单工厂模式 简单工厂模式每增加一个产品就要增加一个具体产品类和一个对应的具体工厂类,这增加了系统的复杂度,违背了“开闭原则”,如果要创建的产品不多,只要一个简单工厂类就可以完成。 1.优点和缺点 优点: 工厂类包 阅读全文
posted @ 2021-04-03 16:38 windge 阅读(95) 评论(0) 推荐(0) 编辑
摘要:原作者:赶集网石展。 核心军规 尽量不在数据库做运算 控制单表数据量 纯INT不超过10M条,含Char不超过5M条 保持表身段苗条 平衡范式和冗余 拒绝大SQL,复杂事务,大批量任务 字段类军规 用好数值字段,尽量简化字段位数 把字符转化为数字 优先使用Enum或Set 避免使用Null字段 少用 阅读全文
posted @ 2021-03-27 09:43 windge 阅读(150) 评论(0) 推荐(0) 编辑
摘要:一、使用top和jstack 1.找到CPU最高的进程 命令:top 2.查看最高进程的线程信息,找到CPU占用最高的线程 命令:top -Hp 进程ID VIRT 表示 Virtual Memory 虚拟内存RES 表示 Resident Memory 驻留内存SHR 表示 shared memo 阅读全文
posted @ 2021-03-20 19:49 windge 阅读(71) 评论(0) 推荐(0) 编辑
摘要:一、JDK内置工具对比 功能 JHSDB JCMD 其他工具 visualVM Java进程 N/A jcmd jps -lm 界面:overview 堆Dump jhsdb jmap --binaryheap jcmd pid GC.heap_dump jmap -dump pid 按钮:heap 阅读全文
posted @ 2021-03-14 15:33 windge 阅读(472) 评论(0) 推荐(0) 编辑
摘要:1. 线程(不常用) Thread 2. 线程池(常用) ThreadPoolExecutor 3. @Async注解(常用) 本质上是线程池 相关自动装配类TaskExecutionAutoConfiguration 线程池的队列上限配置 spring.task.execution.pool.qu 阅读全文
posted @ 2021-03-07 15:10 windge 阅读(387) 评论(0) 推荐(0) 编辑
摘要:一、什么是分布式定时任务 将一个任务拆分成多个独立的任务项(每个任务项也称为一个分片),由分布式的服务器分别执行某一个或多个分片任务项。 二、elastic-job主要特性 1.分布式调度协调,去中心化 2.弹性扩容缩容 3.失效转移 4.错过执行作业重触发 5.作业分片一致性,保证同一分片在分布式 阅读全文
posted @ 2021-01-25 19:18 windge 阅读(3382) 评论(0) 推荐(0) 编辑
摘要:一、使用背景 1.xxx-component-log是本地开发的一个日志包,2个项目需要同时使用 2.不想上传到私有仓储,同时要求使用Jenkins发布 3.采用方案:引用本地Jar包打包 二、解决办法 1.加scope和systempath 注意加在最外层pom(由于项目结构复杂,开始没有放最外层 阅读全文
posted @ 2021-01-12 19:35 windge 阅读(1825) 评论(0) 推荐(0) 编辑
摘要:一、SpringBoot比较重要的回调机制 演示项目:D:\javasrc\springboot学习笔记\sb-callback 参考课程:全方位深入解析最新版SpringBoot源码 D:\javastudy\全方位深入解析最新版SpringBoot源码\sb2 参考:https://www.cn 阅读全文
posted @ 2020-04-28 20:08 windge 阅读(2150) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示