当前位置:首页 > 代码 > 正文

java开源代码学习(Java开源代码)

admin 发布:2022-12-19 07:59 122


今天给各位分享java开源代码学习的知识,其中也会对Java开源代码进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java框架学习方式有哪些?

1、打好基础是重中之重

基础部分可能很枯燥,但是一定要耐心坚持下去。因为打基础好比是在造轮子造汽车,没有打好基础在后面的学习就好比走路,可以说后面遇到的百分之七八十的问题都是基础没学好造成的。

2、多看官方文档多读源码

一定要看JDK相关类库、常用框架各种功能的源码,去了解其底层实现的原理。总的来说这个也是在打基础的部分,Java基础非常扎实才能看懂,在我们学习一个类的源码时,肯定会衍生出其他各种各样的问题,供我们来了解和学习,这也就是我们下一步学习的目标和方向。慢慢的,我们就会学习更多的知识,并积累更多的经验。

3、系统性学习,循序渐进

不要急于求成,每个知识点都要看,并且每个知识点都要勤加练习。有的同学在学习过程中觉得这个知识点简单,就跳着学习,其实这是个很大的问题,知识点细节必须要了解。我们学习Java需要循序渐进,一步一步来,不能操之过急。

4、遇到问题

遇到不会做的问题,当然不能置之不理。先在网上查,目前网络上针对很多问题都有完美的解决方案,如果网上没有类似的问题,那可能是你犯了什么小错误。也不要在这个问题上花费太多时间,这需要一定的学习技巧。Java中的知识有很强的相关性,有不懂的地方,可以用其他周边相关知识再回过头来理解,这样既不会耽误学习进度,又能理解自己不懂的地方

1)jvm有很多种,其实jvm是一个标准,sun做的那个叫hotspot,作者就是后来v8的作者lars bak,其他公司也做过jvm,其中做得比较好的有bea的jrockit,其他的包括ibm的r9,apple的jvm等在内,都做得不行,所以jvm主要是整合淘汰掉这些做得不好的jvm(s),整合成一个统一的openjdk。

2)java是典型的oop语言,其执行效率的优化,最早就是lars bak等人从smalltalk等长期优化的经验中总结出来并apply到hotspot上去滴,而smalltalk在早期apple机上搞出了那种拖拖拽拽就开发出app的做法,后来vc,delphi之类的其实都是抄袭或者说借鉴apple的smalltalk的做法,jobs说微软从头到尾都在抄袭apple是空穴来风,这里空穴来风跟王垠使用的空穴来风是一个意思,有趣的是,java的gui并没有继承这种搞法,反而对这种拖拖拽拽就作出app的做法批判有加,到今天,其实java的gui都还不能真正做到拖拖拽拽就作出来,问题很多,个人建议对于纯java的gui开发,还是以写代码为主。

3)jee也是一个或者说是一堆标准,知乎上有些人把maven,jenkins都算做jee是不对滴,jee的标准核心是ejb,其实就是一个xml配置化的java文件,这个标准在4的时候,达到了顶峰状态,几乎所有的挨踢大厂都主动支持该标准,之后开始走下坡路,支持的厂越来越少。

4)java和javascript的关系比很多人认为的要密切,javascript里面的java这四个字母可不是白叫的,比如js的版权和商标都控制在oracle手里,oracle对于js的支持甚至超过其对java的支持,并且喜欢捆绑销售,比如jvm里面就有一个js引擎。

5)jvm里面除了js engine以外还有一个浏览器排版引擎webkit,就是apple safari和google chrome用的那个那个。

6)java支持绝大多数脚本语言,你能叫得上名字的脚本语言,几乎都可以在jvm上执行,比如常见的js,ruby,python,甚至php,lua,只不过除了js以外你需要找到相关的脚本引擎。

7)spring的版权被控制在vmware手里,其实spring的那一大堆东西,本质上是一个非标准的jee实现,比如在jee里面用的inject,在spring里面就是autowire,当然spring曾经深刻滴影响了jee,所以有些东西比如di标准,是spring影响下制定出来的,所以spring的做法会比较特例一点。

8)maven上的jars数量前两天突破800万,其他语言的类库,排名第二的是npm,大概数量是maven的十分之一,也就是几十万,不知道现在突破100万没有,然后是gem,也就是ruby那个,大概是十几万,下来是python的module,大概数量级是几万,没突破十万。

9)java的标准是由一个叫做jcp的组织制定的,所有标准需要经过jcp的执行委员会通过方可执行,jcp几乎包括了你所知道的绝大多数知名挨踢公司和组织,比如google,apple,ibm,intel,arm,red hat,twitter等,还有一些教育机构,比如我国的北京大学,阿里最近一次申请jcp执行委员会成员资格,似乎投票不通过,最近一次执行委员会新增两个成员是arm和jetbrains。

