Java源码阅读的真实体会.docx_第1页
Java源码阅读的真实体会.docx_第2页
Java源码阅读的真实体会.docx_第3页
Java源码阅读的真实体会.docx_第4页
Java源码阅读的真实体会.docx_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

如何阅读Java源代码如何阅读Java源代码我刚才在论坛上不小心看了看源代码的投稿。 想起自己几年前读了源代码的兴奋和成就感(1),又兴奋了。看了源代码,我认为最核心的是技术基础很强的求知欲的忍耐力。说起技术的基础,如果没有学过Java,或者有c这样的编程语言的话,最初啃Core Java的话,很难吸收营养,特别是深入Java虚拟机这样的书,认为别人很好,不适合现在的你。Tomcat的源代码很漂亮,但不建议先读。 我的文章特别谈这个,暂时不展开。我认为强烈的求知欲是阅读源代码的最核心动力。 我遇到了大多数程序员,对学习的态度,基本上是这几个层次1、只关注项目本身,不明白的话就拜杜。2 .不仅要制作项目,还要读关于项目的技术书,看维基百科。3 .不仅是关于项目的书,学习Java的时候,也读IT业界的书,知道LISP这样的函数语言。4、试着找几个开源项目,大量尝试第三方框架,也写演示。5 .阅读基础框架、J2EE规范、Debug服务器内核。大部分程序是第一类,到第五类不仅需要强烈的兴趣,还需要勇气。 你能读吗其实能读。耐心,真的很重要。 因为读源代码的指导性的文章和看书的人极少,没有要求读的人也没有建议。 你读的时候经常会被卡住,卡米可能会陷入迷宫。 此时,要做的事情可能会暂时中断,从周围看到:例如API结构,框架的设计图。谈谈读Java源代码的方法和我读的感想。Java源的第一次接触如果你进行着一年左右的开发,我喜欢eclipse的调试功能。 好了,你现在已经有读源代码的技术基础了。我们建议您从JDK源代码开始,直接与eclipse集成,而不需要配置。您可以从我们学到的数据结构和算法 Java版本开始,包括JDK工具包: List接口、ArrayList、链接列表实现、HashMap和TreeMap。 这些数据结构中还包括排序等算法,一举两得。面试的时候,考官总是喜欢听ArrayList和Vector的不同,你十分钟读源代码,一辈子都忘不了。core包,即String和StringBuffer。如果有Java IO的基础,请读FileReader等。 我建议您看看Java In A Nutshell。 那里有整个Java IO的体系结构图。 Java IO类库如果不理解各接口和继承关系,则继续阅读始终是雾。我认为Java IO包是继承和接口中最优雅的应用。 将来成为设计者的话,与项目的导入和配置相关的核心级别的开发等,会经常与之交往。读这些源代码,只需要读几个核心类。 例如,类似于ArrayList的二十三个类不一定必须按方法为每个类读取。 有些方法(如String )已成为虚拟机层(native方法),如hashCode方法。当然,如果有兴趣的话,JRockit的源代码,相同的API集,2个实现,很有趣。如果您想再钻取一次,请查看虚拟机代码,如System ClassLoader原理。 JDK包中没有。 JDK是以此为基础的。 JDK的源Zip包只有10m。 虽然好像有50米,但是Sun公司下载了,是个秘密。 我曾经为自己找到并阅读过它而感到兴奋。Java Web开发源代码在读Tomcat等源代码之前,一定要有一定的积累。 我的实际感受是,更好的阶梯我在写servlet和JSP代码。 请注意,很难接触到servlet的精髓,而不是Struts。 好的Struts不过是皮毛。我看过2,Servlet和JSP核心编程3 .我看过sun公司的servlet规格4、通过http协议调试过rfc、http的数据包如果有这样的基础,我们不建议您阅读Tomcat源代码。 最好在读取Tomcat源代码之前读取Struts源代码。 Struts源代码比WebWork容易得多。 这个框架可以100%阅读,至少WebWork不能100%阅读。 因为读了Struts源代码,所以自己写过Web框架。当然,在阅读Struts框架之前,最好先看看MailReader等demo。做过Struts项目的人很擅长读那个。在阅读Struts之前,最好查看mvnforum源代码。 虽然这个BBS不是恭维的,但是部分实现了Struts的功能。阅读Struts后,请考虑Tomcat源代码。但是,不要直接阅读。 阅读onJava网站上的文章How Tomcat Works,是Tomcat最简单的版本。 说明http servlet请求在容器中的实现方式、Tomcat如何通过套接字接收外部请求以及Tomcat容器如何调用servlet代码。要学习JSP,必须研究容器编译JSP的servlet源代码。为什么总是把Tomcat称为容器而不是服务器?这个问题留给大家吧。如果你必须读Tomcat,请读Jetty。 您可以至少以内置方式在eclispe中直接设置断点调试。 Tomcat还有内置版本。Java数据库源代码读取我们建议您先阅读Sun的JDBC规范。我想一定是写了JDBC的代码,现在可以读源代码了。当理解JDBC规范(接口)时,该实现必须由JDBC驱动器开始理解。 我们建议您阅读mysql的JDBC驱动程序。 因为这是一个开源而优雅的设计。 阅读mysql的JDBC驱动程序源代码时,建议您查看mysql的内部人员。 官方有书。 Mysql Internals,我5年前读过一部分。 例如,mysql的JDBC驱动器可通过套接字分组(connect,query )知道如何与用c开发的mysql服务器交互。通过阅读以上内容,您可以了解业务代码、JDBC规范、JDBC驱动程序和数据库如何协作。如果知道这些内幕的话,在学习Hibernate、iBatis等永久性框架时就会有信心。阅读JDBC驱动程序后,下一步一定要阅读数据库。 正好有一个用Java开发的名为Hsqldb的强大数据库。 这是桌面客户端软件(如mail客户端)使用的嵌入式数据库。我四年前为此写了一篇小文,不介绍。Java通信和客户端软件强烈建议使用即时通讯wildfire和Spark。 您可以将wildfire理解为MSN服务器,将Spark理解为MSN客户机。 通过XMPP协议进行通信。我以前在一个项目中定制过Spark,当然还包括服务器端的更改。 我读过源代码。我推荐的是。 因为1、XMPP重量轻,易于理解2 .学习套接字通信的实现,尤其是C/S架构设计3 .模块化设计。 所有这些都是基于模块的,因此您可以了解模块化体系结构、模块化技术支持以及Java虚拟机上类加载器的应用场景。事件驱动程序架构。 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源代码的博客。当然,在阅读工作流源时,必须深刻理解其理论模型,写演示,制作项目。我介绍的这些是我自己读的,也适合一般人读。我也读了一些非Java源代码,感觉很好,向大家推荐dojo源代码设计得很优雅,就像Java导入和扩展一样。 但事实上,这是一个混乱。 我们当时据此开发了自己的框架,但我不是主力。Flex源头Flex 08年底刚刚成为开放源头,我用它做了一个中等规模的项目。 应该说是国内技术的先驱。 当时,市场上既

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论