搞定两个问题,就是高薪Java程序员!
学Java就两个问题:
1、Java是面向对象的语言
2、这东西是国外的
01
面向对象的历史演变
搞清楚面向对象的历史演变,Java的每个特性都是基于面向对象产生的。Java就是面向对象而生的,Java就是一种思想。
面向对象就是在程序里面首先分解出来的应该是注意不再是一步一步的过程了,而是首先考虑在这个问题域里面或者程序里面应该具有有哪些对象,所以从现在开始考虑任何问题脑子里不要再想着我实现这件事我第一步应该干什么,第二步应该干什么,如果这样想,那就是面向过程的思维了。面向对象的思维是,当我碰到这个问题域的时候,碰到这个程序的时候,我首先应该把这个问题里有哪些对象,对象与对象之间有什么关系抽象出来。
其实学习Java就是学习面向对象和多线程
02
精通Java的最终目标就是学习面向对象
在Java的类库里面有很多的骨架实现。设计模式的出现要比Java早很多年。设计模式的思想的作者或鼻祖是缘于一个砖匠,搬砖的砖。
你们应该很庆幸设计模式就只有20几种,终归到底是缘于Java的特性也就这么几个。国外做过研究人能同时记住的东西是7±2。很巧的是Java的特性也就7±2。但是7±2也就最多组成20几种设计模式。
好了问题来了,你能记住几个Java特性(Java特性最多也就是9个哦),如果你能全部记住,那么问题升华了,你精通多少种设计模式。
03
还有就是多线程
多线程只能说太难了,Java在多线程的上很落后的。
为什么说多线程难,学习多线程,你要搞清楚同步,异步,管程(什么是管程,就是Java文件代码上加了synchronized关键字后,变成class文件后。synchronized关键字变成了Java虚拟机的Moniters命令的中文翻译),锁机制,阻塞,以及线程的几种状态。
什么顺序一致性,原子性,有锁,无锁。安全性,读写同步/读不用同步,写同步。多核,compareAndSet(),getAndSet(),伪共享,高速缓存,Volatile关键字,系统总线,等等等等。
多线程机制虽然多,但是这不是思想的重要性。再我看来最重要的就是为什么10年就有AtomicInteger为什么现在只在原来的基础上跟新了一个LongAdder, 为什么这两个类都是同一个老头写的而不是年轻人。
为什么这两个类都引用了sun.misc.Unsafe这个非公开类。为什么是不安全的。现在发现多线程是有多难了吧,没有发现这段话比上面那段面向对象的字数都多了一倍麽。
看完了这篇分享,不知道你对自己的Java学习是不是有了更多的感悟~
对Java感兴趣的小伙伴们可以看过来了,Java海量视频+工具+笔记+源码等资源免费大放送,探索互联网高薪热门行业自此开始,扫描下方图中二维码免费领取~百G资源网盘链接拿走!
课程咨询:后台回复:客服,真人在线答疑方便又快捷。达妹微信:tedu521,获取学习资源。
文章来源:程序人生 作者:tifacxbc
IT方向技术内容免费学
Java/Java架构师/Java大数据
扫码即可免费预约
↓↓↓
点击下方“阅读原文”抢免费试听名额吧!