Java深入探索
文章平均质量分 66
在本栏中,主要结合了java进阶篇以及java编程思想对java的进阶知识进行深入了解,以及讲述一些Java编程时应当注意的细节。
this.
这个作者很懒,什么都没留下…
展开
-
Java对象的强、软、弱和虚引用
本博客转自http://zhangjunhd.blog.51cto.com/113473/53092 1.对象的强、软、弱和虚引用 在JDK 1.2以前的版本中,若一个对象不被任何变量引用,那么程序就无法再使用这个对象。也就是说,只有对象处于可触及(reachable)状态,程序才能使用它。从JDK 1.2版本开始,把对象的引用分为4种级别,从而使程序能更加灵活地控制对象的生命周期转载 2016-04-07 18:30:29 · 728 阅读 · 0 评论 -
简析散列和散列码
在学习散列集集或者图(Map)时,我们也许对这两个方法并不陌生:equals()和hashCode();添加到散列集中的对象必须以正确地方式实现hashCode()方法才能确保集合中不出现重复的值。最近在阅读《Thinking in Java》这本书时,里面有对其系统地介绍,现将其总结一下:初步了解散列码在开发中,我们对于HashMap的使用并不陌生,但有时却也会犯错。我们先看一个例子://定义人这原创 2016-03-28 19:42:48 · 3796 阅读 · 3 评论 -
关于Java垃圾回收机制,你所需要知道的一切
本博客转自http://blog.csdn.net/zsuguangh/article/details/6429592 1. 垃圾回收的意义 在C++中,对象所占的内存在程序结束运行之前一直被占用,在明确释放之前不能分配给其它对象;而在Java中,当没有对象引用指向原先分配给某个对象的内存时,该内存便成为垃圾。JVM的一个系统级线程会自动释放该内存块。垃圾回收意味着程序不再需要的对转载 2016-03-27 10:20:21 · 4388 阅读 · 0 评论 -
关于字符串String,你所需要注意的细节
以前在编写Java程序时为了图个方便,拼接字符时总是用”+”来实现,而不用StringBuilder。直到近来看了《Thiking in java》这本书关于字符串的介绍才恍然大悟!原来这样子做反而会降低效率,有时甚至会使程序出错! 关于String首先要知道String对象是一个不可变的。什么是不可变?即每次对String的对象进行修改都会创建一个全新的String对象,然后保存修改后的字符串。原创 2016-03-26 23:32:24 · 844 阅读 · 0 评论 -
深入线程:生产者与消费者问题
生产者与消费者问题无疑是线程间通信协作的经典案例。下面来看一看”生产者/消费者“的一个简单案例: 首先,我们定义一个缓冲区Buffer,这个缓冲区用来存取数据,但缓冲区大小为1,即每次只能存取一个数据。public class Buffer { private ArrayList<Integer> list = new ArrayList<>(1); //定义一个大小为1的数组线性表,用原创 2016-03-26 20:15:09 · 753 阅读 · 0 评论 -
Java使用socket网络编程实现多人聊天室
前言:套接字(socket)编程能够实现服务器和客户端的通信,以下通过Socket编程实现多人聊天室。 程序展示: 界面类1.客户端界面 ClientView.javapublic class ClientView extends JFrame implements ActionListener, KeyListener, Runnable { private JTextArea t原创 2016-01-21 19:52:54 · 24193 阅读 · 7 评论 -
Java多线程
前言:线程是java的重要功能之一,多线程能使程序反应更快,交互性更强,执行效率更高。一、任务和线程的创建任务就是对象。为任务创建线程可以简单分为以下两种:1.继承Thread类 2.实现Runnable接口。 示例程序片段: 1.继承Thread类class Task extends Thread{ @Override public void run() { s原创 2016-01-21 17:45:44 · 840 阅读 · 0 评论 -
Java集合框架简述
Java集合框架实现了线性表、链表和哈希表这几类数据结构,为我们在程序开发带来了许多便捷。Java集合框架分为两部分:1.集合,用于存数一个元素集合;2.图,用来存储键值对。该文主要对JDK中Collection和Map两个接口中进行简述。 一、Collection接口 Java集合框架中主要支持三种类型的集合:1.Set(规则集) 2.List(线性表) 3.Queue(队列),其层级关系如原创 2015-12-19 16:16:40 · 4272 阅读 · 0 评论