自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

BraveHeart

freedom!!!

  • 博客(123)
  • 资源 (4)
  • 收藏
  • 关注

原创 JVM调优实战--容器内应用内存溢出被杀死

JVM调优实战--容器内应用内存溢出被杀死

2022-10-21 14:45:41 1766 1

转载 WireMock,一个强大的HTTP 请求模拟测试框架

参考地址。

2022-09-14 09:47:07 227

原创 dubbo服务消费源码分析

上图是服务消费的主过程:首先 ReferenceConfig 类的 init 方法调用 Protocol 的 refer 方法生成 Invoker 实例(如上图中的红色部分),这是服务消费的关键。接下来把 Invoker 转换为客户端需要的接口(如:HelloWorld)。关于每种协议如 RMI/Dubbo/Web service 等它们在调用 refer 方法生成 Invoker 实例的细节和上一章节所描述的类似。注意:调用 Protocol 的 refer 方法生成 Invoker 实例的实现.

2022-05-03 16:25:45 477

原创 rocketmq源码分析

文章目录前言一、NameServer路由中心二、消息存储1.消息发送存储流程2.存储文件三、消息消费1、消息者启动流程2、消息拉取1、PullMessageService实现机制2、ProcessQueue实现机制3、消息拉取基本流程3.1客户端封装消息拉取请求3.2消息服务端Broker组装信息3.3消息拉取客户端处理消息3.4消息拉取长轮询机制分析3.5PullRequestHoldService3.6DefaultMessageStore$ReputMessageService详解总结前言疫情期

2022-04-23 12:24:46 2963

转载 mysql回表致索引失效

这个是导致很多数据量大,索引失效的根本原因,文章很好,指的借鉴!mysql回表致索引失效

2020-10-29 11:41:25 189

原创 java快慢指针

创建环形列表//创建一个环形的单向链表class CircleSingleLinkedList { // 创建一个first节点,当前没有编号 private Boy first = null; // 添加节点,构建成一个环形链表 public void addBoy(int nums) { // 对nums做一个校验 if (nums < 1) { System.out.println("数据错误"); return; } // 定义辅助节点 Boy

2020-10-12 17:06:31 810

原创 ThreadPoolExecutor线程池如何实现计时回收空闲线程

个人理解:runWorker()方法中,while 循环调用 getTask()方法,getTask()方法 for(;;)中,首先判断是否shutdown(),或者worker count > maximumPollSize,需要回收线程,判断timeOut == true,然后return null,跳出上面的while循环,执行processWorkerExit,执行workers.remove(worker),如果当前的工作线程数已经等于coreWorkersCount了,就调用block

2020-10-09 11:27:35 698

转载 在使用线程池等会缓存线程的组件情况下传递ThreadLocal

@TO在使用线程池等会缓存线程的组件情况下传递ThreadLocalC需求场景在ThreadLocal的需求场景即是TTL的潜在需求场景,如果你的业务需要『在使用线程池等会缓存线程的组件情况下传递ThreadLocal』则是TTL目标场景。下面是几个典型场景例子。分布式跟踪系统应用容器或上层框架跨应用代码给下层SDK传递信息日志收集记录系统上下文各个场景的展开说明参见子文档 需求场景。你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器

2020-09-14 10:16:59 108

转载 Quartz将Job保存在数据库中所需表的说明

http://blog.iqbon.com/doc/364.html (将Quartz持久化到数据库的做法)QRTZ_CALENDARS 以 Blob 类型存储 Quartz 的 Calendar 信息QRTZ_CRON_TRIGGERS 存储 Cron Trigger,包括 Cron表达式和时区信息QRTZ_FIRED_TRIGGERS 存储与已触发的 Trigger 相关的状态信息,...

2019-11-27 09:58:58 564

转载 InheritableThreadLocal——父线程传递本地变量到子线程的解决方式及分析

