java 基础
文章平均质量分 93
Eric_xiaoQ
热爱技术,热爱生活
展开
-
如何写出优美的 JAVA 代码(转)
一、不要使用魔法数字,尽量定义枚举、常量、宏: 我常常见到表示各种状态的数字,0,1,2....,我真的不知道这表示什么含义,如果 你在不在文档中说明的话,这个东东过几天连你自己都不知道个一二三了。 二、命名要具有描述力,尽量使用全名而不是自创的缩写,除非地球人都这么用这个缩写: 我常常看到一些自创的缩写,这个缩写或许只有你自己知道,类名,方法名,参数名 尤其要有好的描述里转载 2017-03-04 09:29:35 · 405 阅读 · 0 评论 -
Hashtable与ConcurrentHashMap区别(转)
ConcurrentHashMap融合了hashtable和hashmap二者的优势。hashtable是做了同步的,hashmap未考虑同步。所以hashmap在单线程情况下效率较高。hashtable在的多线程情况下,同步操作能保证程序执行的正确性。但是hashtable每次同步执行的时候都要锁住整个结构。看下图:图左侧清晰的标注出来,lock每次都要锁住整个结转载 2017-03-06 19:26:45 · 271 阅读 · 0 评论 -
TreeMap(转)
转自:http://cmsblogs.com/?p=1013TreeMap的实现是红黑树算法的实现,所以要了解TreeMap就必须对红黑树有一定的了解,其实这篇博文的名字叫做:根据红黑树的算法来分析TreeMap的实现,但是为了与Java提高篇系列博文保持一致还是叫做TreeMap比较好。通过这篇博文你可以获得如下知识点:1、红黑树的基本概念。2、红黑树增加节点、删除节转载 2017-03-28 17:19:05 · 485 阅读 · 0 评论 -
JAVA集合细节:指定初始容量(转)
转自:http://cmsblogs.com/?p=1226集合是我们在Java编程中使用非常广泛的,它就像大海,海纳百川,像万能容器,盛装万物,而且这个大海,万能容器还可以无限变大(如果条件允许)。当这个海、容器的量变得非常大的时候,它的初始容量就会显得很重要了,因为挖海、扩容是需要消耗大量的人力物力财力的。同样的道理,Collection的初始容量也显得异常重要。所以:对于已知的情转载 2017-03-29 11:42:04 · 437 阅读 · 0 评论 -
IO的分层(转)
转自:http://pengjiaheng.iteye.com/blog/847588IO性能对于一个系统的影响是至关重要的。一个系统经过多项优化以后,瓶颈往往落在数据库;而数据库经过多种优化以后,瓶颈最终会落到IO。而IO性能的发展,明显落后于CPU的发展。Memchached也好,NoSql也好,这些流行技术的背后都在直接或者间接地回避IO瓶颈,从而提高系统性能。 IO系统的分转载 2017-03-13 21:09:57 · 293 阅读 · 0 评论 -
类加载器(转)
转自:http://blog.csdn.net/ns_code/article/details/17881581类加载过程 类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载、验证、准备、解析、初始化、使用和卸载七个阶段。它们开始的顺序如下图所示: 其中类加载的过程包括了加载、验证、准备、解析、初始化五个阶段。在这五个阶段中,加载转载 2017-04-17 17:19:57 · 320 阅读 · 0 评论 -
并发:volatile(转)
原文转自:http://www.infoq.com/cn/articles/ftf-java-volatile引言在多线程并发编程中synchronized和Volatile都扮演着重要的角色,Volatile是轻量级的synchronized,它在多处理器开发中保证了共享变量的“可见性”。可见性的意思是当一个线程修改一个共享变量时,另外一个线程能读到这个修改的值。它在某些情况转载 2017-05-09 13:38:41 · 265 阅读 · 0 评论 -
多线程之指令重排
转自:http://blog.csdn.net/beiyetengqing/article/details/495805591、首先为何要指令重排序(instruction reordering)?编译器或运行时环境为了优化程序性能而采取的对指令进行重新排序执行的一种手段。也就是说,对于下面两条语句:int a = 10;int b = 20;在计算机执转载 2017-06-15 22:34:31 · 1602 阅读 · 0 评论