• 首先做一个自我介绍,我做java开发接近两年半的时间,真正开始看源码是从今年7月16号开始的,到现在大约过去了三个月,目前已看的有:集合类ArrayList/Vector/HashMap/HashTable/ConcurrentHashMap,包括jdk1.7和1.8...

    首先做一个自我介绍,我做java开发接近两年半的时间,真正开始看源码是从今年7月16号开始的,到现在大约过去了三个月,目前已看的有:集合类ArrayList/Vector/HashMap/HashTable/ConcurrentHashMap,包括jdk1.7和1.8的版本。另外简单了解了jvm虚拟机的内存结构、java中锁机制、synchronize的实现原理、spring ioc/aop的实现原理。

    现在回过头来,思考几个问题,看源码的目的是什么(是为了应付面试吗)?源码需要看到什么程度?这也是我以后想去探索总结的。

    在看源码的过程中,类的跳跃性大,给理解需求带来了挑战。打个比方,线程安全的1.7版本的ConcurrentHashMap中,使用了ReentranLock作为Segement的父类实现分段锁技术。那不经要熟悉了,什么是ReentranLock,他和synchronize关键字的区别在哪里。看到这儿思维就被阻塞或者带偏了。又例如1.8版本的ConcurrentHashMap中,使用了红黑树来优化链表过长带来的时间复杂度,这里涉及到红黑树算法的知识,求知欲驱使你去熟悉算法知识。

    整个学习过程是比较煎熬的,受到的挫折感强,所以各位同学要调整好心态,告诉自己,知识摆在那里,不是等你看到的时候才感觉到自己的无知,学习的过程也是养成习惯的过程,后者更为重要。

    未完待续。。。

    展开全文
  • 如题,本系列的源码学习分两个路线(或者说时策略)同时进行,一条是从点出发,另一条是从面出发。 何为点 这里的点是指关注的知识点是某个好的编码习惯,某个算法,很具体,很容易学习、模仿的”技术点”。即着重...

    如题,本系列的源码学习分两个路线(或者说时策略)同时进行,一条是从点出发,另一条是从面出发。

    何为点

    这里的点是指关注的知识点是某个好的编码习惯,某个算法,很具体,很容易学习、模仿的”技术点”。即着重学习“计”。

    • Java基础类型
    • Java基础工具类
    • java与算法相关的类

    何为面

    这里的面是指关注的知识点是Java源码中使用的架构,程序设计思路,偏抽象,学习后需要通过深入思考方能领会与使用的“技巧”。即着重学习“术”
    从面来看JDK的源码包括的知识点主要包括如下两个类

    • JVM的设计与实现
      • JAVA的应用架构
      • JAVA的进程与线程
    • JDK中使用的设计模式
      • 工厂模式
      • 装饰模式

    注:后续文章的内容基于jdk8u60

    展开全文
  • 说到技术基础,我打个比方吧,如果你从来没有Java,或是任何一门编程语言如C++,一开始去啃《Core Java》,你是很难从中吸收到营养的,特别是《深入Java虚拟机》这类书,别人觉得好,未必适合现在的你。
    刚才在论坛不经意间,看到有关源码阅读的帖子。回想自己前几年,阅读源码那种兴奋和成就感(1),不禁又有一种激动。 
    源码阅读,我觉得最核心有三点:技术基础+强烈的求知欲+耐心。 

    说到技术基础,我打个比方吧,如果你从来没有学过Java,或是任何一门编程语言如C++,一开始去啃《Core Java》,你是很难从中吸收到营养的,特别是《深入Java虚拟机》这类书,别人觉得好,未必适合现在的你。 
    虽然Tomcat的源码很漂亮,但我绝不建议你一开始就读它。我文中会专门谈到这个,暂时不展开。 

    强烈的求知欲,我认为是阅读源码的最核心驱动力。我见到绝大多数程序员,对学习的态度,基本上就是这几个层次(很偏激哦): 
    1、只关注项目本身,不懂就baidu一下。 
    2、除了做好项目,还会阅读和项目有关的技术书籍,看wikipedia。 
    3、除了阅读和项目相关的书外,还会阅读IT行业的书,比如学Java时,还会去了解函数语言,如LISP。 
    4、找一些开源项目看看,大量试用第三方框架,还会写写demo。 
    5、阅读基础框架、J2EE规范、Debug服务器内核。 

    大多数程序都是第1种,到第5种不光需要浓厚的兴趣,还需要勇气:我能读懂吗?其实,你能够读懂的。 

    耐心,真的很重要。因为你极少看到阅读源码的指导性文章或书籍,也没有人要求或建议你读。你读的过程中经常会卡住,而一卡主可能就陷进了迷宫。这时,你需要做的,可能是暂时中断一下,再从外围看看它:如API结构、框架的设计图。 

    我就说说如何读Java源码,以及我曾经的阅读感悟。 

    Java源码初接触 
    如果你进行过一年左右的开发,喜欢用eclipse的debug功能。好了,你现在就有阅读源码的技术基础。 
    我建议从JDK源码开始读起,这个直接和eclipse集成,不需要任何配置。 

    可以从JDK的工具包开始,也就是我们学的《数据结构和算法》Java版,如List接口和ArrayList、LinkedList实现,HashMap和TreeMap等。这些数据结构里也涉及到排序等算法,一举两得。 
    面试时,考官总喜欢问ArrayList和Vector的区别,你花10分钟读读源码,估计一辈子都忘不了。 

    然后是core包,也就是String、StringBuffer等。 
    如果你有一定的Java IO基础,那么不妨读读FileReader等类。我建议大家看看《Java In A Nutshell》,里面有整个Java IO的架构图。Java IO类库,如果不理解其各接口和继承关系,则阅读始终是一头雾水。 
    Java IO 包,我认为是对继承和接口运用得最优雅的案例。如果你将来做架构师,你一定会经常和它打交道,如项目中部署和配置相关的核心类开发。 

    读这些源码时,只需要读懂一些核心类即可,如和ArrayList类似的二三十个类,对于每一个类,也不一定要每个方法都读懂。像String有些方法已经到虚拟机层了(native方法),如hashCode方法。 

    当然,如果有兴趣,可以对照看看JRockit的源码,同一套API,两种实现,很有意思的。 
    如果你再想钻的话,不妨看看针对虚拟机的那套代码,如System ClassLoader的原理,它不在JDK包里,JDK是基于它的。JDK的源码Zip包只有10来M,它像是有50来M,Sun公司有下载的,不过很隐秘。我曾经为自己找到、读过它很兴奋了一阵。 

    Java Web开发源码 
    在阅读Tomcat等源码前,一定要有一定的积累。我的切实体会,也可以说是比较好的阶梯是: 
    1、写过一些Servlet和JSP代码。注意,不是用什么Struts,它是很难接触到Servlet精髓的。用好Struts只是皮毛。
    2、看过《Servlet和JSP核心编程》 
    3、看过Sun公司的Servlet规范 
    4、看过http协议的rfc,debug过http的数据包 
    如果有以上基础,我也不建议你开始读Tomcat源码。我建议你在阅读Tomcat源码前,读过Struts源码,Struts源码比WebWork要简单得多。这个框架是可以100%读懂的,至少WebWork我没有100%读懂。我曾经因为读懂了Struts源码,自己写过一个Web框架。 

    当然,在读Struts框架前,最好看过它的MailReader等demo,非常非常不错的。 
    如果你做过一些Struts项目,那么读它时就更得心应手了。 
    在读Struts前,建议看看mvnforum的源码,它部分实现了Struts的功能,虽然这个BBS做得不敢恭维。 

    如果你读过Struts,再开始考虑Tomcat源码阅读吧。 
    不过,我还是不建议直接读它,先读读onJava网站上的系列文章《How Tomcat Works》吧,它才是Tomcat的最最简易版。它告诉你HttpServletRequest如何在容器内部实现的,Tomcat如何通过Socket来接受外面的请求,你的Servlet代码如何被Tomcat容器调用的(回调)。 
    学习JSP,一定要研读容器将JSP编译后的Servlet源码。 
    为什么我总是称呼Tomcat为容器,而不是服务器?这个疑问留给大家吧。 

    如果你一定要读Tomcat,那么就读Jetty吧。至少它是嵌入式,可以直接在eclispe里面设置断点debug。虽然Tomcat也有嵌入式版本。 

    Java数据库源码阅读 
    我建议,先读读Sun的JDBC规范。 
    我想你一定写过JDBC的代码,那么这时候可以开始阅读源码了。 
    如果了解JDBC规范(接口),那么它的实现,JDBC Driver就一定要开始了解,我的建议是,读读mysql的jdbc驱动,因为它开源、设计优雅。在读mysql的JDBC驱动源码时,建议看看mysql的内幕,官方正好有本书,《Mysql Internals》,我五年前读过一部分。比如你可以知道mysql的JDBC驱动,如何通过socket数据包(connect、query),给这个C++开发的mysql服务器交互的。 

    通过上面的阅读,你可以知道,你的业务代码、JDBC规范、JDBC驱动、以及数据库,它们是如何一起协作的。 
    如果你了解这些内幕,那么你再学习Hibernate、iBatis等持久化框架时,就会得心应手的。 

    读过JDBC驱动,那么下一步一定要读读数据库了。而正好有一个强大的数据库是用Java开发的,Hsqldb。它是嵌入式数据库,比如用在桌面客户端软件里,如Mail Client。 
    我四年前为此写过一篇小文,就不介绍了。 

    Java通讯及客户端软件 
    我强烈推荐即时通讯软件wildfire和Spark。你可以把wildfire理解成MSN服务器,Spark理解成MSN客户端。它们是通过XMPP协议通讯的。 
    我曾经在一个项目中,定制过Spark,当然也包括服务端的一些改动。所以它们的源码我都读过。 
    我之所以推荐它们。是因为: 
    1、XMPP够轻量级,好理解 
    2、学习Socket通讯实现,特别是C/S架构设计 
    3、模块化设计。它们都是基于module的,你既可以了解模块化架构,还可以了解模块化的技术支撑:Java虚拟机的ClassLoader的应用场景。 
    4、Event Driven架构。虽然GUI都是Event驱动的,但Spark的设计尤其优雅 

    这么说吧,读它们的源码,你会为做一名程序员而自豪,因为无论是他们的架构设计还是代码,都太漂亮了。 

    Java企业级应用 
    当然了,就是Hibernate、Spring这类框架。 
    在读Spring源码前,一定要先看看Rod Johnson写的那边《J2EE Design and Development》,它是Spring的设计思路。注意,不是中文版,中文版完全被糟蹋了。 
    在读Hibernate源码前,一定要读读Gavin King写的那本《Hibernate in Action》,同时,应该再读读Martin Fowler写的《企业应用架构模式》,它专门谈到持久化框架的设计思路。当你觉得这两本书读透了,再去看它们源码吧。 
    而且,在读源码前,你会发现它们用到很多第三方Jar包,二三十个,你最好把那些Jar包先一个个搞明白。 

    说到企业应用,一定会涉及到工作流。我当年读过jBPM的源码,网上有介绍jBPM内核的文章(银狐)。我感觉它的内核也就两千行,不要害怕。我曾经阅读jBPM源码的博客。 
    当然了,读工作流源码,前提是一定要对其理论模型有深入的了解,以及写过一些demo、或做过一些项目。 

    我上面介绍的这些,是我自己读过的,也适合一般人阅读。 
    我也读过一些非Java源码,感觉不错,也推荐给大家: 
    dojo源码 它的架构设计得很优雅,仿Java的import和extends。但实际应用起来一塌糊涂。我们当年基于这个开发了自己的框架,不过我不是主力。 

    Flex源码 Flex 08年底刚刚开源后,我就用它做过一个中型项目,应该说是国内的技术先行者。当时市面没有有深度的书,也没有开源项目。我纯粹是看Flex的Help文档和源码,把项目搞定的。两三年过去了,现在觉得系统设计得蛮优雅的。 

    好了,先介绍到这里。 
    上面说到的这些Java源码,我都是4年前、甚至更早读过的。技术变化这么快,像互联网的高速发展,催生很多高性能、分布式数据库,如hadoop。我一看,发现自己已经落伍了。 

    这几年,想必已经出现了很多优秀的框架,大家不妨分享出来。


    文章来源http://zwchen.iteye.com/blog/1154193

    展开全文
  • 作为Java开发工程师,想进阶,阅读别人项目的源码,尤其是开源的优秀核心技术栈的源码必不可少的步骤。 那么有什么高效的阅读源码的方法呢? 常见的比如买一些 《xxx源码解析》图书,但是存在一个问题,刚开始看的...

    一、背景

    作为Java开发工程师,想进阶,阅读别人项目的源码,尤其是开源的优秀核心技术栈的源码必不可少的步骤。

    那么有什么高效的阅读源码的方法呢?

    常见的比如买一些 《xxx源码解析》图书,但是存在一个问题,刚开始看的时候非常吃力,跟不上,显得很枯燥,而且很可能看完可能还是毫无头绪。

    又不如直接拉源码下来,又不知道如何入手。

    今天和好友探讨过这个问题,把我们认为比较好的阅读和学习源码的技巧整理在这里。

    二、好的方法

    拉源码,通过单元测试,调试技巧,各种IDE的辅助功能和插件了解调用关系。

    根据单元测试打断点,查看调用栈。

    结合源码解读的图书和文章再去理解。

    结合官方文档的功能文档和架构文档来读。

    如dubbo的架构图

    对从整体掌握源码和原理有极大的帮助,dubbo官方文档甚至还有配套的源码截图。

     

    带着问题或者遇到问题后深入研究某一块,用博客等积累和分项。

     

    三、具体方法

    2.1 github拉取源码+看源码注释+单元测试

    去github上拉取源码(建议直接拉clone原项目或者fork之后的项目源码)。

    建议fork源码,这样本地可以对源码加入自己的注释。

     

    或者快捷键进入源码后,IDEA右上角有“Download Source”在项目中拉源码,方便调试和学习。

    因为源码带有注释,而多数的开源项目,尤其是外国的优秀开源项目的注释都非常详细,包括类、函数的作用以及参数的含义都非常清楚。

    另外优秀的开源项目必然会有单元测试,几乎每个类都有单元测试。

    想重点学习某个类,就运行某个单元测试,根据单元测试的角度了解函数的目的,用法等

    2.2 断点调试看调用栈大法

    断点调试可以通过单步调试,通过堆栈信息,通过watch来查看类的各种属性。

    对理解程序流程和数据变化有极大的帮助。

    调试

    这里非常重要,因为常规的调试都是单步往下走,但是这里可以通过左下角的调用栈,查看已经入栈的栈帧,查看上层函数调用!!!

    比如在spring生命周期的某个环节如构造方法中打了断点,在这里就可以追溯到bean的初始化初期的调用代码。

    而且可以通过删除frame实现“回退”。

    对分析源码有极大的帮助!!!!

    2.3 查看类中主要函数

    mac快捷键 cmd+f12

    双击可以跳转到对应的函数源码。

    2.4 查看继承关系大法

    通过继承关系可以了解一个类“本质”是啥。

    而且通过双击,可以跳转到继承关系的任何一个类的源码。

    2.5 查看调用关系

    通过“Call Hierarchy”查看调用的关系

    通过右键“find usages”查看调用

    双击都可以去到源码中。

    2.6 查看源码时不跳转显示参数或某个子函数的源码

    mac上快捷键是cmd+y

    这在研究源码时帮助很大,不仅节省很多时间,而且效果更好。

    可以用在参数上,也可以用在子函数上。

     

     

    2.7 依赖关系(依赖矩阵、依赖UML等)

    依赖矩阵

     

    基本解释:

    绿色使用了灰色的类,灰色类使用黄色类。

    红色代表形成了循环依赖。

    如图所示我们鼠标放在“BatchExecUtil”上,根据右上角的图示可知。

    绿色部分 BatchExecUtilTest使用到了BatchExecUtil。

    而BatchExecUtil又使用到了下面4个类。

    可以切换到不同的类(行),查看关系,下图是切换到“SimpleRetryUtil”的视图:

     

    三、利用IDEA的各种其他快捷键和功能辅助提高效率

    学习和掌握idea常用的快捷键,这里就不一一介绍了。

     

    比如点击左上角可以切换到包视图,此次修改变化的文件等等。

    还可以多熟悉一下analyze菜单栏下的其他高级功能

    如果觉得本文对你有帮助,欢迎点赞评论,欢迎关注我,我将努力创作更多更好的文章。

    另外欢迎加入我的知识星球,知识星球ID:15165241 一起交流学习。

    https://t.zsxq.com/Z3bAiea  申请时标注来自CSDN。

     

     

    -----------------------------------------------------

    我在参见 CSDN 1024 程序员活动(2019年10月24日截止)

    如果我的博客对你有帮助,且有时间,欢迎浏览器后者微信扫码,帮我点赞支持我:

     
    展开全文
  • JDK源码学习(准备篇) 本文为菜鸟整理文章,在学习过程中根据自己的学习过程和逻辑点将现有知识进行整合,本人玻璃心小女子一枚,新手上路,可以接收指教,但不接受指点,谢谢! 准备篇包含以下内容 1.jdk...

    #JDK源码学习(准备篇)

    本文为菜鸟整理文章,在学习过程中根据自己的学习过程和逻辑点将现有知识进行整合,有问题可评论留言,谢谢!

    准备篇包含以下内容
    1.jdk7的源码下载
    2.源码的目录解析
    3.源码的阅读顺序


    jdk7源码的下载路径

    http://download.java.net/openjdk/jdk7/promoted/b147/openjdk-7-fcs-src-b147-27_jun_2011.zip

    ##jdk7的目录解析

    对于一个刚拿到源码的新人来说,面对jdk复杂的目录结构是懵逼的,根本不知道从哪看起。为了接下来的学习计划,做了研究和整理,各个jdk版本以及下载的方式导致jdk的目录存在差异,但整体来说差异不大。本人是在jdk7的基础上进行解析,以下就是对于浅层目录的解析内容。>

    jdk7的目录结构如下:

    这里写图片描述
    1.corba

    全称:Common Object Request Broker Architecture(通用对象请求代理架构)
    不常用的多语言、分布式通讯接口,基于对象-服务机制设计,类似于 JavaBean 和微软的 COM 技术。>

    2.hotspot

    全称 :Java HotSpot Performance Engine(Java HotSpot性能引擎)
    是 Java 虚拟机的一个实现,包含了服务器版和桌面应用程序版。利用 JIT 及自适应优化技术(自动查找性能热点并进行动态优化)来提高性能。>

    3.jaxp

    全称: Java API for XML Processing(处理 XML 的 Java API)
    提供了解析和验证 XML 文档的能力。>


    jaxp提供了几个处理报文的接口:

    接口名 功能 路径
    DOM 接口 文档对象模型解析 jaxp/src/org/w3c/dom
    SAX 接口 XML 简单 API 解析 jaxp/src/org/xml/sax
    StAX 接口 XML 流 API jaxp/src/javax/xml
    XSLT 接口 XML数据和结构转换 jaxp/src/javax/xml/transform

    4.jaxws

    全称: Java API for Web Services(XML Web Services 的 Java API)
    JAX-WS 允许开发者选择面向 RPC(RPC-oriented)或是面向消息(Message-oriented)的方式来实现自己的 Web Services。>

    5.jdk

    包含了 JDK 的实现,实现源码位于 jdk/src/share 目录,其目录结构如下图所示>

    这里写图片描述

    * classes 目录包含的是 Java 实现,native 目录包含的是 C++ 实现
    * sample 和 demo 目录包含一些示例。
    * back、instrument、javavm、npt、transport 等目录包含了实现 Java 的基础部分的 C++ 源码,在这里可以从最底层理解 Java。
    

    6.langtools

    Java 语言工具,包含 javac、javap 等实用程序的源码。>

    源码的阅读顺序

    以下类所在的位置点击此查看[^footnote]

    1.java.lang

    Object 
    String 
    AbstractStringBuilder 
    StringBuffer 
    StringBuilder 
    Boolean 
    Byte 
    Double 
    Float 
    Integer 
    Long 
    Short
    Thread 
    ThreadLocal 
    Enum 
    Throwable 
    Error 
    Exception 
    Class 
    ClassLoader 
    Compiler 
    System 
    Package 
    Void 
    

    2.java.util

    AbstractList 
    AbstractMap
    AbstractSet 
    ArrayList 
    LinkedList
    HashMap 
    Hashtable
    HashSet
    LinkedHashMap
    LinkedHashSet
    TreeMap
    TreeSet
    Vector
    Queue
    Stack
    SortedMap
    SortedSet 
    Collections
    Arrays
    Comparator
    Iterator
    Base64 
    Date
    EventListener
    Random 
    SubList 
    Timer 
    UUID 
    WeakHashMap
    

    3、java.util.concurrent

    ConcurrentHashMap
    Executor
    AbstractExecutorService 
    ExecutorService 
    ThreadPoolExecutor
    BlockingQueue
    AbstractQueuedSynchronizer
    CountDownLatch
    FutureTask
    Semaphore
    CyclicBarrier
    CopyOnWriteArrayList 
    SynchronousQueue
    BlockingDeque 
    Callable
    

    4、java.util.concurrent.atomic

    AtomicBoolean
    AtomicInteger
    AtomicLong 
    AtomicReference 
    

    5、java.lang.reflect

    Field
    Method
    

    6、java.lang.annotation

    Annotation
    Target
    Inherited
    Retention
    Documented
    ElementType
    Native 
    Repeatable
    

    7、java.util.concurrent.locks

    Lock 
    Condition
    ReentrantLock
    ReentrantReadWriteLock
    

    8、java.io

    File
    InputStream
    OutputStream
    Reader
    Writer
    

    9、java.nio

    Buffer
    ByteBuffer
    CharBuffer
    DoubleBuffer
    FloatBuffer
    IntBuffer
    LongBuffer
    ShortBuffer
    

    10、java.sql

    Connection
    Driver 
    DriverManager 
    JDBCType 
    ResultSet
    Statement 
    

    11、java.net

    Socket 
    ServerSocket 
    URI 
    URL
    URLEncoder 
    

    关于jdk源码的准备篇的整理就到了,主要是帮助看文的人得到资源、找到需要的东西以及学习路径,具体怎么学、学到什么就仁者见仁智者见智了,下一篇是根据目录学习以及现有资源整理的Object类相关。
    [^footnote]: lang包的路径:jdk/share/native/java

    展开全文
  • JAVA源码学习(一)

    2019-09-22 11:27:41
    1.HashMap 2.HashTable 3.ConcurrentHashMap
  • 源码开始学习Java

    2019-07-03 23:18:38
    源码开始学习Java为什么要从源码开始学习开发文档java包、javax包、org包详细介绍Java包插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个...
  •  Java生成密钥、保存密钥的实例源码通过源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥...
  • 如何学习java源码

    2015-07-22 14:03:10
    说到技术基础,我打个比方吧,如果你从来没有Java,或是任何一门编程语言如C++,一开始去啃《Core Java》,你是很难从中吸收到营养的,特别是《深入Java虚拟机》这类书,别人觉得好,未必适合现在的你。...
  • JAVA源码学习要点汇总

    2018-05-13 16:07:49
    JVM的原理3.java变量4.java数据类型5.java运算符6.java判断语句if-else7.java循环语句switch-case\for\while\do-while和continue\break二、面向对象1.构造函数2.关键词static、super、final3.继承4.方法重载和覆盖5...
  • JAVA源码学习--String

    2017-05-04 18:56:02
    最近发四重新学习java的基础,从基本类型以及里面的各种方法开始看起,看的一本书《JAVA核心技术卷1,基础知识》,这是第十版,讲的JDK8的一些特性。 我在想我们创建对象的时候都是这样进行创建的People p = new ...
  •  笔者当初为了学习JAVA,收集了很多经典源码源码难易程度分为初级、中级、高级等,详情看源码列表,需要的可以直接下载! 这些源码反映了那时那景笔者对未来的盲目,对代码的热情、执着,对IT的憧憬、向往!此时...
  • 源码目录中的 rj.jar就是我们需要学习源码所在目录,打开后发现有,com,java,javax,jdk,org,sun等不同的包 我们学习源码肯定需要排除干扰,如com,jdk,sun,org等一看就不是我们需要的 需要注意的是,Java包里是原生...
  • 出于学习或面试的原因,需要去查看 Java 源码(比如HashMap的实现等)。我们可以在IDE中写代码时点击指定类/接口/方法可以直接查看源码,或通过包依赖目录查看,这些都不错,我这里也多提供另一种方法。 工具 - VS...
  • java 源码学习方法

    2015-06-13 01:06:06
    转自:java特种兵
  • Hi大家好,我是清和二七,今天我们来聊聊《Java集合源码剖析-Java集合框架》 一.层次关系 Java集合工具包位于Java.util包下,包含了很多常用的数据结构,如数组、链表、栈、队列、集合、哈希表等。学习Java集合...
  • 网上在线学习源码(J2EE JAVA)。 可直接运行。做毕业设计、课程设计或者想研究下技术的可以下载学习。需要更多资源的可以关注我。
  • java的日常学习中,我们有时候会需要看java的api说明,或者是查看java源码,使我们更好的了解java,接下来我就来说说如何查看java的api以及java源码 对于java的api,一般是在下面的网址中进行查看 ...
  • Java项目源码经典实用——提高必备【必必看】 各种流行技术和框架应有尽有,部分目录如下。。。。。 Java的UI皮肤 Quaqua.zip Java神经网络框架 Encog for Java.zip Java程序监控API Java Simon.zip Java算术...
  • 说到技术基础,我打个比方吧,如果你从来没有Java,或是任何一门编程语言如C++,一开始去啃《Core Java》,你是很难从中吸收到营养的,特别是《深入Java虚拟机》这类书,别人觉得好,未必适合现在的你。...
1 2 3 4 5 ... 20
收藏数 261,315
精华内容 104,526