- 博客(14)
- 资源 (5)
- 收藏
- 关注
原创 Java中Integer与int类型的装箱和拆箱
其实Integer与int类型的赋值与比较最关键的一点就是:这两个变量的类型不同。Integer是引用类型,int是原生数据类型。 我们分四种情况来讨论: 1) Integer与int类型的赋值 a.把Integer类型赋值给int类型。此时,int类型变量的值会自动装箱成Integer类型,然后赋给Integer类型的引用,这
2012-06-06 17:38:54
15634
原创 Java内部类总结之局部内部类和匿名内部类
局部内部类:定义在方法中,可以看作是一个方法中的局部变量,只能在该方法中使用。 测试代码如下:/** * 定义一个局部内部类,可以将其看作一个方法中的局部变量,只能在该方法中使用 * @author Rao * */class LocalInner{ public void doSomething() { int a = 4; final int
2012-06-03 11:44:35
1285
1
原创 Java内部类总结之成员内部类和静态内部类
内部类分四种:成员内部类、静态内部类、局部内部类和匿名内部类。 其中,成员内部类和静态内部类可以类比。相同点:成员内部类和静态内部类都是定义在一个类中,并且与该类的成员变量是同一级别的内部类。不同点:1)成员内部类是非静态类,而静态内部类是静态类。2)在Outer类内部的方法中调用时,成员内部类必须生成对象才能调用其中的方法,而静态内部类则可以直接通过‘类名.方法名’
2012-06-03 11:36:53
1020
原创 Java中深拷贝(Deep Clone)与浅拷贝(Shallow Clone)
我们先从理论上讨论浅拷贝: java的类型分为两大类,一类为primitive,如int等8种,另一类为引用类型,如String,Object等等。java的引用类型都是存储在堆上的。 java的浅复制在复制时,对于原始类型的变量,在堆上为其分配一块区间,对于引用类型,在堆上为其对象的引用分配一块区间,这样得到的实际效果是:被复制对象的所有变量都含有与原来的对象
2012-06-02 21:53:00
7059
原创 Java映射总结之Map整体框架
在Java集合框架中还有另外一个重要的部分,那就是映射(Map)。Mapr的整体框架如下: 框图仅列出了一些常用的接口和类。 Map接口映射唯一关键字到值。关键字(key)是以后用于检索值的对象。给定一个关键字和一个值,可以存储这人值到一个Map对象中。当这个值被存储以后,就可以使用它的关键字来检索它。 映射不是类集,但可以获得映射
2012-06-02 10:40:01
3802
原创 Java集合总结之Set整体框架
与List不同的是,Set不允许有重复的元素,若添加的元素集合中已经有,则会把以前的元素覆盖掉,Set结构框图如下: 首先,Set中定义了一些常用的抽象方法供子类实现,Set的子类或子接口有: SortedSet和AbstractSet。 其中AbstractSet与AbstractCollection和AbstractList一样,都是对父亲的一个简单
2012-06-02 10:35:47
1541
原创 Java类集总结之List整体框架
上篇文章对类集的整体框架作了简要说明,下面我们具体来看看List这个接口下的一些类。结构图如下: List接口下的直接子类有:AbstractList、ArrayList、Vector、CopyOnWriteArrayList和LinkedList。其中ArrayList和LinkedList最为重要也是用的最多的。 因为List底层维护的都是数组,
2012-06-02 10:30:19
2076
原创 Java集合总结之Collection整体框架
前段时间一直在忙一个物联网的项目,所以Java的学习一直搁置,从今天开始继续学习!望大家多提宝贵意见! java.util包中包含了一些在Java 2中新增加的最令人兴奋的增强功能:类集。一个类集(collection)是一组对象。类集的增加使得许多java.util中的成员在结构和体系结构上发生根本的改变。它也扩展了包可以被应用的任务范围。Java的类集(Collection)
2012-05-30 21:01:36
44698
1
原创 利用源代码生成struts2.3.1.2帮助文档(授之以渔)
首先在MyEclipse中建一个JavaProject(取名:struts_doc),然后找到struts2的源代码(到apache官网上下载)的目录(如:F:\TDDOWNLOAD\struts-2.3.1.2\src\core\src\main\java),把java目录下的org文件夹全部拷贝到struts_doc项目下的src目录下,肯定会有一堆错误,不用着急,这是因为我们没有添加对应的j
2012-05-03 17:48:55
3314
转载 Java多线程Socket资料
From:http://newqinhao.iteye.com/blog/631004---- 摘要:在Java出现之前,编写多线程程序是一件烦琐且伴随许多不安全因素的事情。利用Java,编写安全高效的多线程程序变得简单,而且利用多线程和Java的网络包我们可以方便的实现多线程服务器程序。---- Java是伴随Internet的大潮产生的,对网络及多线程具有内在的支持,具有网
2012-03-16 15:40:45
7749
转载 accept() 产生的Socekt端口是多少?
为了区分不同应用进程间的网络通信和连接,主要有3个参数:通信的目的IP地址、使用的传输层协议(TCP 或 UDP)和使用的端口号。Socket的原意是“插座”。通过将这3个参数结合起来,与一个“插座”Socket绑定,应用层就可以和传输层通过套接字接口,区分来自不同应用程序进程或网络连接的通信,实现数据传输的并发服务。accept()产生的Socket端口号是多少?要写网络程序就必须用
2012-03-16 15:28:15
5892
3
转载 Java编程中“为了性能”尽量要做到的一些地方
From:http://www.iteye.com/magazines/66最近的机器内存又爆满了,除了新增机器内存外,还应该好好review一下我们的代码,有很多代码编写过于随意化,这些不好的习惯或对程序语言的不了解是应该好好打压打压了。下面是参考网络资源总结的一些在Java编程中尽可能要做到的一些地方。1. 尽量在合适的场合使用单例 使用单例可以减轻加载
2012-03-16 15:07:41
1099
原创 ArrayList、LinkedList和HashSet、TreeSet以及HashMap、TreeMap是如何实现存储的?
对于ArrayList和LinkedList的存储方式相对简单,默认情况下就是顺序存储,先添加的元素在前面,后添加的元素在后面,不同的是ArrayList底层是通过数组来维护,LinkedList底层是通过链表来维护。这两种方式都可以重复添加相同的元素,根据应用情况不同自行选择。 好了,重头戏在下面!对于HashSet和TreeSet来说,里面的元素是不能重复的,若重复则会覆盖前面的那
2012-03-13 09:58:15
10471
原创 HashSet真的是无序的吗?
首先声明:我用的是JDK1.6,因为才学Java不久,所以写的是很肤浅的东西,高手可以直接略过或鄙视,希望能给那些像我一样的新手带来帮助! 好了,喝口水滋润一下嗓子,争取一口气说完。HashSet底层维护的实际上是一个Entry类型的数组(数组名为table),而我们知道一般数据存入数组的时候,我们是按先后顺序一个一个存入的,如:先存table[0],
2012-03-11 09:54:05
8773
MinGW-5.1.6
2012-07-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人