Java
文章平均质量分 67
_KingKazma_
这个作者很懒,什么都没留下…
展开
-
Java is Pass-by-Value, Never pass by reference
The Litmus TestThere's a simple "litmus test" for whether a language supports pass-by-reference semantics:Can you write a traditional swap(a,b) method/function in the language?A traditiona转载 2013-09-02 10:58:26 · 960 阅读 · 0 评论 -
复习 Core Java Chap13 Collections 笔记
13.1.1 J原创 2014-09-28 06:57:42 · 688 阅读 · 0 评论 -
复习 Core Java Chap14 多线程 笔记
14.2 中断线程在z原创 2014-09-29 03:30:23 · 494 阅读 · 0 评论 -
详细分析Java中断机制
1. 引言当我们点击某个杀毒软件的取消按钮来停止查杀病毒时,当我们在控制台敲入quit命令以结束某个后台服务时……都需要通过一个线程去取消另一个线程正在执行的任务。Java没有提供一种安全直接的方法来停止某个线程,但是Java提供了中断机制。如果对Java中断没有一个全面的了解,可能会误以为被中断的线程将立马退出运行,但事实并非如此。中断机制是如何工作的?捕获或检测到中断后,是抛出转载 2014-09-29 05:56:46 · 1251 阅读 · 0 评论 -
Java多线程系列--“基础篇”09之 interrupt()和线程终止方式
概要本章,会对线程的interrupt()中断和终止方式进行介绍。涉及到的内容包括:1. interrupt()说明2. 终止线程的方式 2.1 终止处于“阻塞状态”的线程 2.2 终止处于“运行状态”的线程3. 终止线程的示例4. interrupted() 和 isInterrupted()的区别转载请注明出处:http://www.cnblogs.转载 2014-09-29 06:23:55 · 428 阅读 · 0 评论 -
Java多线程系列目录(共43篇)
最近,在研究Java多线程的内容目录,将其内容逐步整理并发布。(一) 基础篇01. Java多线程系列--“基础篇”01之 基本概念02. Java多线程系列--“基础篇”02之 常用的实现多线程的两种方式03. Java多线程系列--“基础篇”03之 Thread中start()和run()的区别04. Java多线程系列--“基础篇”04之 synchr转载 2014-09-29 06:24:55 · 779 阅读 · 0 评论 -
ThreadLocal的正确用法
用法一:在关联数据类中创建private static ThreadLocalThreaLocal的JDK文档中说明:ThreadLocal instances are typically private static fields in classes that wish to associate state with a thread。如果我们希望通过某个类将状态(例如用户ID、事务ID)转载 2014-10-09 10:31:17 · 505 阅读 · 0 评论 -
Java ThreadLocal
suspend() and interrupt()转载 2014-10-09 09:30:30 · 500 阅读 · 0 评论 -
Java 读写锁的简单实现
原文链接 作者:Jakob Jenkov 译者:微凉 校对:丁一相比Java中的锁(Locks in Java)里Lock实现,读写锁更复杂一些。假设你的程序中涉及到对一些共享资源的读和写操作,且写操作没有读操作那么频繁。在没有写操作的时候,两个线程同时读一个资源没有任何问题,所以应该允许多个线程能在同时读取共享资源。但是如果有一个线程想去写这些共享资源,就不应该再有其它线程对该资源进行读转载 2014-10-09 11:17:45 · 927 阅读 · 0 评论 -
Singleton
// Lazy initialization, not good for currencypublic class SingletonDemo { private static SingletonDemo instance = null; private SingletonDemo() {} public static synchronized SingletonDemo getInst原创 2014-11-12 04:39:33 · 572 阅读 · 0 评论 -
Example of Unix commands implemented in Java
I created some illustrative and simple implementations of common Unix commands. For those who are familiar with Unix-like systems them make easier to understand Java. For those who are familiar with J转载 2014-10-10 00:29:00 · 559 阅读 · 0 评论 -
图解Java多态内存分配以及多态中成员方法的特点
图解Java多态内存分配以及多态中成员方法的特点Person worker = new Worker(); 子类实例对象地址赋值给父类类型引用变量。多态的体现。多态中成员方法的特点分析:【子类有,父类没有】编译失败!!!worker.startWork(); 为什么编译不通过呢?提示:找不到符号。因为引用变量worker是Person类型,在Person转载 2014-09-08 05:43:27 · 466 阅读 · 1 评论 -
多态在 Java 和 C++ 编程语言中的实现比较
众所周知,多态是面向对象编程语言的重要特性,它允许基类的指针或引用指向派生类的对象,而在具体访问时实现方法的动态绑定。C++ 和 Java 作为当前最为流行的两种面向对象编程语言,其内部对于多态的支持到底是如何实现的呢,本文对此做了全面的介绍。注意到在本文中,指针和引用会互换使用,它们仅是一个抽象概念,表示和另一个对象的连接关系,无须在意其具体的实现。Java 的实现方式Java 对于转载 2014-09-08 05:33:25 · 801 阅读 · 0 评论 -
Java中abstract和interface的区别 2
abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。 abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进行抽象类定义时对于 abstract class和interface的选择显得比较随意。其实,两者之间还是转载 2014-05-05 09:56:04 · 504 阅读 · 0 评论 -
Java中的二维数组和System.arraycopy
int [][] num = new int [3][5];num[0][0] = 1; num[0][1] = 2; num[0][2] = 3; num[1][0] = 4; num[1][1] = 5; num[1][2] = 6; num[2][0] = 7; num[2][1] = 8; num[2][2] = 9;System.out.println(num原创 2014-01-08 11:49:08 · 3838 阅读 · 0 评论 -
Java 代码规范
Java代码规范本Java代码规范以SUN的标准Java代码规范为基础,为适应我们公司的实际需要,可能会做一些修改。本文档中没有说明的地方,请参看SUN Java标准代码规范。如果两边有冲突,以本文档为准。1. 标识符命名规范1.1 概述标识符的命名力求做到统一、达意和简洁。1.1.1 统一统一是指,对于同一个概念,在程序中用同一种表示方法,转载 2014-01-29 01:41:08 · 942 阅读 · 0 评论 -
ArrayList.add(int index, E element)
之前一直不知道 Java 的 ArrayList 有 add(int index, E element), Inserts the specified element at the specified position in this list.这个方法。如果使用 add(0, element), 就相当于把元素一直插入到头。 就免去了reverse的过程。之前不知道可以这样,原创 2014-02-23 12:05:33 · 1514 阅读 · 0 评论 -
Java stack and heap
在JVM中,内存分为两个部分,Stack(栈)和Heap(堆),这里,我们从JVM的内存管理原理的角度来认识Stack和Heap,并通过这些原理认清Java中静态方法和静态属性的问题。一般,JVM的内存分为两部分:Stack和Heap。Stack(栈)是JVM的内存指令区。Stack管理很简单,push一定长度字节的数据或者指令,Stack指针压栈相应的字节位移;pop一定字节长度数据或者转载 2014-05-03 04:29:28 · 569 阅读 · 0 评论 -
Java protected 作用
“ Generally, if something is not deliberately conceived as public, I make it private.If a situation arises where I need access to that private variable or method from a derived class, I change it fr原创 2014-05-02 11:04:56 · 568 阅读 · 0 评论 -
Java String with Constant pool, heap&stack
今天复习了一下这些知识,顺便做了下笔记.1.寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制.2. 栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量池中(字符串常量对象存放在常量池中。)3. 堆:存放所有new出来的对象。4. 静态域:存放静态成员(static定义的)5. 常量池:存放字符串常量和转载 2014-05-03 05:20:11 · 874 阅读 · 0 评论 -
Java overload v.s. override
overload:1. 在同一个类中原创 2014-05-02 12:15:39 · 510 阅读 · 0 评论 -
Java程序编译和运行的过程
Java整个编译以及运行的过程相当繁琐,本文通过一个简单的程序来简单的说明整个流程。 如下图,Java程序从源文件创建到程序运行要经过两大步骤:1、源文件由编译器编译成字节码(ByteCode) 2、字节码由java虚拟机解释运行。因为java程序既要编译同时也要经过JVM的解释运行,所以说Java被称为半解释语言( "semi-interpreted"转载 2014-05-03 02:25:48 · 885 阅读 · 0 评论 -
Java 中的 static 关键字
1. class2. variable3. method4. block转载 2014-05-05 02:49:08 · 622 阅读 · 0 评论 -
Java abstract class 和 interface 区别
interface被继承时用的关键字是implements,而且可以同时implements多个interface,而abstract class被继承时用的关键字是extends,而且只能同时extends一个abstract class。 interface内定义的方法都是public的,而abstract class内的则不一定。转载 2014-05-05 09:55:17 · 611 阅读 · 0 评论 -
Effectiv Java 读书笔记 Item 1
考虑用静态工厂方法代替构造器我们有两种常见的方法获得一个类的实例.静态工厂方法的优点:优势1. 静态工厂方法的名称,因此比构造器更准确地描述返回的实例。对比:构造器的命名都一致,一个类只能有一个指定签名的构造器。当一个类需要提供多个构造器时,通常只是通过不同的形参类型的顺序加以区分,但其函数名还是相同的,无法提供较高的区分度。结论:当一个类需要多个带有相转载 2015-05-28 04:03:48 · 701 阅读 · 0 评论