转载:https://blog.csdn.net/hewenbo111/article/details/80487252父线程生成的变量需要传递到子线程中进行使用,那么在使用ThreadLocal似乎就解决不了这个问题,难道这个业务就没办法使用这个本地变量了吗?答案肯定是否定的,ThreadLocal有一个子类InheritableThreadLocal就是为了解决这个问题而产生的,使用这个变...

2019-11-25 14:11:11 311

原创 spring的IOC容器与DI依赖注入

spring-context 4.3.9release版本注解类型注入讲解ApplicationContext applicationContext = new AnnotationConfigApplicationContext(MainConfig2.class);/** * @author laowang * @date 2018/12/21 3:25 PM * @Descri...

2019-11-02 19:57:41 152

转载 Hadoop】Hadoop、HDFS、MapReduce、Spart、HBase、Hive,Pig之间的关系

https://blog.csdn.net/bandaoyu/article/details/83312811

2019-10-18 16:06:11 350

转载 synchronized的底层实现原理

常见三种使用方法:1)普通同步方法,锁是当前实例;    2)静态同步方法,锁是当前类的Class实例,Class数据存在永久代中,是该类的一个全局锁;    3)对于同步代码块,锁是synchronized括号里配置的对象。Java中的每个对象都可以作为锁。当一个线程访问同步代码块时,需要首先获取锁,退出代码块或抛出异常时必须释放锁“锁”到底是个什么东东?首先通过源代码和反汇编代码研...

2019-08-21 16:37:13 947

转载 Mac 电脑活动监视器 闪退 终极解决

电脑状况1.Mac本发热十分厉害2.Mac 活动监视器 闪退原因1.有无限循环的任务,占用内存导致2.找见任务,删除任务;找见文件,删除文件解决请移步先看下教程Mac 活动监视器 闪退 打不开注意:看完以上教程才能进行以下的步骤请先在App Store里安装免费的 【趋势安全大师】,用该软件的快速扫描功能找见引起电脑死循环的文件。在下图红色区域会有文件地址。你遇到的地址可能...

2019-08-19 15:31:27 2530

转载 Spring Cloud的负载均衡Spring Cloud Ribbon和Spring Cloud Feign

https://blog.csdn.net/small_to_large/article/details/77836672

2019-08-19 14:56:37 138

原创 什么是RPC协议?RPC协议与HTTP协议的区别

什么是RPC协议?RPC是一种远程过程调用的协议,使用这种协议向另一台计算机上的程序请求服务,不需要了解底层网络技术的协议。在 RPC 中,发出请求的程序是客户程序,而提供服务的程序是服务器。HTTP是一种超文本传输协议。是WWW浏览器和WWW服务器之间的应用层通讯协议。RPC协议与HTTP协议的区别1、RPC是一种API,HTTP是一种无状态的网络协议。RPC可以基于HTTP协议实现,...

2019-08-17 19:01:36 44273 1

转载 Java IO 从BIO到NIO

BIO同步并阻塞,服务器实现模式为一个连接一个线程,BIO通信模型实现通常由一个独立的Acceptor线程负责监听客户端的连接,它接收到客户端连接请求之后为每个客户端创建一个新的线程进行链路处理,处理完成后,通过输出流返回应答给客户端,线程销毁。服务端代码public class MultiThreadEchoServer { //线程池,用于处理业务 private st...

2019-08-13 09:44:06 123

转载 架构师要读的书

https://www.cnblogs.com/afjbk/p/5975879.html

2019-08-12 09:21:37 222

转载 Elasticsearch学习,请先看这一篇

https://blog.csdn.net/makang110/article/details/80596017

2019-08-02 09:28:42 161

转载 Mac 搭建一个本地JRebel破解服务器

Mac 搭建一个本地JRebel破解服务器:https://blog.csdn.net/jesse919/article/details/80967471

2019-07-28 18:01:16 545

转载 Dubbo项目入门

https://www.cnblogs.com/fixzd/p/9490247.html

2019-07-23 10:04:52 93

原创 synchronized关键字

用法1.指定加锁对象2.直接作用实例方法thissynchronized 方法3.直接作用静态方法相当于当前类的锁public static synchronized void methodA(){} /** * 调试日志 * * @param clazz * @return */ public static s...

