- 博客(10)
- 收藏
- 关注
原创 Java中小型项目定时任务解决方案 SpringBoot + Quartz
ScheduleJob.executeInternal() 触发后,会通过反射调用 DispatchTask.run() , 对定时任务的业务处理以此类为入口,逻辑在 ITask为前缀的 service 中。通过继承 QuartzJobBean 重写 executeInternal() 当有定时任务被触发时就会对此函数进行回调,JobExecutionContext 中可以获取任务所需参数。提供了一些常用方法,用于操作调度器 Scheduler。用于项目启动时从定时任务表中查询定时任务信息。
2024-10-10 22:11:54 875
原创 Java响应式编程开发
Java响应式开发核心接口、组件、框架概述。响应式系统概念:简言之响应式系统在运行过程中,有请求到来随时都能处理,当系统有组件因网络或是其他原因阻塞了,系统依然可以处理请求,不过返回的数据为空,但请求会被缓存到内置消息队列中,当组件恢复后从消息队列中获取请求,处理完成后使用回调函数将数据主动从服务器返回给前端页面。
2024-05-27 22:36:37 1168
原创 面试题:innoDB主键索引的B+tree高度有多高呢?
假设: 一行数据大小为1K(1024字节),一页可以存放16行这样的数据,一页的大小 16 * 1024 = 16384 字节,InnoDB指针占用6个字节的空间,主键即使为bigint也只占用8个字节的空间设索引(键)的数量为 n ,键的总占用空间 : 键的数量 * 单个键的占用空间 = n * 8根据B+tree树的特性,指针的数量比当前节点键的数量多1个,所以指针的总占用空间 = ( 主键的数量 + 1 ) * 单个指针占用空间 = (n + 1) * 6计算n 的值 : 每个..
2022-05-12 15:54:25 735 1
原创 REST风格,给控制器方法问题
问题: 控制器方法中有一个需要根据id查询的业务,还有一个根据名称查询的业务:解决方案: 可以在控制器方法的请求路径中再加上一个前缀,和其他get请求区分范例:
2022-05-05 16:40:57 137
原创 什么场景下适合启用事务?
一个方法中有多个update、delete、insert操作,可以通过添加事务保证原子性,操作要么同时成功,要么同时失败。 多表查询统计场景下,可以通过事务控制将时间拉起到同一时间节点,保证数据的一致性。...
2022-05-05 10:33:18 1127 1
原创 SpringMVC的执行流程
整个过程开始于客户端发送了一个HTTP请求,Web服务器收到这个请求,如果匹配DispatcherServlet 配置的访问路径,就会交由DispatcherServlet 去处理。 DispatcherServlet 收到这个请求后,会根据请求信息(请求URL、请求头、请求参数cookie 等...) 及 HandlerMapping 的配置找到处理请求的处理器(Handler), 可将 HandlerMapping 看做是一个路由控制器,Handler就是目标主机,值得注意的是 SpringMVC 并
2022-05-05 09:47:38 85
原创 @Autowired和@Resource的区别
@Autowired是Spring提供的注解,@Resource是JDK提供的注解@Autowired单独使用只能按类型装配,@Resouce默认是按照名称装配,也支持按类型装配@Autowired按照类型装配对象,如果想要允许null值,可以在它的属性required中设置为false,如果想用按名称装配,就得配合@Qualifer注解,@Resource中有两个属性 name 和 type ,name是byName安装名称进行装配,如果没有指定值,那么默认是按照字段名去寻找依赖对象,如果在sett.
2022-05-05 08:49:49 442
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人