Java
文章平均质量分 93
jack xu1
stay hungry,stay foolish..
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
经典大厂面试题——缓存穿透、缓存击穿、缓存雪崩
这里有两种处理方案,第一种就是拿不到锁就阻塞等待在这里,等待一段时间我们再去取缓存,但是在生产环境,我们一般是不会这样去用的,因为这里存在一个非常大的风险,就是我们系统既然用到了缓存,那这个请求量应该是比较大的,那你要阻塞在这里,那阻塞多久呢,那阻塞的这个时间会不会大量请求夯在这里,把整个RPC的连接池给打爆,针对这种情况我们更多的是采取返回一个默认值的方式,而不是让它直接阻塞等待在这里。,所以说他查询缓存不存在,就直接去查数据库,导致我们的数据库的压力非常大,这就是缓存穿透的场景。在业界也有比较成熟的。原创 2025-04-25 00:58:39 · 935 阅读 · 0 评论 -
xxl-job详细使用指南
新建任务说明本篇文章承接上文《xxl-job快速入门指南》,上一次和大家简单介绍了下 xxl-job 的由来以及使用方法,本篇文章将会详细介绍一些高级使用方法及特性。上文中我们在新建一个任务的时候发现有很多的选项,现在我们来详细聊一聊他们的作用。路由策略路由策略是指一个任务可以由多个执行器完成,那具体由哪一个完成呢,这就要看我们指定的路由策略了,这个参数当执行器做集群部署的时候才有意义。Quartz中只能随机负载那么这里的第一个,最后一个是按什么顺序来的呢,就是点击查看-注册节点中的1,2原创 2021-02-02 13:10:04 · 23370 阅读 · 2 评论 -
xxl-job快速入门指南
前言大家好,我是 jack xu,今天和大家分享一下 xxl-job,xxl 是许雪里大神名字的首字母缩写,他是大众点评的程序员,也是利用业余时间创作的一个开源的任务调度系统。除了 xxl-job 之外,作者还开源了许多其他组件,现在一共有11个开源项目,组成了 xxl 家族。到目前为止在 xxl-job 官网上登记使用的公司有几百家,其实很多都没有登记,所以真正在使用的远不止这几百家,最新发布版本是:2.2.0。Quartz的不足在介绍 xxl-job 之前先介绍一下 Quartz,Quartz 有原创 2021-01-30 19:13:15 · 7902 阅读 · 1 评论 -
java核心基础之自定义注解
认识注解注解( Annotation )相当于一种标记,在程序中加入注解就等于为程序打上某种标记,没有加,则等于没有任何标记,以后,javac编译器、开发工具和其他程序可以通过反射来了解你的类及各种元素上有无何种标记,看你的程序有什么标记,就去干相应的事,标记可以加在包、类,属性、方法,方法的参数以及局部变量上。作用分类:1、编写文档:通过代码里标识的注解生成文档【生成文档doc文档】2、代码分析:通过代码里标识的注解对代码进行分析【使用反射】3、编译检查:通过代码里标识的注解让编译器能够实现基本原创 2021-01-13 11:49:07 · 179 阅读 · 0 评论 -
java核心基础之泛型
为什么要使用泛型大家好,我是 jack xu,今天给大家讲的是 java 核心基础的第二篇,泛型,这个东西熟悉又陌生,熟悉是相信大家每天都在用,List< Long>这个就是泛型,陌生是泛型还有一些其他偏门冷门的知识,今天给大家查漏补缺一下。不喜勿喷,高手也可以略过,先看下面一段代码:这段代码把 Integer 和 String 类型的数据都塞进去,然后打印出来,list 默认是可以存放任意类型的数据,代码是没毛病的,运行一下报错了,Integer 不能转成 String 类型的,为了原创 2020-11-14 22:41:09 · 319 阅读 · 0 评论 -
java核心基础之反射
前言大家好,我是 jack xu,今天跟大家介绍核心基础里面的反射,反射这个东西你说它重要也重要,不重要也不重要。重要是当你看一些框架的源码时候,里面会用到反射的代码,你不会是看不懂的。不重要是因为我们平时的工作中绝大多数都是在写业务代码,真正操作类的场景很少。这个跟英语一样,不会不影响你的生活,但是当你往上层高层走的时候,不会会制约你的发展。应用我把我在工作中用的场景给大家举下例子,加强一下大家学习的信心。一个是我在写 openapi 时候,做一个切面的拦截,获取请求参数,代码如下另一个是我在写原创 2020-10-31 20:01:19 · 245 阅读 · 1 评论 -
你真的会用@Transactional吗?
小伙伴大家好,我是 jack xu,今天跟大家讲一讲 @Transactional,这个注解相信大家应该都用过,它能保证方法内多个数据库操作要么同时成功、要么同时失败。使用 @Transactional 注解时需要注意许多的细节,虽然它看起来简单,但不知道底层原理的话,用起来往往达不到我们想要的效果。事务分为编程式事务和声明式事务两种。编程式事务指在代码中手动的管理事务的提交、回滚等操作,代码侵入性比较强。声明式事务是基于 AOP 面向切面的,它将具体业务与事务处理部分解耦,代码侵入性很低,声明式事务也有原创 2020-06-02 20:40:17 · 3444 阅读 · 3 评论
分享