ReferenceJava世界泰山北斗级大作《Thinking In Java》切入Java就提出“Everything is Object”。在Java这个充满Object的世界中,reference是一切谜题的根源,所有的故事都是从这里开始的。
Reference是什么?如果你和我一样在进入Java世界之前曾经浪迹于C/C++世界,就一定不会对指针陌生。谈到指针,往日种种不堪回首的经历一下子涌上心头,这里不是抱怨的地方,让我们暂时忘记指针的痛苦,回忆一下最初接触指针的甜蜜吧!还记得你看过的教科书中,如何讲解指针吗?留在我印象中的一种说法是,指针就是地址,如同门牌号 ...
曾经解读JDK代码的时候画的一个图。 曾经画的JDK的一个图。 只是一部分。 你看得出是用什么工具画的吗?
java中的时间操作不外乎这四种情况:
1、获取当前时间
2、获取某个时间的某种格式
3、设置时间
4、时间的运算
好,下面就针对这三种情况,一个一个搞定。
一、获取当前时间
有两种方式可以获得,第一种,使用Date类。
j2SE的包里有两个Date类,一个是java.sql.Date,一个是java.util.Date
这里,要使用java.util.Date。获取当前时间的代码如下
Date date = new Date();
date.getTime();
还有一种方式,使用System.currentTimeMillis();
这两种方式获 ...
过去在没有Queue的情况下如何管理?
在Java 1.5以前,通常的实现方式是使用java.util.List集合来模仿Queue。Queue的概念通过把对象添加(称为enqueuing的操作)到List的尾部(即Queue的后部)并通过从List的头部(即Queue的前部)提取对象而从List中移除(称为dequeuing的操作)来模拟。下面代码显示了你以前可能做法。
import java.util.Enumeration;
import java.util.LinkedList;
import java.util.Vector;
public class QueueEmul ...
HashMap 的实际容量就 因子*容量,其默认值是 16×0.75=12;当存入HashMap的对象超过这个容量时,HashMap 就会重新构造存取表。这就是一个大问题.put方法Object k = maskNull(key); 这个就是判断键值是否为空,其实如果为空,它会返回一个static Object 作为键值,这就是为什么HashMap允许空键值的原因。int hash = hash(k);int i = indexFor(hash, table.length); 其中 hash 就是通过 key 这个Object的 hashcode 进行 hash,然后通过 inde ...
Inflater的逆操作主要关注下构造体:public Deflater(int level, boolean nowrap)Creates a new compressor using the specified compression level. If 'nowrap' is true then the ZLIB header and checksum fields will not be ...
提供同样的解压方法,使用流行的ZLIB压缩库。ZLIb压缩库最初作为png图形标准开发的,没有受到专利的限制。下面代码演示如何使用inflater和deflater。 // Encode a String into bytes String inputString = "blahblahblah??"; byte[] input = inputString.getBytes("UTF-8"); // Compress the bytes byte[] output = new byte[100];&nbs ...
提供读和写标准的zip和gzip文件格式,包含使用DEFLATE算法的压缩和解压数据类。也是zip和gzip所使用。另外还有CRC-32和Adler-32校验和算法。支持规范Info-ZIP Application Note 970311 - a detailed description of the Info-ZIP format upon which the java.util.zip classes are based.ZLIB Compressed Data Format Specification version 3.3 ? (PostScript) (RFC 1950)   ...
在计算机学科中,基础数据结构之一 — 是Queue。你会想起Queue是一种数据结构,在它里边的元素可以按照添加它们的相同顺序被移除。在以前的Java版本中,这中FIFO(先进先出)数据结构很不幸被忽略了。随着Java1.5(也叫Tiger)的出现,对Queue支持第一次成为固有特性。 过去在没有Queue的情况下如何管理? 在Java 1.5以前,通常的实现方式是使用java.util.List集合来模仿Queue。Queue的概念通过把对象添加(称为enqueuing的操作)到List的尾部(即Queue的后部)并通过从List ...
ThreadLocal是什么呢?其实ThreadLocal并非是一个线程的本地实现版本,它并不是一个Thread,而是thread local variable(线程局部变量)。也许把它命名为ThreadLocalVar更加合适。线程局部变量(ThreadLocal)其实的功用非常简单,就是为每一个使用该变量的线程都提供一个变量值的副本,是每一个线程都可以独立地改变自己的副本,而不会和其它线程的副本冲突。从线程的角度看,就好像每一个线程都完全拥有该变量。线程局部变量并不是Java的新发明,在其它的一些语言编译器实现(如IBM XL FORTRAN)中,它在语言的层次提供了直接的支持。因为Jav ...
- 浏览: 24074 次
- 性别:

- 来自: 广州

- 详细资料
搜索本博客
链接
最新评论
-
请问Robbin创建Javaeye的 ...
这类问题请私下站内短信
-- by JavaEye管理员 -
Log4J实践
收藏了,好贴!
-- by xzcgeorge -
UCWEB的漂亮界面
UCWEB的UI确实做得不错。
-- by wuhua -
Java是好东西,但不完美 ...
很有想法,用了java这么久了,还真是感觉的java顺手。
-- by wuhua -
最近喜欢上了Lite版
我喜欢 Nero lite版。。。。。。。
-- by liusu






评论排行榜