源码分析之HashMap

Java 8 中 HashMap 的实现使用了很多位操作来进行优化。本文将详细介绍每种位操作优化的原理及作用。Java 中的位运算位操作包含:与、或、非、异或移位操作包含:左移、右移、无符号右移HashMap 中的位运算计算哈希桶索引hashCode 方法优化指定初始化容量扩容方法里的位运算总结回顾
2020年12月12日 855次浏览

中间件编程之提高ES查询速度

性能优化的杀手锏——filesystem cache你往 es 里写的数据,实际上都写到磁盘文件里去了,查询的时候,操作系统会将磁盘文件里的数据自动缓存到 filesystem cache 里面去。es 的搜索引擎严重依赖于底层的 filesystem cache ,你如果给 filesystem
2020年12月11日 1,110次浏览

中间件编程之RocketMq消息中间件消息堆积处理

我们一个一个来梳理吧,先假设一个场景,我们现在消费端出故障了,然后大量消息在 mq 里积压,现在出事故了,慌了。大量消息在 mq 里积压了几个小时了还没解决几千万条数据在 MQ 里积压了七八个小时,从下午 4 点多,积压到了晚上 11 点多。这个是我们真实遇到过的一个场景,确实是线上故障了,这个时候
2020年12月11日 1,630次浏览

zookeeper中间件使用之独占锁与共享锁

ZooKeeper提供分布式协调服务,应用非常广泛,虽然出现了其他服务发现组件,比如etcd、consul,但是仍然可以看到ZooKeeper在Kafka、Solr、Hbase、Stom等方面的应用。分布式锁是其中一个使用特性,分布式锁包含排他锁和共享锁两类锁。1. 排他锁1.1 简介又称为写锁或者
2020年12月11日 1,223次浏览

Arthas之实践经验总结

JVMTI等技术实现对JVM底层的一些监控?ognl表达式查看第一个参数:$ watch com.taobao.container.Test test "params[0]"Press Ctrl+C to abort.Affect(class-cnt:1 , method-cnt
2020年12月10日 4,079次浏览

中间件编程之zookeeperApi使用

zk在常用中间件中作为通讯工具,集群管理工具,掌握zk的java操作非常有必要。Java操作zookeeper总共有三种方式:原生的Java APIzkclientcurator第一种实现代码:pom.xml<dependency> <groupId>org.apach
2020年12月09日 1,362次浏览

java之四种动态代理的实现

动态代理说白了还是为了最终生成新的代理类,把原先的老类包裹一层,生成新的类。CGLAB代理类核心,hadle类package proxy; import java.lang.reflect.Method; import net.sf.cglib.proxy.Enhancer;import net.s
2020年12月09日 1,045次浏览

java编程小技巧

java判断字符串是否是数字public static boolean isNumeric(String str) {String bigStr;try {bigStr = new BigDecimal(str).toString();} catch (Exception e) {return fa
2020年12月04日 805次浏览

java之sql优化集合

1.大分页查询,先查询id,在查具体数据,减少回表次数 select id from xxx; select * from xxx where id in (上面语句结果); 2.多表left join查询 多表left join 查询1 原始sql select a.*,b.* from xxx as a left join yyy as b on a.id=b.aid where a.type=1 可先子查询a表,用子表再left join b表 减少笛卡尔积次数
2020年12月03日 1,503次浏览

java之区块链开发

学习文件 chaozh/awesome-blockchain-cn: 收集所有区块链(BlockChain)技术开发相关资料,包括Fabric和Ethereum开发资料
2020年12月03日 749次浏览