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