美文网首页我爱编程编程点滴程序员
有哪些 Java 源代码看了后让你收获很多,代码思维和能力有较大

有哪些 Java 源代码看了后让你收获很多,代码思维和能力有较大

作者: 夜风月圆 | 来源:发表于2018-08-09 09:14 被阅读20次

    作者:王爵nice
    链接:https://www.zhihu.com/question/61539640/answer/188718480
    来源:知乎
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

    既然没人,我自荐一发我写的mvc框架 biezhi/blade

    对于学习J2EE的框架有很大的帮助,代码里使用了各种设计模式、事件机制、Java8语法、代码量也很小,web服务使用Netty作为支持,对HTTP/网络想研究的一定是你的必读品。目前在写 Blade-In-Action 小书。

    我之前也写过如何实现IOC/MVC框架的简单博文,可以在这个biezhi/java-bible 仓库里看到。

    也说一下我看过的一些比较不错的代码,看了对Java能力一定会有质的提升

    以上是我看过质量都还不错的代码库,难度相对不是特别高,但对于编程思想的提升还是有很大帮助,互联网资源如此丰富的时候我们更需要的是静下心来安静学习和思考而不是一味的追求信息大爆炸,所以我只挑选了对于代码能力有提升的难度不是特别高的分享给各位。

    同时也推荐阮一峰的《如何变得有思想》一书,这本书记得在3年前看的时候对于个人的编程和人生起了一定的改善作用,如果你觉得对你有用也可以尝试看看,以上是我的一些个人见解。

    喜欢开源的朋友可以关注我的Github:biezhi (王爵nice) 在这里我维护了很多开源项目,从我的star里也有很多优秀的软件作品非常值得大家学习,O(∩_∩)O谢谢

    编辑于 2017-06-26

    ​赞同 525 ​ ​38 条评论

    ​分享

    ​收藏 ​感谢

    更多回答

    <meta itemprop="name" content="Asens"><meta itemprop="image" content="https://pic1.zhimg.com/v2-bb01924a298e60aa1e1da26cdad077c6_is.jpg"><meta itemprop="url" content="https://www.zhihu.com/people/asens"><meta itemprop="zhihu:followerCount" content="382">

    Asens

    Asens

    有王者气质的游吟诗人

    216 人赞同了该回答

    <meta itemprop="image" content=""><meta itemprop="upvoteCount" content="216"><meta itemprop="url" content="https://www.zhihu.com/question/61539640/answer/189166716"><meta itemprop="dateCreated" content="2017-06-25T13:50:07.000Z"><meta itemprop="dateModified" content="2017-06-25T13:50:07.000Z"><meta itemprop="commentCount" content="24">

    最早看的 架构探险 从零开始写Java Web框架,黄勇写的,算是一种启蒙,作者自己写了一套ioc和aop框架以及mvc请求分发框架。
    跟着写了一遍,基本明白了Spring 和SpringMVC是怎么工作的

    然后顺着思路看了2遍Spring和SpringMVC的源码,一遍是跟着流程走了一边,一遍是基于接口和类的功能整体了解了一遍架构设计

    再后来看了how tomcat works,看了一遍中文的,时隔一年又看了一遍英文的,tomcat的作者亲自讲解tomcat的进化,怎么从一个几十行的弱鸡http服务器变成一个servlet容器的,跟着书和各种源码把tomcat的演变写了一遍,真正的源码也过了一遍,但是分支太多了

    作为一个Java web 开发者,我觉得从tomcat的启动到tomcat接受http请求到SpringMVC路由分发请求,到业务代码处理,到模板渲染,到返回对应的http信息都应该了解对应的过程,这样遇到很多问题都能第一时间判断出对应的位置,让一些'很神奇'的问题不再神奇

    然后就是netty了,看了一遍异步的事件驱动reactor模型的nio服务器实现,对异步,多线程,nio理解上了一个新的台阶

    中间穿插读了util包的各种类

    Spring几乎已经不需要解释了,用到的都应该去阅读一下,无论是设计思想,代码规范,还是设计模式,接口设计,类加载,都是非常优秀的源码

    tomcat太大了,并不是很推荐阅读,源码对于阅读者也不是很友好,但是how tomcat works还是很值得阅读的

    netty本身同样很优秀,但是更重要的是实现的思想

    总之阅读源码有什么感觉呢,就好像打开了一扇通往更大世界的大门,能看到厉害的代码技巧,健全的错误异常机制,更重要的是对已有问题的解决方案,和解决问题的思路,这些都是一个程序员成长过程中最好的教材

    发布于 2017-06-25

    ​赞同 216 ​ ​24 条评论

    ​分享

    ​收藏 ​感谢

    <meta itemprop="name" content="清浅池塘"><meta itemprop="image" content="https://pic2.zhimg.com/v2-a257d95d1e2985412e71ad98b0dddb6d_is.jpg"><meta itemprop="url" content="https://www.zhihu.com/people/13641283343"><meta itemprop="zhihu:followerCount" content="14455">

    清浅池塘

    清浅池塘

    知乎专栏《Java那些事儿》唯一作者,努力打造最好的初学者专栏,关注我能收到专栏推送

    92 人赞同了该回答

    <meta itemprop="image" content=""><meta itemprop="upvoteCount" content="92"><meta itemprop="url" content="https://www.zhihu.com/question/61539640/answer/189519418"><meta itemprop="dateCreated" content="2017-06-26T07:56:40.000Z"><meta itemprop="dateModified" content="2017-07-04T00:37:04.000Z"><meta itemprop="commentCount" content="20">

    jdk里的util包,把ArrayList,HashMap,LinkedHashMap,LinkedList,HashTable,HashSet。

    lang包里的,String,Object,StringBuffer,StringBuilder,Integer这些类。

    这些类弄明白了,你可以上升一个台阶。

    还有平时你工作中用到什么类,就看什么类就ok了。

    可叹的是,有些人写了五六年代码,连String这个类的源码都没看过,还老是对我说未来很迷茫,不知道怎么提升好,其实我想说,这样不迷茫才怪。

    最近在写一些专栏,大家有兴趣的话,可以关注我,以上这些都会讲解一下,谢谢大家。

    你可以关注我的专栏,由浅入深,贴几篇你看看:

    让人疑惑的Java代码 - 知乎专栏

    Java字符串那些事儿 - 知乎专栏

    说说Java里的equals(上) - 知乎专栏

    Java中的数组 - 知乎专栏

    相关文章

      网友评论

        本文标题:有哪些 Java 源代码看了后让你收获很多,代码思维和能力有较大

        本文链接:https://www.haomeiwen.com/subject/gafqbftx.html