- 博客(12)
- 资源 (2)
- 收藏
- 关注
原创 synchronized重量级锁到无锁转变的验证
<dependency> <groupId>org.openjdk.jol</groupId> <artifactId>jol-core</artifactId> <version>0.10</version></dependency>@Slf4jpublic class TestSyn { @Test public void test() throws Inter
2021-05-21 15:57:14 275 1
原创 mysql 通过optimizer_trace查看sql优化过程
准备工作:mysql 版本5.7.31CREATE TABLE `collect` ( `id` int(11) NOT NULL AUTO_INCREMENT, `title` varchar(50) DEFAULT NULL, `vtype` int(11) NOT NULL, PRIMARY KEY (`id`), KEY `collect_index` (`id`,`title`) USING BTREE, KEY `test_index` (`title`,`vtype
2021-05-10 15:40:09 227
原创 使用spring-amqp实现 rpc调用
为什么要用rpc?我们平时开发中方法调用都在一台机器内,一个堆栈内,同个线程里。假如我们要实现跨服务器远程调用,我们最先想到的是通过http、或者更底层的tcp协议等。在java里使用http调用我们可能会用到httpclient、restTemplate,请求前设置各种参数,完事调用post、get等一系列的方法。通常情况下可以达到我们想要的效果,但是不舒服、不严谨、不可靠。而rpc的作用就是在远程调用时就像调用本地方法一样方便,严格规定好参数类型,也可以实现错误重试等功能作保障。所以http和rpc不
2020-11-09 19:03:40 481
原创 spring-rabbitmq Direct reply-to 模式
前言rabbitmq提供了request/reply模式,通过这种模式可以比较轻松的实现rpc,我们可以拿到消费者的返回,通过replytimeout设置超时时间,如果超时返回null。一、普通request/response模式二、RabbitMQ Direct reply-toRabbitMQ3.4.0开始支持direct reply-to,从Spring AMQP 1.4.1开始,如果没指定reply接收队列(或者接收队列名不是amq.rabbitmq.reply-to),direct rep
2020-11-04 17:47:54 2514
原创 spring-rabbitmq Publisher Confirms Return模式
前言在使用rabbitmq时有时我们需要保证消息有没有成功传递,消息有没有正常到达broker,消息有没有由exchange分配到队列。一、Publisher-ConfirmPublisher-Confirm是我们验证消息有没有顺利到达rabbit的broker,而之后消息有没有通过exchange路由到队列,不在此次验证的范围。在spring-rabbitmq实现Publisher-Confirm机制CachingConnectionFactory设置开启PublisherConfirmsf
2020-11-04 14:52:08 2845 2
原创 java中的锁——ReentrantLock
文章目录前言一、ReentrantLock介绍二、ReentrantLock使用1.lock unlock2. boolean tryLock2. boolean tryLock(long timeout, TimeUnit unit)3. lockInterruptibly()4. 公平锁非公平锁5. condition付ReentrantLock公平锁上锁流程图前言ReentrantLock是Lock接口实现类,很多人拿synchronized和它作比较,有人说ReentrantLock就是sync
2020-09-08 19:41:01 425
原创 java中的锁——synchronized
如何使用java中的锁synchronized关键字synchronized的使用synchronized的加锁解锁浅说synchronized锁膨胀synchronized关键字 synchronized是我们在java中最简单最常用的加锁方式。1.6后synchronized的优化,使其性能提升,因此很多同步加锁的场景,使用synchronized也是很好的选择。synchronized的使用synchronized可以修饰静态方法public synchronized static v
2020-09-08 16:32:34 528
转载 es
主节点当一个节点被选举成为主节点时, 它将负责管理集群范围内的所有变更,例如增加、删除索引,或者增加、删除节点等。 而主节点并不需要涉及到文档级别的变更和搜索等操作,所以当集群只拥有一个主节点的情况下,即使流量的增加它也不会成为瓶颈。 任何节点都可以成为主节点。我们的示例集群就只有一个节点,所以它同时也成为了主节点。作为用户,我们可以将请求发送到集群中的任何节点,包括主节点。...
2019-09-29 17:39:11 119
转载 Xstream
xStream完美转换XML、JSONhttp://www.cnblogs.com/hoojo/archive/2011/04/22/2025197.htmlxStream框架xStream可以轻易的将Java对象和xml文档相互转换,而且可以修改某个特定的属性和节点名称,而且也支持json的转换;前面有介绍过json-lib这个框架,在线博文:http://www.cnb
2014-03-21 09:42:55 452
转载 EhCache
常见缓存框架:EhCache,oschcache1.需要配置一个xml文件,官网上有 <defaultCache maxElementsInMemory="10" eternal="false" timeToIdleSeconds="120" timeToLiveSeconds="120" overflowToDis
2014-02-28 18:29:04 415
转载 jdbc连接池
引自http://developer.51cto.com/art/201006/207768.htmjava程序员都很羡慕Windows ADO ,只需要new Connection 就可以直接从数据库连接池中返回Connection。并且 ADO Connection 是线程安全的,多个线程可以共用一个Connection,所以ASP程序一般都把getConnection 放在 Glob
2014-02-25 15:08:45 318
转载 db4o 连接池
引自 http://www.blogjava.net/xzclog/archive/2006/09/28/72629.html这几天花了点时间弄了个 db4o 连接池,比较简单,连接池原型是论坛上面的一篇文章。很简单,欢迎拍砖。从 servlet 开始,在这里初始化连接池:package com;import java.io.File;import jav
2014-02-25 15:02:08 378
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人