中间件编程之zookeeperApi使用

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

java之四种动态代理的实现

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

java编程小技巧

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

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,113次浏览

java之区块链开发

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

ElasticSearch之canal,BinLog同步代码实践

1.引言在很多业务情况下,我们都会在系统中引入ElasticSearch搜索引擎作为做全文检索的优化方案。如果数据库数据发生更新,这时候就需要在业务代码中写一段同步更新ElasticSearch的代码。这种数据同步的代码跟业务代码耦合性非常高,并且使得代码的可读性降低,于是乎,我们能不能把这些数据同
2020年12月02日 955次浏览

java之跨库分页

一、需求缘起分页需求互联网很多业务都有分页拉取数据的需求,例如:(1)微信消息过多时,拉取第N页消息(2)京东下单过多时,拉取第N页订单(3)浏览58同城,查看第N页帖子这些业务场景对应的消息表,订单表,帖子表分页拉取需求有这样一些特点:(1)有一个业务主键id, 例如msg_id, order_i
2020年12月01日 699次浏览

java8之Stream分页

前提stream的降序排序和之前我们通过重写Comparable接口,实现降排相比,要节省很多代码,而用stream分页,额鹅…纯属玩玩,一般用来裁剪数据。排序List<Student newList = new ArrayList<>(10);//升序list.stream().
2020年12月01日 1,536次浏览

字节码编程之redefineClasses与retransformClasses

redefineClass代码使用实例import java.lang.instrument.Instrumentation; //導入方法依賴的package包/類public static void agentmain(String args,Instrumentation inst){
2020年11月28日 1,115次浏览

字节码编程之Instrument,preMain,angetMain,热更新class文件

使用 Instrumentation,使得开发者可以构建一个独立于应用程序的代理程序(Agent),用来监测和协助运行在 JVM 上的程序,甚至能够替换和修改某些类的定义。有了这样的功能,开发者就可以实现更为灵活的运行时虚拟机监控和 Java 类操作了,这样的特性实际上提供了 一种虚拟机级别支持的
2020年11月28日 479次浏览