幽灵引用 -- 好强大的文章
http://www.iteye.com/topic/401478
ThreadLocal -- 非常全面解释了这个怪东东
http://www.iteye.com/topic/103804
Concurrent -- 并发啊
http://www.iteye.com/topic/363625
泛型 -- 泛型一箩筐
http://www.java3z.com/cwbwebhome/article/article5/tiger2.jsp
Comparator和Comparable -- 这个怪叔叔不算高级了,但是可以深入的了解一下它类似的设计模式 -- 策略模式。。如有兴趣还要把它和枚举放到一起
http://www.blogjava.net/fastunit/archive/2008/04/08/191533.html
- public abstract class Enum<E extends Enum<E>>
-
implements Comparable<E>, Serializable
public abstract class Enum<E extends Enum<E>>
implements Comparable<E>, Serializable
ListIterator -- 怪东东,虽然不难,但我竟然没有听过,更别提用过了。看看JDK源码中关于list的reverse实现
- public static void reverse(List<?> list) {
-
int size = list.size();
-
if (size < 18 || list instanceof RandomAccess) {
-
for (int i=0, mid=size>>1, j=size-1; i<mid; i++, j--)
- swap(list, i, j);
-
} else {
- ListIterator fwd = list.listIterator();
- ListIterator rev = list.listIterator(size);
-
for (int i=0, mid=list.size()>>1; i<mid; i++) {
- Object tmp = fwd.next();
- fwd.set(rev.previous());
- rev.set(tmp);
- }
- }
- }
-
-
public static void swap(List<?> list, int i, int j) {
-
final List l = list;
- l.set(i, l.set(j, l.get(i)));
- }
public static void reverse(List<?> list) {
int size = list.size();
if (size < 18 || list instanceof RandomAccess) {
for (int i=0, mid=size>>1, j=size-1; i<mid; i++, j--)
swap(list, i, j);
} else {
ListIterator fwd = list.listIterator();
ListIterator rev = list.listIterator(size);
for (int i=0, mid=list.size()>>1; i<mid; i++) {
Object tmp = fwd.next();
fwd.set(rev.previous());
rev.set(tmp);
}
}
}
public static void swap(List<?> list, int i, int j) {
final List l = list;
l.set(i, l.set(j, l.get(i)));
}
写道
List和Set都有iterator()来取得其迭代器。对List来说,你也可以通过listIterator()取得其迭代器,两种迭代器在有些时候是不能通用的,Iterator和ListIterator主要区别在以下方面:
1. ListIterator有add()方法,可以向List中添加对象,而Iterator不能
2. ListIterator和Iterator都有hasNext()和next()方法,可以实现顺序向后遍历,但是ListIterator有hasPrevious()和previous()方法,可以实现逆向(顺序向前)遍历。Iterator就不可以。
3. ListIterator可以定位当前的索引位置,nextIndex()和previousIndex()可以实现。Iterator没有此功能。
4. 都可实现删除对象,但是ListIterator可以实现对象的修改,set()方法可以实现。Iierator仅能遍历,不能修改。
因为ListIterator的这些功能,可以实现对LinkedList等List数据结构的操作。其实,数组对象也可以用迭代器来实现。
你真的理解finally了吗,看看这篇文章后,你或许不会这么自信了
http://zangxt.iteye.com/blog/421508
Java类加载机制 -- 很好的博文
http://lavasoft.blog.51cto.com/62575/184547
相关推荐
Java技术文章收集文档中提到了一个重要的Java XML处理技术——StAX(Streaming API for XML)。StAX提供了一种介于SAX(Simple API for XML)和DOM(Document Object Model)之间的XML解析方式,解决了两者的主要...
10. **Java性能优化**:如何提高Java应用的性能也是文章可能涉及的话题,包括内存管理、垃圾收集、代码优化和监控工具的使用。 11. **单元测试与持续集成**:JUnit和Maven等工具在Java开发中扮演重要角色,文章可能...
- **特点**:收集了来自comp.lang.java新闻组的问题和答案的分类目录。 - **适用场景**:查找常见Java问题的解答。 18. **SUN官方Java指南(http://java.sun.com/docs/books/tutorial/)** - **特点**:SUN公司...
博客链接指向的是ITEYE上的一篇关于错误收集的文章,作者LK617238688分享了关于Java错误处理的经验和技巧。 标签“源码”暗示我们可能会深入到Java的源代码级别去理解和分析错误的产生原因,这对于理解Java虚拟机...
本压缩包中的"JAVA技术"包含了从CSDN等知名IT论坛精心收集的经典Java文章,涵盖了国内与国外的专家见解和技术精华。这些文章是Java开发者学习、提升技能的重要资源。 在Java的世界里,经典意味着对语言基础、设计...
Java爬虫技术是一种用于自动化获取网页内容的编程技术,它在IT行业中有着广泛的应用,特别是在数据分析、信息收集和搜索引擎优化等领域。在这个特定的项目中,我们关注的是如何使用Java来爬取博客中的文章。WebMagic...
总的来说,Java编写的文章关键词提取工具能够帮助开发者和研究人员快速地从大量文本中抽取出关键信息,为文本挖掘、信息检索和智能推荐等领域提供有力支持。通过不断优化和调整算法,我们可以提升关键词提取的效率和...
3. **Java内存管理**:深入讲解JVM(Java虚拟机),如内存模型(堆、栈、方法区、本地方法栈等)、垃圾收集机制、内存溢出问题分析及优化策略。 4. **Java并发编程**:包括线程同步机制(synchronized、Lock等)、...
这个名为“Java学习材料大全(499篇文章)”的压缩包显然包含了大量关于Java学习的资源,可能是教程、实战项目、技术文章、问题解答等多种形式。499篇文章的数量表明这是一个全面且深入的学习资料集合,覆盖了初学者到...
stream源码预定义的Java流收集器 介绍 有几种方法可以将Stream作为一系列输入元素简化为一个汇总结果。 其中之一是使用接口与方法的实现。 可以显式实现此接口,但是它应该从类中研究其预定义的实现开始。 预定义...
- 垃圾收集器(Garbage Collector):Java自动进行内存管理,当对象不再被引用时,垃圾收集器会释放其占用的内存空间。 - 内存区域:Java程序运行时涉及堆、栈、方法区等内存区域,了解它们的工作原理有助于优化...
在这个Java实现中,我们将讨论如何利用余弦相似性和TF-IDF(词频-逆文档频率)算法来确定两篇文章的相似度。 首先,我们要理解余弦相似性的基本原理。假设我们有两个文档D1和D2,我们可以将它们视为向量,其中每个...
本压缩包文件“Java精品文章收集”中,很可能包含了关于Java编程的各种深入探讨和实践分享。 在Java的世界里,重要概念包括类、对象、封装、继承、多态等。类是对象的模板,定义了对象的属性和行为;对象是类的实例...
Java垃圾收集(GC)机制是Java编程中至关重要的一部分,它负责自动管理程序的内存,确保不再使用的对象能够被及时回收,以避免内存泄漏。GC主要关注的是Java堆和方法区这两部分内存,因为它们是动态分配和回收的。 ...
8. **JVM原理**:Java虚拟机是Java程序的运行环境,理解内存管理(堆、栈、方法区)、垃圾收集、类加载机制对于优化性能至关重要。 9. **Spring框架**:作为Java企业级应用最流行的框架,Spring涵盖依赖注入、AOP...
8. **JVM原理**:深入理解Java虚拟机的工作原理,包括类加载、内存管理(如垃圾收集)、字节码执行等,有助于优化程序性能。 9. **Java框架**:Spring、Hibernate、MyBatis等流行框架可能也会被讨论,它们简化了...
Java 访问 Oracle 数据库是企业级开发中的常见任务,主要涉及到 Java JDBC 技术、...通过阅读这些文章,开发者可以更深入地了解如何在 Java 环境下有效地操作 Oracle 数据库,尤其是使用存储过程进行复杂业务处理。
本篇文章将详细探讨Java日志收集的基本概念、常用日志框架以及如何编写简单的日志代码。 首先,了解日志级别至关重要。通常,日志级别包括DEBUG、INFO、WARN、ERROR和FATAL,这些级别按照严重程度从低到高排序。...
在本教程中,我们将深入探讨如何使用Java编程语言来实现一个简单的网络爬虫,以便从CSDN(China Software Developer Network)网站上抓取并保存文章。CSDN是一个知名的中文IT技术社区,包含了大量的技术文章和资源。...