随笔分类 -  Java

摘要:http://www.yihaomen.com/article/java/302.htmhttp://www.yihaomen.com/article/java/303.htmhttp://www.cnblogs.com/angus332770349/archive/2012/06/04/25349... 阅读全文
posted @ 2014-10-16 15:40 九天高远 阅读(176) 评论(0) 推荐(0)
摘要:最近还是在找工作,在面试某移动互联网公司之前认为自己对Java的GC机制已经相当了解,其他面试官问的时候也不存在问题,直到那天该公司一个做搜索的面试官问了我GC的问题,具体就是:老年代使用的是哪中垃圾回收算法,并详细解释第一步做什么,第二部做什么?这时候才发现具体一步一步怎么来的,确实不知道。那结果 阅读全文
posted @ 2013-12-27 10:16 九天高远 阅读(11604) 评论(2) 推荐(2)
摘要:一、引子(概括地介绍Java的IO) 无论是哪种编程语言,输入跟输出都是重要的一部分,Java也不例外,而且Java将输入/输出的功能和使用范畴做了很大的扩充。它采用了流的 机制来实现输入/输出,所谓流,就是数据的有序排列,而流可以是从某个源(称为流源或Source of Stream)出来,到某个 阅读全文
posted @ 2013-09-14 13:12 九天高远 阅读(723) 评论(0) 推荐(0)
摘要:一、线程池 Sun在Java5中,对Java线程的类库做了大量的扩展,其中线程池就是Java5的新特征之一,除了线程池之外,还有很多多线程相关的内容,为多线程的编程带来了极大便利。为了编写高效稳定可靠的多线程程序,线程部分的新增内容显得尤为重要。 有关Java5线程新特征的内容全部在java.uti 阅读全文
posted @ 2013-09-13 16:28 九天高远 阅读(626) 评论(0) 推荐(0)
摘要:Java 语言中的 volatile 变量可以被看作是一种 “程度较轻的 synchronized”;与 synchronized 块相比,volatile 变量所需的编码较少,并且运行时开销也较少,但是它所能实现的功能也仅是 synchronized 的一部分。本文介绍了几种有效使用 volati 阅读全文
posted @ 2013-09-12 22:46 九天高远 阅读(678) 评论(0) 推荐(0)
摘要:一、线程的交互 a、线程交互的基础知识 线程交互知识点需要从java.lang.Object的类的三个方法来学习: void notify() 唤醒在此对象监视器上等待的单个线程(notify()方法调用的时候,锁并没有被释放)。 void notifyAll() 唤醒在此对象监视器上等待的所有线程 阅读全文
posted @ 2013-09-12 19:39 九天高远 阅读(618) 评论(1) 推荐(1)
摘要:一、线程栈模型与线程的变量 要理解线程调度的原理,以及线程执行过程,必须理解线程栈模型。 线程栈是指某一时刻内存中线程调度的栈信息,当前调用的方法总是位于栈顶。线程栈的内容是随着程序的运行动态变化的,因此研究线程栈必须选择一个运行的时刻(实际上指代码运行到什么地方)。 下面通过一个示例性的代码说明线 阅读全文
posted @ 2013-09-11 16:54 九天高远 阅读(1623) 评论(0) 推荐(1)
摘要:一、基本概念 a、操作系统中进程与线程的概念 现在的操作系统是多任务操作系统。多线程是实现多任务的一种方式。 进程是指一个内存中运行的应用程序,每个进程都有自己独立的一块内存空间, 一个进程中可以启动多个线程。比如在Windows系统中,一个运行的exe就是一个进程。 线程是指进程中的一个执行流程, 阅读全文
posted @ 2013-08-22 21:22 九天高远 阅读(512) 评论(0) 推荐(0)
摘要:一、基本概念 单例模式有以下特点: 1、单例类只能有一个实例。 2、单例类必须自己自己创建自己的唯一实例。 3、单例类必须给所有其他对象提供这一实例。 单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。在计算机系统中,线程池、缓存、日志对象、对话框、打印机、显卡的驱动程序对象常 阅读全文
posted @ 2013-08-22 00:07 九天高远 阅读(310) 评论(0) 推荐(0)
摘要:Redis简介: redis是一个性能非常优秀的内存数据库,通过key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hashs(哈希类型)。这些数据类型 阅读全文
posted @ 2013-08-19 09:35 九天高远 阅读(4897) 评论(0) 推荐(0)
摘要:被问到有关Java内存管理的知识,所以要搜集整理一下了。开始之前,我们要明白一点,我们所使用的变量就是一块一块的内存空间!! 一、内存管理原理: 在java中,有java程序、虚拟机、操作系统三个层次,其中java程序与虚拟机交互,而虚拟机与操作系统间交互!这就保证了java程序的平台无关性!下面我 阅读全文
posted @ 2013-08-18 22:17 九天高远 阅读(1067) 评论(0) 推荐(0)
摘要:堆和栈的内存管理 栈的内存管理是顺序分配的,而且定长,不存在内存回收问题;而堆 则是随机分配内存,不定长度,存在内存分配和回收的问题;堆内存和栈内存的区别可以用如下的比喻来看出:使用堆内存就象是自己动手做喜欢吃的菜肴,比较麻烦,但是比较符合自己的口味,而且自由度大。使用栈内存就象我们去饭馆里吃饭,只 阅读全文
posted @ 2013-08-18 12:27 九天高远 阅读(2546) 评论(0) 推荐(1)
摘要:Java语言是一个面向对象的语言,但是Java中的基本数据类型却是不面向对象的,这在实际使用时存在很多的不便,为了解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八个和基本数据类型对应的类统称为包装类(Wrapper Class),有些地方也翻译为外覆类或数据类型类。 包装 阅读全文
posted @ 2013-08-18 12:10 九天高远 阅读(358) 评论(0) 推荐(0)
摘要:本部分包含的一些指导原则,可以帮助哦我们更好滴利用这些语言元素,以便让设计出来的类更加有用、健壮和灵活。 十二、使类和成员的访问能力最小化 三个关键词访问修饰符:private(私有的=类级别的)、未指定(包级私有的)、protected(受保护的=继承级别的+包级别的访问)、pulbic(共有的) 阅读全文
posted @ 2013-08-15 23:18 九天高远 阅读(742) 评论(0) 推荐(0)
摘要:对于所有对象都通用的方法,即Object类的所有非final方法(equals、hashCode、toString、clone和finalize)都有明确的通用约定,都是为了要被改写(override)而设计的。 七、在改写equals的时候请遵循约定 一个类的每个实例实质上都是唯一的。对于代表了实 阅读全文
posted @ 2013-08-08 23:02 九天高远 阅读(556) 评论(0) 推荐(0)
摘要:一、考虑用静态工厂方法替代构造函数 代表实现:java.util.Collection Framework Boolean类的简单例子: 优点: 1、与构造函数不同,静态工厂方法具有名字。 一个类看起来需要多个构造函数,并且它们的运行特征相同,应考虑使用静态工厂方法来替代其中一个或多个构造函数,并且 阅读全文
posted @ 2013-08-06 19:26 九天高远 阅读(749) 评论(0) 推荐(0)