1
letitbesqzr 2016-10-25 15:19:51 +08:00
spring
|
2
misaka19000 2016-10-25 15:35:09 +08:00 via Android
我觉得这种问题就是扯淡,关键你是要提升自己哪方面的能力
|
3
q397064399 2016-10-25 19:11:37 +08:00
哪方面的功力要搞清楚,纯粹的开源代码大多都是工程项目,代码极度分散,你不懂设计模式,看起来特别辛苦
|
4
Cbdy 2016-10-25 19:13:51 +08:00 via Android
Spring 全家桶
|
5
cuebyte 2016-10-25 19:14:15 +08:00
武侠小说看多了吧,不如沉下心来好好看书
|
6
wangpugod2003 2016-10-25 19:15:08 +08:00
我也在想这个问题,觉得问题可以分为:
1 、想提升基础的 JAVA 功底(各 API ,反射, IO/NIO ,基本设计模式等),读哪个开源项目源码比较好? 2 、专业方向,比如 javaee ,大数据等等,分别读哪个框架源码最好? |
7
Infernalzero 2016-10-25 19:17:05 +08:00
光读没用的,只有结合实践的读源码才能更好理解
|
8
wangpugod2003 2016-10-25 19:27:08 +08:00
或者说哪个框架或者开源的项目代码最值得玩耍推敲下的?帮推荐下哈~
|
9
q397064399 2016-10-25 19:40:54 +08:00
@wangpugod2003 Spring
|
10
q397064399 2016-10-25 19:41:28 +08:00
@wangpugod2003 jsp 与 servlet head first 这本书可以,虽然有点老,但是 J2ee 这些年变化不大
|
11
phoenixlzx 2016-10-25 19:53:00 +08:00
我觉得去读读各种 Minecraft 的 mod/plugin 源码可以
为了解决各种 Minecraft 的奇葩问题用尽了各种 hack/workaround/ugly patch (逃 |
12
f1r1ng 2016-10-25 20:07:28 +08:00
具体情况具体分析,要是所有都有的话得看多久啊
|
13
yidinghe 2016-10-25 20:10:52 +08:00 via Android
对大的项目来说,源代码不足以体现全部的设计意图,所以光看源代码能看懂多少还真是个问题。
|
14
Mogugugugu 2016-10-25 22:00:58 +08:00
老大说 activiti 的代码最清晰,结构最好。可是我能力不足看不大懂。
|
15
k9982874 2016-10-25 22:05:50 +08:00 via iPad
阅读一万个项目不如动手写一个
|
16
wdlth 2016-10-25 22:25:11 +08:00
把 Apache 基金会的项目挨个搞一遍……
|
17
zenliver 2016-10-25 23:45:16 +08:00
netty
|
18
EreeBay 2016-10-25 23:47:52 +08:00 via Android
@phoenixlzx 卷!
|
19
wuyukai 2016-10-26 00:16:06 +08:00 via Android
@q397064399 初学 web 开发, servlet jsp javabean 之类需要很深度的学习嘛,现在把书本看了一遍,原理概念语法类的东西有些感觉。不知道现在是不是要深入下去这方面的代码,又觉得现在很多都是用框架,这种知道大概基础原理是不是就可以呢?
|
20
xiusedelang 2016-10-26 00:30:34 +08:00
openJDK
|
21
q397064399 2016-10-26 07:08:44 +08:00 2
@wuyukai 写吧,我虽然写代码很多年了,最早应该是 15 岁开始写 ASP ,不过一直都是业余爱好,现在毕业快一年了,
已经打算要走上码农这条路了 原理,我个人认为是完全没必要深究的,在实际开发中,有需要就深入探索一下,专门花时间没有必要, 像 ORM 框架,其实没什么新技术,无非就是虚拟机运行时反射获得注解,然后通过一些文法规则给你自动构建 Java 对象模型-数据关系 ,你自己去深究这些原理,也搞不出个什么名堂来,顶多写个小轮子,实际意义不大,如果你的业务有高并发需求或者存储层有十分繁琐的任务再去深入了解这方面的知识也不迟,找工作为目的的话,最好是会用 熟练就好,有精力的话 前后端兼顾是最好, 数据库方面,这么多年,底层用的还是那套玩意,无非是 B 树等常见的数据结构,作一下了解,写 SQL 的时候有优化方面的帮助 我个人是从来不提倡搞一门技术,就一定要去深挖,第一没必要,第二很多技术刚开始很难用,但随着社区发展,技术门槛会越来越低,而且时代在变化,一门技术存在的价值也是在不断变化的,很多年前, Javascript 是作为一门十分糟糕商业早产儿出现的,但是因为各种原因,它并没有死,反而越活越好。而 Java 最早在国内开始大行其道的时候,应该是 05 左右,最早写 Java 是被 C++程序员鄙视的,而现在 Java 现在基本上是企业应用以及移动开发的首选 |
22
q397064399 2016-10-26 07:16:50 +08:00 1
@wuyukai 如果是学生的话,就好好深入钻研底层知识,框架神马基本上是个熟练工,早晚都会
best practise |
23
ihuotui 2016-10-26 08:47:54 +08:00 via Android
netty dubbo spring
|
24
wuyukai 2016-10-26 09:39:43 +08:00 via Android
@q397064399 好的,非常感谢这么详尽用心的回答,收获颇丰。确实是学生, 985 小硕研二,过一年就毕业找工作了,非科班,所以知识基本是自学。
JSE 方面基本是从研一开始学的,学完基础后也敲了一些基础的代码,那时应该还只是会点皮毛吧,还不算入门。后来因为课程繁忙及导师项目导致自由时间不多基本就放那了。 后面到研二没课轻松点了的时候重新捡起来又学一遍 JSE ,然后朝着 java web 的方向一路走过来,包括 html/css ,数据库 mysql ,现在的 servlet/jsp 。这些也没有深究,代码也不是写的很多,基本是敲敲书上的例子,然后保证书上的每个例子的代码知其所以然,再高级的东西就没有深入了。 因为 java web 涉及的东西还是挺多的,自己也快毕业了,除了 JSE ,其他地方不敢花费太多的时间,但是基础又不能略过的太多,要不然代码看不懂也是浑身难受,至少知道这些知识点知道去搜索引擎搜什么。其实我跟你的想法差不多,做个略懂基础,工具,框架熟练的码农哈哈,因为这样才能找到工作吧😂,需要深究的东西以后再深入 |
25
wizardoz 2016-10-26 10:31:01 +08:00
你自己写的 star 超过 1000 的那个,逃~
|
26
chocotan 2016-10-26 13:14:55 +08:00
我以前也萌生过阅读某个大框架的源码的想法, 然而,连这个框架功能都没摸清 都不会用还看啥源码
光看源码没啥用,实践才能提升功力,但也可能是我自己太笨了 我只有实际项目中用到一些知识的时候才会去看与这部分有关的代码, 比如给 xstream 加了个小功能, dubbo 是如何跟 spring 整合的, spring-boot 缓存自动配置里是怎么用 aop 的....... |
27
q397064399 2016-10-26 13:49:11 +08:00
@wuyukai 很快要找工作的话,真的没必要深究,何况你不是科班,同我一样 是为了找工作,真没必要深究, Java 把 Util 给用熟,框架基本上会就行了,
一开始深挖没有必要 而且很浪费时间,大多时候的业务场景 也不需要多么牛逼深奥的技术,有时间深挖的话,我个人建议还不如多掌握一门技术,例如把前端也搞一搞 http://jonwinters.pw 你看我的小论坛,花了 4 天写的玩意,基本上是我上初中时候自学 SQL 的知识 写的玩意,没有 ORM 全是手写的 SQL 分页用的 SQL TAG 也是 SQL 查询然后做过滤处理,但是前端技术跟我初中那个时候学的前端概念就不一样了,那个时候我玩的都是 Jquery ,全是 DOM 操作,样板代码十分多,一般简单的页面都是后端脚本渲染的,现在流行 MVVM 框架,填了 Javascript 的大坑,双向绑定,前端抗起了渲染跟交互的大坑,后端只管提交数据了,不过目前我这个小论坛前端交互效果还很差,很多都没完善,不过后端基本搞定了 |
28
inisun 2016-10-26 13:49:49 +08:00 via iPhone
设计模式和算法基础跟不上的话,读这些源码真的有点受不了,不过 spring 的代码确实值得看看,而且也有帮助看源码的书籍
|
29
ZiLong 2016-10-26 15:17:54 +08:00
看完大家评论,突然想说 lz 最应该阅读的是**剑指 offer**(逃
|
30
gowk 2016-10-26 16:18:42 +08:00
Apache Common DBUtils
Mybatis 另外有两个比较简单的 MVC 框架,可以看看( github ): https://github.com/mastermay/Spectre https://github.com/JeffLi1993/fast-framework |
31
cjyang1128 2016-10-26 23:25:37 +08:00
netty 、 Spring
|
32
unique 2016-10-27 08:04:13 +08:00 via iPhone
楼主可以看看我 github 有什么好玩的, java 相关 https://github.com/biezhi
|