JAVA学习中好网站

http://www.54bk.com 我是博客 http://www.java-cn.com java中文网http://java.sun.com sun官方网站http://www.comejava.com 动网先锋http://www.sawin.cn 小龙亭http://www.java.com.cn java讨论区http://www …… 阅读全文

Java学习笔记:接口和抽象类 之间的探讨

**接口为我们提供了一种将解口与实现分离的更加结构化的方法。**抽象类则是普通的类和接口之间的一种中庸之道。尽管在构建具有某些未实现方法的类时,第一想法是创建接口,但是抽象类仍旧是用于此目的的一种重要而必须的工具。这两个重要的概念,看似相近却又大有不同,以下几个问题值得我们思考:- 接口与抽象类有什么相同之处?- 接口与抽象类又有什么区别?- 两者各自的优点?- 两者使用的情景如何?程序员又该如何选择其使用 …… 阅读全文

Java学习笔记:反射与代理机制(静态、动态)

反射与代理机制是Java中比较高级的一种特性,它完全是站在Java虚拟机的角度去看待各种类的运行,特别是在Java EE中运用广泛。在学习之前,首先思考几个问题:- 给定一个类的名字(字符串形式),怎么创建该类的对象?- 什么是反射机制?- Java静态代理和动态代理的异同有哪些?接下来此篇博文来一一探索并解决以上问题,借此学习反射与代理机制~ …… 阅读全文

Java1.8集合源码:ArrayList 详细解析

List接口的可变数组的实现。实现了所有可选列表操作,并允许包括null在内的所有元素。非线程安全。在多线程情况下操作时,一定要加上synchronized,才能保证多个线程同时对ArrayList进行访问时数据的安全性。底层使用的数据结构是数组。适合查改,弱于增删。实现了Serializable接口,因此它支持序列化,能够通过序列化传 …… 阅读全文

某科学的超 Java网络编程:Socket通信原理及实例学习

首先来思考几个问题:如何把互联网上的网页抓下来?如何与互联网上的网络资源通信?如何在两个Java程序之间建立网络?面向连接与非面向连接的通信方式有什么区别?接下来以此篇文章来学习:理解计算机网络编程的概念,掌握如何使用Java在一台或多台计算机之间进行基于TCP/IP协议的网络通讯。通过理解TCP/IP协议的通讯模型,以JDK提供的java.net包为工具,掌握各种基 …… 阅读全文

JVM高级特性与实践(一):Java内存区域 与 内存溢出异常

套用《围城》中的一句话,“墙外面的人想进去,墙里面的人想出来”,用此来形容Java与C++之间这堵内存动态分配和垃圾收集技术所围成的“围墙”就再合适不过了。对于从事C、C++的开发人员而言,在内存管理领域,他们具有绝对的“权利”——拥有每个对象的控制权,并担负着每个对象生命周期的维护责任。而对于Java开发人员而言,在虚拟机自动内存管理机制的帮助下,无需为每一个创建new操作去配对 delete/f …… 阅读全文

JVM高级特性与实践(二):对象存活判定算法(引用) 与 回收

关于垃圾回收器GC(Garbage Collection),多数人意味它是Java语言的伴生产物。事实上,GC的历史远比Java悠远,于1960年诞生在MIT的Lisp是第一门真正使用内存动态分配和垃圾收集技术的语言。当Lisp尚在胚胎时期,开发人员就在思考GC需要完成的3件事情:哪些内存需要回收?什么时候回收?如何回收?目前GC早已解决了以上问题,内存的动态分配与内存回收机制已经相当成熟, …… 阅读全文

JVM高级特性与实践(三):垃圾收集算法 与 垃圾收集器实现

内存回收与垃圾收集器在很多时候都是影响系统性能、并发能力的主要因素之一此篇博文将详细探讨垃圾收集算法和七大垃圾收集器实现,大致知识点如下:4种垃圾收集算法概念的学习各个算法之间的优缺点、原理运作过程Java堆内存结构7种垃圾收集器特征的学习各个垃圾收集器的原理、运作过程、使用场景、优缺点 JVM高级特性与实践(一):Java内存区域 与 内存溢出异常 JVM高级特性与实践(二):对象 …… 阅读全文