10)微软也曾经是jcp甚至是java的主要贡献者,但是利益驱使下,想扩展java,从而破坏java跨平台的特性,所以跟sun闹翻,其本质原因就是想让客户写的java代码跟windows绑定,sun坚决不同意,闹翻,今天回头看这个结果,只能说:双输,sun挂了,微软的ria也离挂不太远了,silverlight已经放弃了,比起当年ie自带有jvm的支持来说,那完全就是两回事。

11)除了微软以外,jcp还缺少一个重要组织apache,因为apache跟oracle也闹翻了,oracle似乎并不在乎开源组织,而更在意商业公司的支持。

12)java曾经有一个内置的数据库,9之后被剥离。

13)j2me是j2se的子集。

14)vert.x作者tim fox最早在vmware做spring时候看到了node.js,萌生出了制作支持多核的node.x的想法,并在离开vmware后加入red hat将其实现,vmware看到后开始耍无赖,claim node.x后来改叫vert.x的版权,不惜跟red hat打官司,后来各方妥协,将其交给eclipse foundation。

15)oracle在收购bea之前,一开始的目标并不是bea和bea的weblogic,而是jboss,但是jboss表现出了极为有种的一面,在oracle收购成功之前,投入了red hat的怀抱,因为都是开源组织,从此jboss成了red hat的一个子部门,oracle收购jboss失败之后,转向bea,庄思浩气死了,但是没用,最后还是被恶意收购。

16)sun在玩不下去之前最早尝试接触的目标是ibm,ibm嫌太贵,放弃之后,被转手给了oracle。(Java学习交流QQ群:589809992 我们一起学Java!)

17)vert.x的作者tim fox在离开red hat之前曾经发过twitter抱怨,外人比如我们,猜测是因为red hat内部已经有了一个jboss,所以跟vert.x在应用上有了重叠,所以导致tim fox的出走,但是出走之后,red hat答应对vert.x做持续性的战略投入,所以vert.x core的几个developers,其实拿的是red hat的工资,但是vert.x的版权并不在red hat手里,而在eclipse foundation手里。

18)vert.x的几个核心开发人员都是google summer of code的导师,每年年初时候会招收在校大学生搞项目。

19)教育机构相关:scala的作者马丁是德国人,eth的博导,groovy的主要领导人是法国人,jruby背后是东京大学,jboss的作者是法国大学校x的校友,x就是伽罗瓦考不进去的那所大学,伽罗瓦进不了x,所以改读巴黎高师,tim fox毕业于帝国理工,主席去的那个,netty作者trustin lee是acm银牌,现在line工作,毕业于sky里面的延世大学,kotlin是毛子公司jetbrains的作品,看linkedin,很多人毕业自圣彼得堡大学,spring作者rod johnson是悉尼大学的音乐博士,hibernate作者gavin king是澳洲莫那什大学的数学本科毕业生,james gosling这种cmu和calgory的估计烂大街了,sun是斯坦福大学网络的意思,夹带两个私货,aspectj有一个维护小组在mcgill,hbase跟waterloo关系密切。

20)java早期被人认为慢,跟java坚持不用硬件加速渲染有关,死活就是不肯接入directx和opengl,7之后总算开窍,搞了一个图形引擎接入了directx/opengl。

21)casssandra是facebook做失败的项目,被贡献给了apache之后老树开花。

22)groovy被贡献给了apache,现在叫做apache groovy,ceylon被贡献给了eclipse,现在叫做eclipse ceylon。

23)netflix现在是java shop,之前是用.net的。

先想到这么多,有空再写。

java该如何学习?

一、爱好

这个是动力,如果你不爱Java,不爱计算机,而是喜爱游戏,娱乐或者其他的,你不适合做程序员。

如果你能在电脑前,一坐就是4-5个小时,你能为了学习而阅读英文的资料,那么你至少对编程是热爱的,具备了程序员的潜质。

二、学会取舍,用到什么就学什么

编程路上知识点甚多,你能掌握的永远是很少的一部分,新的技术不断出现,你难道能跟上? 相反,编程思想却是相对稳定的。

对于新手,到书店找一本入门的书,用最快的速度读一遍,不要超过3天。 记住,你不需要理解,因为你理解不了,你只需要对那些东西有个大概的意识,噢噢噢,好像有那么几页有这个东西,能达到这个效果就非常不错了。 千万不要一开始从第一章就仔细的看,那没用。

看完之后,找你最感兴趣的部分看,如果看不懂哪些内容,就去翻其他部分,然后马上返回。这部分看懂后,马上开机训练。

正确填写下方表单,免费领取web导学课,助你学技能

姓名

手机

提交

对于已经有经验的人,新知识你可以看看他的介绍,Release Note 或者一些评论性文章,然后看看自己手头有没有合适的工作可以用到,如果用不到,停止继续研究,如果能用到,则深入的看一遍他的文档,方法和前面一样,不能太细。 看完后,如果能运用,则开机尝试,并仔细的阅读即将使用到的部分。

Java 入门

入门书差不多!不要太细的看。

换一本,加深印象

