自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 资源 (2)
  • 收藏
  • 关注

转载 反向代理为何叫反向代理?

反向代理之所以叫反向代理,是因为它代理的对象是服务端,而非客户端。反向代理服务器位于用户和目标服务器之间,代替真实服务器响应客户端的请求。所有的客户端请求都会先经过反向代理服务器,然后由它转发到真实的服务器上,客户端并不知道自己正在访问的是真实服务器,而是以为正在与反向代理服务器进行通信。

2024-04-17 13:03:26 2

原创 Ribbon配置IRule,导致请求路由错乱或No instances available for ***

Ribbon配置IRule,导致请求路由错乱或No instances available for ***

2023-03-22 18:15:36 312

原创 spring事务管理器原理?mybatis如何集成spring事务管理器?spring事务commit方法如何与DataSource集成?

spring,事务管理器,mybatis

2023-02-23 17:19:19 582

转载 Java SPI机制

介绍了java spi机制作用,spi机制的应用,spi机制代码实例

2023-02-17 11:01:19 87

原创 java注解

java基础注解

2023-02-16 15:39:51 235

原创 hystrix使用线程池(THREAD)和信号量(SEMAPHORE)隔离策略区别

hystrix使用线程池(THREAD)和信号量(SEMAPHORE)隔离策略区别

2022-07-23 17:52:58 1228 1

原创 AQS如何实现ReentrantLock

1.AQS如何实现ReentrantLock的lock()和unlock()一个AQS维护一个“同步队列”;AQS实现了一个“锁状态”:private volatile int state; 采用CAS控制并发的“锁状态”修改,哪个线程设置1成功就获取了锁;否者就生成一个node加入AQS的“同步队列”中。然后就调用Unsafe.park()阻塞此线程。等待另一个线程unlock后,就被唤醒,然后将此node从AQS的“同步队列”中移除。然后执行业务代码。 ...

2021-02-26 17:10:40 134

原创 为什么java使用Iterator

注:本文使用ArrayList的Iterator作为分析对象。1. for循环语法糖在运行期是通过Iterator来实现的。java语句: List<String> list = new ArrayList<>(); list.add("aa"); list.add("bb"); list.add("cc"); list.add("ee"); for (String s :

2020-12-25 11:01:53 320 1

原创 quartz获取所有运行中Job的方法

每个job都会有job执行上下文:JobExecutionContext 。public void execute(JobExecutionContext context) ;通过job执行上下文获取Scheduler:context.getScheduler();然后调用getJobKeys就可以获得所有运行中的Job了:Set&lt;JobKey&gt; jobKeySet =...

2019-03-06 12:07:55 10851

原创 netty学习

1.浅谈tcp socket的backlog参数https://www.jianshu.com/p/e6f2036621f4

2018-03-09 10:18:14 208

转载 java volatile理解

Volatile对一个共享变量使用Volatile关键字保证了线程间对该数据的可见性,即不会读到脏数据。注:1. 可见性:对一个volatile变量的读,总是能看到(任意线程)对这个volatile变量最后的写入        2. 原子性:对任意单个volatile变量的读/写具有原子性(long,double这2个8字节的除外),但类似于volatile++这种复合操作不具

2017-08-10 14:48:37 231

原创 java加锁的意义

java加锁:synchronized、1. 互斥:2. 内存可见:加锁的含义不仅仅局限于互斥行为,还包括内存可见性。为了确保所有线程都能看到共享变量的最新值,所有执行读操作或者写操作的线程都必须在同一个锁上同步。详见:《java并发编程实战》3.1.3

2017-07-27 15:15:12 3635

原创 TCP三次握手的意义(目的)

TCP三次握手的意义(目的)总结

2017-07-22 18:32:24 15256 1

原创 方法上spring事物注解失效问题

1.问题:场景一:通过spring注入对象方式调用方法时,当调用的调用的第一个方法methodA没有事物注解。那么通过methodA调用同一个类中的methodB,methodB方法上加了事物注解,methodB中事物不生效。场景二:只有调用spring注入对象的第一个方法入methodC有事物注解时,该方法中的事物才会生效。2.原因分析:spirng事物注解的实现是通过代

2016-10-26 13:59:04 2082

原创 JAVA war包部署到tomcat,jar包冲突问题的解决办法,以及原理剖析。

1.问题描述如果我们的java工程需要引入javax.servlet,jsp-api 等jar包。将工程编译为war包后,部署到tomcat服务器上当访问这些包相关类时就会报错,错误提示如下。原因就是我们war包里面你的jar包与tomcat依赖的jar包冲突了。2.解决办法:2.1 查看tomcat自身依赖了哪些jar包,tomcat安装目录下可以

2016-10-22 16:38:25 6907

重构-改善既有代码的设计

Martin Fowler著,熊节译。普通程序员进阶到编程高手必须修炼的秘笈。

2015-04-22

空空如也

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

TA关注的人

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