Java code review应该审核什么
摘要:很多公司的研发工作流程中都会代码审查这个环节,那么在做代码审查到底应该从哪些方面来入手呢?当然每个公司或每个团队都有自己的标准,每个人经验也不一样,所以标准并不完全相同,这里我就说一下我们团队在代码审查时是怎么做的。 首先我们遵循的总的标准是: 代码整洁 易读 可维护性高 可扩展性强 高性能 看一下
阅读全文
posted @
2019-01-15 18:42
jameszheng
阅读(405)
推荐(0)
Dubbo协议及序列化
摘要:Dubbo是 Alibaba 开源的分布式服务框架远程调用框架,在网络间传输数据,就需要通信协议和序列化。 一 通信协议 Dubbo支持dubbo、rmi、hessian、http、webservice、thrift、redis等多种协议,但是Dubbo官网是推荐我们使用Dubbo协议的,默认也是用
阅读全文
posted @
2019-01-15 14:01
jameszheng
阅读(24300)
推荐(2)
Java中常用集合效率比较
摘要:一 List List继承collection,有序,元素可重复。 实现类: ArrayList,数组方式实现的,是线程不安全的;Vector 是线程安全的;LinkedList 是线程不安全的,底层是由链表实现的 。 ArrayList与LinkedList在效率上有些互补,LinkedList进
阅读全文
posted @
2019-01-11 12:00
jameszheng
阅读(1394)
推荐(0)
ConcurrentHashMap结构及原理
摘要:前面我们学习了HashMap和Hashtable,因为多线程环境下,使用Hashmap进行put操作会引起死循环,导致CPU利用率接近100%,所以在并发情况下不能使用HashMap。 而Hashtable使用synchronized来保证线程安全,但在线程竞争激烈的情况下Hashtable的效率非
阅读全文
posted @
2019-01-06 17:27
jameszheng
阅读(1071)
推荐(1)
Hashtable介绍
摘要:前面我们介绍了HashMap的结构和原理,这里介绍一个跟它类似的Hashtable。 和HashMap一样,Hashtable 也是一个散列表,它存储的内容是键值对(key-value)映射。Hashtable 继承于Dictionary,实现了Map、Cloneable、java.io.Seria
阅读全文
posted @
2019-01-06 15:44
jameszheng
Java谜题
摘要:这里列举几个Java中看似正确而容易出错的地方。 谜题1:奇数性 判定一个数是否为奇数,应用i % 2 != 0;不要用1来判断,因为有负数。 public class OddNumber { public static void main(String[] args) { System.out.p
阅读全文
posted @
2019-01-04 13:18
jameszheng
浅谈Java中的HashMap结构及原理
摘要:这里讲述的是jdk1.8版本中的HashMap,采用Node数组和链表(或treeNode)的方式实现。 一. HashMap的结构图: 首先有一个Node数组(包含hash,key,value,链表节点),当添加一个元素(key-value)时,就首先计算元素key的hash值,以此确定插入数组中
阅读全文
posted @
2019-01-04 11:29
jameszheng