回家,电脑上实践,或者找电子版的书!

三、技术服从于业务

技术是用来解决问题的,而不是用来炫耀的。当技术与业务有矛盾时,业务永远在第一位。

不要和业务人员过度的讨论(注意不是争吵)技术如何如何? 有什么技术难点无法满足业务需求之类的。

技术人员可以做出自认为很好的东西,但不一定能卖的出去。世界已经不再是【好酒不怕巷子深】的年代了。除非你真的有强的专利技术。

四、认识自己

不是每个人都能做到CTO,CEO的,金字塔的顶部的空间是很少的。由于家庭环境和个人性格不同,而高层领导的强项并不是在技术,而是在沟通和管理。也许你不服,也许你不甘心,但事实如此,只有付出更多的努力,才有可能往塔尖靠近,注意是有可能,不是一定。

五、学会总结

知识如果不用,就会被逐渐淡忘,当你需要的时候,如何能用最短的时间回复呢?那就是记笔记。blog很好,写在笔记本上也行,写在一个word文件里面也好。 总之,以你能很快的能找到为准。

六、身体是本钱

不多说了,大家都清楚。但会不自觉的违反这一条。呵呵!

七、正确理解学习过程

初学时,就是死记硬背,你只需要知道应该怎么样就可以了。

有一定经验后,你就需要知道,还能怎么样?

熟悉后,你应该知道为什么要这样?如果不这样会怎么样

精通,这个东西适合吗?如何选择呢?

初学:动手

掌握:动手又动脑

熟悉:动脑又动手

精通:动脑

八、学会正确的查找问题答案的方法

一搜二问三看看

先搜搜,坚信 你绝对不是第一个遇到这个问题的人

先到 google/baidu 搜索 选好关键字

到论坛或者群里面发问

学会平时积累,到处看看,经常有意外收获。n月前的难题可以轻松解决。

你的问题一定要有经过你思考了的。不要直接要全部代码和答案的那种。 至少我鄙视他们。没有人会花费那么多时间提供一个整套方案,就算付费的也得谈谈价钱,不合适的也不做。

比如:

我要做一个学生学籍管理系统,请提供思路和详细的解释,最好有源代码,100分送上

请问如何学好Java啊?我要学啥啊?

老师让明天交作业,哪位大哥给一份答案啊?

领导让做个库存管理软件 让我写需要 应该怎么写呢? 大家帮帮我啊?

九、增加你的实战经验

你可以没做过,但一定要认真思考过。

你可能没做过什么像样的项目,至少你自己这么认为。其实不然,你做过的的项目虽然看上去小,但你可以遵循这样的目标来完善

去目标用户那里调研,了解真实的需求,不要停留在想象程度

单机版改成多用户版

C/S版增加B/S版,反之亦然

使用正式的数据库,而不是Access

完善你的程序,直到有人愿意出钱买你的程序(1元也算),因为这代表着他是一个真正能用的,能满足实际需求的程序了

去看看别人的项目代码,好多开源的项目。看看人家是怎么解决同样的问题的。

十、先学做人,后学做事

大家放眼望去会发现:大凡成功者,在谈到成功时,很少谈“做事”,而都在讲“做人”。因为不会做人,就不会做事,就会走上无为的一生,或走上大起大落坎坷艰难的不归之路。

一网友抱怨,技术总监用老掉牙的技术和思想指挥一个上千万的项目,他想按照规范来做,结果和总监发生争吵和冲突。 最后被总监提出,你辞职吧。

下面是我回复的内容,有点刻薄。

奉劝你一句,你有什么资格和你的直属最高领导吵架?????

1. 意见不和,可以私下提,不要当面顶撞,这无济于事。如果我是老板,我也开除你。

2. 技术要服从于业务,如果你总是对的,你为何不自己做老板?你能拉来几千万的项目?

3. 既然大家谈不拢,和平离开就可以了。我估你们没有个人恩怨。不过目前好像有了。

我以前也和你一样,自己认为都是对的,可实际呢? 没有我们,地球照样转,人家几千万的项目照样做。

当你做老板,你的手下人每天都顶撞你时,你也会这么做。 历史上刚直不阿的人,大多是悲惨的下场。

社会就是这样,理想和现实是有差距的。

如何阅读 Java 开源代码

准备好环境,比如安装好Eclipse,IDEA等你喜欢的集成开发环境

准备好Maven环境

创建一个项目,把你要研究的开源项目pom引入进来

使用maven把源代码下载下来

写一个简单的例子使用开源代码

分析从启动开始,断点调试,看看调用了哪些方法,每个方法是怎么实现的

所有方法都断点了一遍,你在这个过程中实际上已经了解了开源代码是怎么实现具体功能的了

关于java开源代码学习和Java开源代码的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;

本文地址:http://ahzz.com.cn/post/4911.html


取消回复欢迎 发表评论:

分享到

温馨提示

下载成功了么?或者链接失效了?

联系我们反馈

立即下载