自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 ThreadLocal一篇就够了&源码解读

ThreadLocal类用来提供线程内部的局部变量。这种变量在多线程环境下访问(通过get和set方法访问)时能保证各个线程的变量相对独立于其他线程内的变量。ThreadLocal实例通常来说都是private static类型的,用于关联线程和线程上下文。提供线程内的局部变量,不同的线程之间不会相互干扰,这种变量在线程的生命周期内起作用,减少同一个线程内多个函数或组件之间一些公共变量传递的复杂度。

2024-04-11 13:57:02 612 1

原创 京东多线程编排框架AsyncTool-快速掌握

经常会有这样的调用场景:app(或web前端)调用后台的一个接口,该接口接到该请求后,需要调用其他多个微服务来获取数据,最终汇总一个最终结果返回给用户。整如用户请求 我的订单”,后台在收到请求后,就需要去调用用户详情RPC、商品详情RPC、库存RPC,优惠券RPC等等很多个服务。有些服务是可以并行去请求的,但有些服务是依赖于某个服务的返回值的(如查库存、优惠券,就依赖于商品详情回复到达后才能去请求)。

2024-03-30 15:20:32 704 1

原创 并发编程神器CompletableFuture高级用法与实战

CPU密集型也叫计算密集型,此时,系统运行时大部分的状况是CPU占用率近乎100%,I/O在很短的时间可以完成,而CPU还有许多运算要处理,CPU使用率很高。简单的说,就是需要大量的输入输出,例如读写文件、传输文件,网络请求。exceptionally 用于处理回调链上的异常, 回调链上出现的任何异常,回调链不继续向下执行,都在exceptionally中处理异常。如果你的任务是CPU密集型,使用比处理器更多的线程是没有意义的,所以选择 ParallelSteam,因为它不需要创建线程池,更容易使用。

2024-03-29 21:53:36 606 1

原创 并发编程神器CompletableFuture

有很多优势,但同时也存在不足,至少表现如下:1、在没有阻塞的情况下,无法对Future的结果执行进一步的操作。Future不会告知你它什么时候完成,你如果想要得到结果,必须通过一个get()方法,该方法会阻塞直到结果可用为止。2、它不具备将回调函数附加到Future后并在Future的结果可用时自动调用回调的能力,而且它无法解决任务相互依赖的问题。

2024-03-29 21:46:39 646 1

原创 JUC并发编程入门

JUC是java.util.concurrent包的缩写,包结构如下,说白了就是并发场景多线程编程的工具类。JUC就是在并发场景下,怎么让程序尽量通过有限的硬件,高效的处理请求,并且保证程序“线程安全”。1、先有进程,然后进程可以创建线程,线程是依附在进程里面的,线程里面可以包含多个协程2、进程之间不共享全局变量,线程之间共享全局变量,但是要注意资源竞争的问题。

2024-03-24 15:30:09 340 1

原创 synchronized原理剖析与优化

synchronized原理剖析与优化

2024-03-24 00:05:26 625 1

原创 jsr250的 @RolesAllowed("ADMIN")不生效解决办法

security中jsr250的 @RolesAllowed(“ADMIN”)不生效解决办法在springmvc.xml中添加即可,开启对于AOP的支持,如下:<aop:aspectj-autoproxy proxy-target-class=“true”></aop:aspectj-autoproxy>...

2019-12-15 12:59:18 1116 3

转载 Maven依赖中的scope作用域详解

Maven的一个哲学是惯例优于配置(Convention Over Configuration), Maven默认的依赖配置项...

2019-12-06 09:31:17 256

转载 Java反射机制全解

反射的引入:Object obj = new Student();若程序运行时接收到外部传入的一个对象,该对象的编译类型是Object,但程序又需要调用该对象运行类型的方法:1.若编译...

2019-12-05 17:16:38 147

转载 什么是区块链?这是我见过的最通俗易懂的解释

                   什么是区块链?这是我见过的最通俗易懂的解释最近区块链非常火,关注度和曝光度持续上升,国内众多巨头公司纷纷张开双臂拥抱,把区块链当做互联网时代的伟大颠覆性创新,一窝蜂研究怎样把区块链变成自己...

2019-12-05 10:13:23 236 1

原创 MyBatis连接池分析

PooledDataSource将java.sql.Connection对象包裹成PooledConnection对象放到了PoolState类型的容器中维护。 MyBatis将连接池中的PooledConnection分为两种状态: 空闲状态(idle)和活动状态(active),这两种状态的PooledConnection对象分别被存储到PoolState容器内的idleConnections...

2019-12-02 13:14:20 284

转载 ssm框架事务回滚问题(艰辛总结)

自己之前是按照视频整合ssm框架,老师在配置好事务之后,并未进行测试,自己也是出于好奇就进行事务回滚测试,自己插入两条记录到数据库,第一条是正确信息,然后第二条是错误的,但是发现当报出异常后数据库信息未发生回滚,自己也是通过各方大佬是各种方法去做测试,依然没有一点效果(搞了一个下午,很崩溃),有时候被bug搞得比较晕的时候最应该做的就是什么也不做,休息一下,然后第二天还是依旧和bug继续做斗争,自...

2019-12-02 11:02:04 296

原创 AspectJ的切入点表达式---execution表达式详解

AspectJ的切入点表达式—execution表达式详解切入点表达式的写法: 关键字:execution(表达式) 表达式: 访问修饰符 返回值 包名.包名.包名...类名.方法名(参数列表) 标准的表达式写法: public void com.itcast.service.impl.AccountServiceImpl.saveAc...

2019-11-23 15:10:18 337

原创 @Resource注入数据为null的问题

@Resource注入数据为null的问题问题原因:jdk版本过高,jdk1.8(不包括1.8)以上会和@Resource产生兼容问题,导致注入数据失败解决方案(2种):1.jdk改为1.8版本2.如果不想改jdk版本,可在pom.xml中添加以下依赖<dependency> <groupId>javax.annotation</groupId&gt...

2019-11-21 12:32:15 2267 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除