通常喜欢读源码的人,都是因为内心有强大的求知欲,同时对自己的能力非常自信,还得具有耐心和坚持力。读源码并不是一朝一夕的事,而是一个长期积累的过程,所谓厚积薄发。下面结合自己读源码的体会,简单说下几点好处:

1.深入理解java语言。很多人做java开发,只知道怎么用,大概了解语法,但并不是很懂为什么要这么写,这样的后果就是模仿别人的代码,不能根据项目中的实际情况,写出高质量的代码。而当你阅读了java源码之后,你就会发现其实还可以有更高效的方法来解决问题,同时理解了底层原理之后,可以避免一些有可能会遇到的坑。

2.深入体会设计模式。当你深入java源码的时候,就会发现里面用到了很多设计模式,最好是总结一下哪些地方用到了哪些设计模式,这样可以提高自己在实际的开发中如何使用设计模式能力,让代码结构质量等有一个质的提高。

3.数据结构和算法。java源码很多地方都设计得非常的精妙,你平时经常使用的hashmap、List、Array等等底层是怎么实现的都可以在这里找到答案,通过研读这些源码,可以提高自己对数据结构和算法的理解。

读java源码的好处相关推荐

  1. Mac下使用Eclipse读java源码

    Mac下java默认是没有附带源码的,到苹果开发者网站也没找到,就尝试了一下使用Window下的源码包,过程只需两步: 拷贝java在windows安装路径下的src.jar到你的Mac系统,在Max ...

  2. 你会阅读Java源码吗

    阅读Java源码的前提条件: 1.技术基础 在阅读源码之前,我们要有一定程度的技术基础的支持. 假如你从来都没有学过Java,也没有其它编程语言的基础,上来就啃<Core Java>,那样 ...

  3. 走过的路-java源码阅读之路

    源码阅读,我觉得最核心有三点:技术基础+强烈的求知欲+耐心. 一.人生三种境界: 1.昨夜西风凋碧树,独上高楼望尽天涯路.           2.衣带渐宽终不悔,为伊消得人憔悴.           ...

  4. 如何学习java源码

    刚才在论坛不经意间,看到有关源码阅读的帖子.回想自己前几年,阅读源码那种兴奋和成就感(1),不禁又有一种激动. 源码阅读,我觉得最核心有三点:技术基础+强烈的求知欲+耐心. 说到技术基础,我打个比方吧 ...

  5. Java源码阅读的真实体会(一种学习思路)

    刚才在论坛不经意间,看到有关源码阅读的 帖子 .回想自己前几年,阅读源码那种兴奋和成就感( 1 ),不禁又有一种激动.  源码阅读,我觉得最核心有三点:技术基础+强烈的求知欲+耐心. 说到技术基础,我 ...

  6. Java源码阅读的真实体会

    刚才在论坛不经意间,看到有关源码阅读的[url=http://www.iteye.com/topic/854647]帖子[/url].回想自己前几年,阅读源码那种兴奋和成就感([url=http:// ...

  7. java 事件分发机制_读Android源码之事件分发机制最全总结

    原标题:读Android源码之事件分发机制最全总结 本文源码来自andorid sdk 22,不同版本会有细微差别,但核心机制是一致的 一.概述 事件分发有多种类型, 本文主要介绍Touch相关的事件 ...

  8. java 源码系列 - 带你读懂 Reference 和 ReferenceQueue

    java 源码系列 - 带你读懂 Reference 和 ReferenceQueue https://blog.csdn.net/gdutxiaoxu/article/details/8073858 ...

  9. 面试官系统精讲Java源码及大厂真题 - 48 一起看过的 Java 源码和面试真题

    48 一起看过的 Java 源码和面试真题 不为了源码而读源码,只为了更好的实践 持续几个月,我们的专栏终于结束了,这篇总结篇,我们又想回到当初写这篇专栏的初心:我们不为读源码而读源码,只是为了更好的 ...

  10. 想读Spring源码?先从这篇「 极简教程」开始

    来自:Java中文社群 为什么要阅读源码?这是一个有趣的问题,类似的问题还有,为什么要看书?为什么要爬山? 这也是一个哲学问题,我想每个人都有不同的答案,下面我是对阅读源码好处的一些思考.(PS:也欢 ...

最新文章

  1. R语言:生成正态分布数据生成--rnorm,dnorm,pnorm,qnorm
  2. ACCP7.0-S2-复习自测-15测试分析
  3. CURL模拟请求(get/post)
  4. how you can do to make girls more close to you?
  5. 有网友提问,关于本地XML转JSON的小工具
  6. C#基础|面向对象之多态
  7. pca算法介绍及java实现_PCA算法原理及实现
  8. 边缘计算精华问答 | 边缘计算需要IaaS、PaaS、SaaS等服务能力吗?
  9. 求java简单计算器源代码_java简单计算器源代码
  10. JDBC连接数据库:单线程、多线程、批处理插入数据的对比
  11. 批处理学习笔记6 - 重定向符和
  12. linux终端中书名号,Linux双引号、单引号和反向单引号
  13. 关于String s = new String(xyz); 创建几个对象的问题
  14. 《动手学深度学习》资料汇总+网站推荐
  15. QT串口助手设计流程(如何实现一个串口助手
  16. Niagara内容示例 1.3 Simple GPU Emitter
  17. android 相机自动延时拍照软件,延时摄影大师app下载-延时摄影大师 安卓版v3.0-PC6安卓网...
  18. Pycharm 注册 Pycharm 破解 Pycharm 注册破解 亲测多法 仅此方有效 有效期至2099年
  19. 职称英语与计算机考试试题,2017职称计算机考试Word模拟题及答案
  20. 记一次.Net Core程序启动失败的排查过程

热门文章

  1. 《Go程序设计语言》- 第10章:包和go工具
  2. scratch编程——一个列表实现经典扫雷游戏
  3. 黑苹果 无线网卡相关配置
  4. 精品软件 推荐 常用软件 游戏的 运行库 下载 合集 3D game 玩游戏的一定要收藏一下。...
  5. VS2019添加自定义发布本地的Nuget(.nupkg文件)
  6. JAVA之stream汪文君_Java8新特性之Stream API
  7. 中国银行手机银行登入显示服务器,中国银行手机银行登录指南
  8. .NET-3.Xamarin学习与总结
  9. android webview 字体被放大,解决因为手机设置字体大小导致h5页面在webview中变形的BUG...
  10. js读取服务器json文件,原生js读取json文件