学java就两个问题

学java就两个问题:java是面向对象的语言这东西是国外的 搞清楚面向对象的历史演变,java的每一个特性都是基于面向对象产生的。java就是面向对象而生的,java就是一种思想。大家人手不是有一本启蒙书籍叫think in java麽?国外书籍用的是think,国内的书籍都是深刻理解/学习/深刻浅出/30天掌握/教程XXXX字眼的书籍。脑壳没毛病吧,随便一本书平均下来都有500页,各类深刻理解,掌握事后。你的年龄也到该入土的时候了。(此处应该有掌声)java

不是流行大数据麽?Hadoop是由于一篇论文诞生的,论文的做者是google公司的员工。可是Hadoop 得诞生要比google公司来得快。在这点只能说java干得漂亮,要否则大家要想体会这种黑科技至少须要5年以上。有时候真的很羡慕国内写代码的人,这些小学没毕业的人竟然能够拿到国外那些至少要初中毕业才能拿到的工资。而国外那些高中毕业的人只能去帮JAVA写些源代码义务劳动。设计模式

其实学习java就是学习面向对象和多线程 精通java的最终目标就是学习面向对象,在JAVA的类库里面有不少的骨架实现。设计模式的出现要比java早不少年。设计模式的思想的做者或鼻祖是缘于一个砖匠,搬砖的砖。大家应该很庆幸设计模式就只有20几种,终归究竟是缘于java的特性也就这么几个。国外作过研究人能同时记住的东西是7±2。很巧的是java的特性也就7±2。可是7±2也就最多组成20几种设计模式。好了问题来了,你能记住几个java特性(java特性最多也就是9个哦),若是你能所有记住,那么问题升华了,你精通多少种设计模式。若是大家背的话,我能从1背到10亿。 还有就是多线程。多线程只能说太难了,java在多线程的上很落后的。Volatile关键字反反复复跟新了几回背后原理实现,对于伪共享的实现也是在1.8才加入@sun.misc.Contended的。多线程,伪共享,锁机制,同步机制,重锁机制。这些在15年前是高级课题,也是为何不少java书籍都把多线程放在最后一章节。也是15年前存在的东西。缓存

看到没有,就算是人家把java开源大家在技术上也会落后15年,由于JDK如今才到1.8。为何是15年前,由于15年前摩尔定律再也不适用了,intel的老板跪在地上说,若是CPU超过4.0G我公司要倒闭了。因此多核的时代来临了。回过头来为何说多线程难,学习多线程,你要搞清楚同步,异步,管程(什么是管程,就是java文件代码上加了synchronized关键字后,变成class文件后。synchronized关键字变成了java虚拟机的Moniters命令的中文翻译),锁机制,阻塞,以及线程的几种状态。安全

什么顺序一致性,原子性,有锁,无锁。安全性,读写同步/读不用同步,写同步。多核,compareAndSet(),getAndSet(),伪共享,高速缓存,Volatile关键字,系统总线,等等等等。多线程机制虽然多,可是这不是思想的重要性。再我看来最重要的就是为何10年就有AtomicInteger为何如今只在原来的基础上跟新了一个LongAdder, 为何这两个类都是同一个老头写的而不是年轻人。为何这两个类都引用了sun.misc.Unsafe这个非公开类。为何是不安全的。如今发现多线程是有多难了吧,没有发现这段话比上面那段面向对象的字数都多了一倍麽。多线程

相关文章
相关标签/搜索