专注分布式消息中间件和存储系统
关键字enum可以将一组具名的值的有限集合创建为一种新的类型,而这些具名的值可以作为常规的程序组件使用。这些具名的值称为枚举值,这种新的类型称为枚举类型。 下面是一个简单的表示星期几的枚举: 1 public enum Day { 2 SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY 3 } 在创建enum时,编译器会自动添加一些有用的特性。
Java集合类基础:http://www.cnblogs.com/hzmark/archive/2012/12/17/CollectionBase.html ArrayList源码分析:http://www.
TreeMap有Values、EntrySet、KeySet、PrivateEntryIterator、EntryIterator、ValueIterator、KeyIterator、DescendingKeyIterator、NavigableSubMap、AscendingSubMap、DescendingSubMap、SubMap、Entry共十三个内部类。
常见的数据结构有数组、链表,还有一种结构也很常见,那就是树。前面介绍的集合类有基于数组的ArrayList,有基于链表的LinkedList,还有链表和数组结合的HashMap,今天介绍基于树的TreeMap。
在分析Java集合类源码的时候涉及到了树的知识,发现树结构要比数组和链表等要复杂的多,所以巩固和补充一下自己这块的知识。 树(Tree)可以有几种定义。其中一种方式是递归方式。 树(Tree)是n(n≥0)个结点的有限集T,T为空时称为空树,否则它满足如下两个条件: 有且仅有一个特定的称为根(Root)的结点; 其余的结点可分为m(m≥0)个互不相交的子集Tl,T2,…,Tm,其中每个子集本身又是一棵树,并称其为根的子树(SubTree)。
Java容器类的用途是“保存对象”,分为两类:Map——存储“键值对”组成的对象;Collection——存储独立元素。Collection又可以分为List和Set两大块。List保持元素的顺序,而Set不能有重复的元素。
LinkedHashMap类似于HashMap,但是迭代遍历它时,取得“键值对”的顺序是插入次序,或者是最近最少使用(LRU)的次序。只比HashMap慢一点;而在迭代访问时反而更快,因为它使用链表维护内部次序(HashMap是基于散列表实现的,相关HashMap的内容可以看《Java集合类》和《HashMap源码分析》)。
《Java集合类》一文中已经最List的基本操作进行说明,并且比较了ArrayList和LinkedList的效率。本文将进一步解析LinkedList。 LinkedList也和ArrayList一样实现了List接口,但是它执行插入和删除操作时比ArrayList更加高效,因为它是基于链表的。
在Java集合类中最常用的除了ArrayList外,就是HashMap了。本文尽自己所能,尽量详细的解释HashMap的源码。一山还有一山高,有不足之处请之处,定感谢指定并及时修正。 在看HashMap源码之前先复习一下数据结构。
不积跬步,无以至千里;不积小流,无以成江海。从基础做起,一点点积累,加油! 《Java集合类》中讲述了ArrayList的基础使用,本文将深入剖析ArrayList的内部结构及实现原理,以便更好的、更高效的使用它。
《ArrayList原码分析》一文中提到了“为什么removeRange(int fromIndex,int toIndex)是protected的?” 先给出removeRange(int fromIndex,int toIndex)方法的源码(这段代码是干什么的就不再解释了,源...
数组是一种很常见的数据结构,开始接触编程的时候多数程序都和数组相关。刚开始接触Java时也是一直使用数组写一些程序,后来越来越觉得数组这东西没法满足需求了,这时一位“前辈”对我说了一句:不会用集合类就等于没学过Java。
想总结一下验证码(开源使用的验证码。当然,也可以自己去实现,不过有成熟的开源项目就用吧)的内容,然后看了几个开源项目,发现SimpleCaptcha使用比较简单,容易入手,就从它开始吧。 接触SimpleCaptcha 1.下载 SimpleCaptcha 2.将下载的JAR包添加到项目中 3.配置Servlet 可使用的Servlet:StickyCaptchaServlet、SimpleCaptchaServlet、AudioCaptchaServlet。
字符串操作是编写程序中最常见的行为,本文对String、StringBuilder、StringBuffer三个类在字符串处理方面的效率进行分析。 Java中最常见也是应用最广泛的类就是String类。
上一篇Hessian解析及应用(整合Spring)中,学习了Hessian的使用及原理后,总觉得有个“疙瘩” 遗留在心里......那就是超时时间的设置,这样的远程调用,难免会有超时的情况发生。
Ant是一个用于简单或复杂Java工程的自动化构建、部署工具,它对于那些具有分布式开发团队或者相信通过频繁的构建来进行不间断集成的公司尤其有用。对于那些建立传统全Java应用程序以及那些使用HTML、JSP和Java servlets创建Web应用程序的公司来说,Ant极具价值。
Hessian是一个轻量级的remoting onhttp工具,使用简单的方法提供了RMI的功能。 相比WebService,Hessian更简单、快捷。------来自百度百科。 看官网简介吧:http://hessian.
工作中遇到了MINA,以前没接触过,所以就想搞搞明白这东西干嘛的,怎么玩起来的。最近花了几天时间去学习,这里做个小结以整理知识加深理解。 Apache MINA是一个网络应用框架框架,用来帮助用户简单地开发高性能和高可靠性的网络应用程序。