2019-07-20 10:16:44 88

转载 网络爬虫学习

参考链接:https://blog.csdn.net/wsmrzx/article/category/7922762

2019-06-20 10:40:44 210

原创 Spring 过滤器 拦截器 AOP区别

简介这几天在回顾Spring的AOP时,对过滤器,拦截器,AOP的关系有点好奇,故记录做以备份。在实现一些公共逻辑的时候,很多功能通过过滤器,拦截器,AOP都能实现,但是不同的方式有不同的效率。具体有什么区别,看下文描述。前后端交互基本逻辑过滤器过滤器拦截的是URLSpring中自定义过滤器(Filter)一般只有一个方法,返回值是void,当请求到达web容器时,会探测当前请求地址是...

2019-06-14 15:26:34 223

转载 MyBatis原理概括

1.什么是 MyBatis ?MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。(这是官网解...

2019-06-14 10:30:21 166

转载 深入理解MyBatis的原理(四):映射器的用法

转载自:https://www.cnblogs.com/yuxiaole/p/9478618.html<insert id="insertUser"> <selectKey keyProperty="id" order="BEFORE" resultType="int"> select t_user_s.nextval from du...

2019-06-14 10:08:11 147

转载 mysql 的各种锁

一、乐观锁(Optimistic Lock)每次获取数据的时候,都不会担心数据被修改,所以每次获取数据的时候都不会进行加锁,但是在更新数据的时候需要判断该数据是否被别人修改过。如果数据被其他线程修改,则不进行数据更新,如果数据没有被其他线程修改,则进行数据更新。由于数据没有进行加锁,期间该数据可以被其他线程进行读写操作。【Note】:  比较适合读取操作比较频繁的场景,如果出现大量的写入操作...

2019-06-13 15:24:39 150

原创 间隙锁

【什么是间隙锁】当我们用范围条件而不是相等条件检索数据,并请求共享锁排它锁时,InnoDB会给符合条件的已有数据记录的索引加锁;对于键值在范围内但并不存在的记录,叫做“间隙(GAP)”【危害】因为Query执行过程中通过范围查找的话,它会锁定这个范围所有的索引键值,及时这个键值不存在。间隙锁有一个比较致命的弱点,就是当锁定一个范围键值之后,及时某些不存在的键值也会被无辜的锁定,而造成在坐定...

2019-06-13 15:05:48 410

转载 深入理解SELECT ... LOCK IN SHARE MODE和SELECT ... FOR UPDATE

概念和区别SELECT … LOCK IN SHARE MODE走的是IS锁(意向共享锁),即在符合条件的rows上都加了共享锁,这样的话,其他session可以读取这些记录,也可以继续添加IS锁,但是无法修改这些记录直到你这个加锁的session执行完成(否则直接锁等待超时)。SELECT … FOR UPDATE 走的是IX锁(意向排它锁),即在符合条件的rows上都加了排它锁,其他ses...

2019-06-13 14:59:55 120

转载 MySQL的四种事务隔离级别以及各种锁的问题

强烈推荐看原文转载链接:https://blog.csdn.net/qq_39495922/article/details/82886781数据库的各种锁的问题共享锁(s)和排他锁(x):共享锁【S锁】又称读锁,若事务T对数据对象A加上S锁,则事务T可以读A但不能修改A,其他事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁。这保证了其他事务可以读A,但在T释放A上的S锁之前不能对A...

2019-06-12 19:48:36 647

转载 Mac 常用命令

https://blog.csdn.net/lxmy2012/article/details/38089767Mac下终端常用命令,使用时注意空格和区分大小写零、最基本常用命令cdcd  切换目录,比如 cd ABC ,切换到ABC目录下cd … 切换到上一层目录lsls 显示当前目录下的所有文件ls -ah 显示当前目录下所有文件,包括隐藏文件ls -t  ...

2019-06-12 10:55:13 793

转载 捕获处理transaction注解发生的异常,事务不会回滚

使用transaction注解时,执行过程发生异常,而异常被你捕获处理,此时,所执行的事务不会回滚,因为异常被你捕获处理了,springboot当你没发生异常处理,但是这些执行必须回滚,解决方式如下:可以在异常中使用TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); 手动回滚...

