
Java
文章平均质量分 63
z530065424
这个作者很懒,什么都没留下…
展开
-
dubbo源码学习总结
前言总结 内容主要包括dubbo 框架的spi 实现,服务暴露实现,服务调用实现,以及个人感觉里面比较好的设计分享。涉及的代码部分较多。主要是自己的主观理解,如有纰漏 可以随时指正。RPCrpc 框架在使用时可以让使用者调用远程的接口的时候犹如调本地接口一样,然而一个远程过程调用一定是会使用网络和序列化的,因此简单一点看,dubbo或者说所有的rpc框架提供的核心的能力就是通过动态代理的方式把接口的网络操作和序列化操作代理掉,对于使用者是透明的。dubbo在这个核心能力之上,外加了一些过滤,负.原创 2021-11-18 14:22:21 · 1380 阅读 · 0 评论 -
Java 打一个可以运行的富jar
pom文件<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>8</so原创 2020-09-30 11:40:13 · 249 阅读 · 0 评论 -
rpc学习笔记
rpcrpc 框架dubbo在使用时可以让使用者调用远程的接口的时候犹如调的本地接口,然而一个远程过程调用一定是会使用网络和序列化的,因此抽象一点,dubbo提供的核心的能力就是通过动态代理的方式把接口的网络操作和序列化操作代理掉,对于使用者变成是透明的。dubbo在这个核心能力之上,外加了一些过滤,轮询,服务注册发现等功能,同时对网络的操作和序列化的操作通过spi机制加入了很多动态的扩展,使...原创 2019-10-30 18:43:03 · 179 阅读 · 0 评论 -
java NIO模拟 Netty线程模型
两个类,NioAcceptor,处理连接 单线程。NioReactor处理读写,多线程。NioAcceptor 监听来自客户端的链接,来了链接后把通道传递给一个NioReactor(它的个数就是线程池的大小),NioReactor把通道注册到worker的 队列上,该任务不断轮训队列里面的通道的读事件 做出反应。解释放在代码中NioAcceptorpackage com.zwj...原创 2018-11-15 19:46:38 · 472 阅读 · 0 评论 -
java实现一个阻塞队列(生产者消费者模式)
首先实现一个简单的链表队列,头插元素,尾删元素。package com.zwj;import java.util.concurrent.atomic.AtomicInteger;public class MyQueue<T> { private volatile node head; private volatile node tail; pri...原创 2018-11-08 18:57:43 · 864 阅读 · 0 评论 -
死锁
死锁压测sharding-jdbc 改造一个原先用类似mycat的一个程序放到压测平台后,发现运行一会程序就假死了。于是在本地压测。同样运行一会就假死,然后debug。 发现在获取分布式id的时候在锁的地方进行不下去。然后怀疑是哪里导致了死锁,于是运行jstack -l 如下发现很多请求的线程都等待在了druid的takelast 方法。进去这个方法看,发现是 一个生产者消费者模式的...原创 2018-09-27 16:26:00 · 1517 阅读 · 0 评论 -
oracle 配合mybatis example分页
mybatis逆向生成的xml 内增加 分页 select from( (select rownum rn,uo.* from (select * from mytable order by ${example.orderByClause} ) uo where rownum <=#{limit}))原创 2017-10-09 16:11:06 · 1769 阅读 · 0 评论 -
开发中遇到的坑
1. mybatis 中 进行时间的比较 格式化时间 VISIT_DATE <=TO_DATE(#{endTime,jdbcType=VARCHAR}, 'YYYY-mm-dd HH24:MI:SS')2.导入外部的js 3. innerhtml 可以动态的确定 内容innerhtml 内可以写 html语句4.mybatis 中插入空的值要给定jdbcType原创 2017-05-24 20:40:07 · 261 阅读 · 0 评论 -
背包问题java 代码
背包问题,http://www.cnblogs.com/sdjl/articles/1274312.html 这篇文章介绍很详细,参照它的思路写了0/1背包问题代码。package niukewang_jianzhiOffer;/** * Created by zhangwenjie05 on 16/9/10. */public class PakageQuestion { //原创 2016-09-10 23:12:31 · 2745 阅读 · 0 评论 -
jdk动态代理(转载)
原文地址:http://rejoy.iteye.com/blog/1627405之前虽然会用JDK的动态代理,但是有些问题却一直没有搞明白。比如说:InvocationHandler的invoke方法是由谁来调用的,代理对象是怎么生成的,直到前几个星期才把这些问题全部搞明白了。 废话不多说了,先来看一下JDK的动态是怎么用的。 Java代码 p转载 2016-08-17 15:17:51 · 245 阅读 · 0 评论 -
blocker critical Java (转)
1.Blocker规则(共14个)编号规则描述不规范代码示例建议修改备注1.equals()不能用在AtomicInteger、AtomicLong等原子类型的比较中AtomicInteger aInt1 = new AtomicInteger(0);AtomicInteger aInt2 = new A转载 2016-07-28 09:58:00 · 1462 阅读 · 0 评论