2019-06-11 20:42:38 3081 1

转载 Spring事务传播问题 — PROPAGATION_REQUIRES_NEW

原文:https://blog.csdn.net/wangjunjun2008/article/details/53669951一、描述Spring遇到嵌套事务时,当被嵌套的事务被定义为“PROPAGATION_REQUIRES_NEW”时,内层Service的方法被调用时,外层方法的事务被挂起;内层事务相对于外层事务是完全独立的,有独立的隔离性等等。二、实验但实验时却遇到一个奇怪的问...

2019-06-11 19:45:20 1682

转载 过滤器与拦截器的区别

过滤器,是在java web中,你传入的request,response提前过滤掉一些信息,或者提前设置一些参数,然后再传入servlet或者struts的 action进行业务逻辑,比如过滤掉非法url(不是login.do的地址请求,如果用户没有登陆都过滤掉),或者在传入servlet或者 struts的action前统一设置字符集,或者去除掉一些非法字符拦截器,是在面向切面编程的就是在你的...

2019-06-05 15:25:56 69

转载 转发和重定向区别

转发和重定向区别详解作为一名程序员,特别是java web开发的程序员,在使用servlet/jsp的时候,我们必须要知道实现页面跳转的两种方式的区别和联系:即转发和重定向的区别。1、RequestDispatcher.forward方法只能将请求转发给同一个WEB应用中的组件;而HttpServletResponse.sendRedirect 方法不仅可以重定向到当前应用程序中的其他资源,还...

2019-06-05 11:31:11 3796

转载 Java Web 中application(应用级) session(会话级) request(请求级)如何实现数据共享

在JavaWeb 中实现数据共享往往通过定义属性的方法来实现,而什么是属性呢?它类似于Hashmap中的键值对,有属性名和属性值作为设置属性方法的参数,而在其他的地方通过属性名去获取属性的值。而定义定义不同级别的值,数据共享的范围是有区别的,接下来我就详细的介绍下我对application(应用级) session(会话级) request(请求级)这三种级别的认知。首先是applicati...

2019-06-03 16:29:11 433

原创 java.net.HttpURLConnection;

import java.io.ByteArrayOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.io.UnsupportedEncodingException;import java.net.HttpURLConnectio...

2019-05-24 18:03:51 363

原创 org.apache.commons.httpclient使用理解

个人理解,这个方法就是解析url,分解成ip 和 端口号,为了后面httpclient连接做准备EntityEnclosingMethod httpMethod = new PostMethod(url); // 跟踪一下方法 1 public PostMethod(String uri) { super(uri); } // 跟踪一下方法 next...

2019-05-24 17:39:18 3572

转载 SpringBoot 使用WebJars统一管理静态资源

SpringBoot 使用WebJars统一管理静态资源

2019-05-22 15:43:48 166

原创 slf4j日志抽象层

2019-05-20 16:43:02 301

QuartzStudy.zip

亲自编写测试,从接口入手和实战情况基本一样,quartz持久化技术,动态定时任务实例,方便实用,即下即用

2019-12-02

rabbitmq高可用 demo,一看就懂!

rabbitmq 高可用demo,涉及到rabbitmq的搭建和在高并发情况下失败的解决方案!通俗易懂。

2018-12-07

手动搭建rpc

手动搭建的rpc,专注rpc这个知识点,项目通俗易懂,而且注解详细!相信通过学习你很快就理解了rpc的原理

2018-12-07

springcloud的简单demo,适合初学,简单易懂

springcloud 集成 eureka 的简单demo,通俗易懂,适合初学者了解学习,外加这个项目的学习文档。

2018-12-07

空空如也

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

TA关注的人

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