美国上市公司,专注Java培训22年

学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就两个问题

还有就是多线程。多线程只能说太难了,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命令的中文翻译),锁机制,阻塞,以及线程的几种状态。

学java就两个问题

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

感谢大家阅读由Java教程分享的“学java就两个问题”希望对大家有所帮助,更多精彩内容请关注Java培训官网

免责声明:本文由小编转载自网络,旨在分享提供阅读,版权归原作者所有,如有侵权请联系我们进行删除


【免责声明】本文部分系转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,如涉及作品内容、版权和其它问题,请在30日内与我们联系,我们会予以重改或删除相关文章,以保证您的权益!

Java开发高端课程免费试学

大咖讲师+项目实战全面提升你的职场竞争力

  • 海量实战教程
  • 1V1答疑解惑
  • 行业动态分析
  • 大神学习路径图

相关推荐

更多
  • java语言中,char 类型变量是否能保存一个汉字?
    java语言中,char 类型变量是否能保存一个汉字?
    在 Java 语言中,可以使用 char 类型的变量来存储单个的字符,请问是否能用 char 类型的变量来存储一个汉字呢? 详情>>

    2015-10-15

  • 有史以来最牛的一张程序员职业路线图!
    有史以来最牛的一张程序员职业路线图!
    最近在琢磨程序员到底路在何方,经过不断的自虐和代入,终于在迷雾森林中得图一张,看之豁然开朗。独乐乐不如众乐乐,share了: 详情>>

    2018-05-22

  • java中变量和常量有什么区别?
    java中变量和常量有什么区别?
    在使用 Java 语言进行程序设计时,经常需要用到常量和变量来存储信息。请简单叙述变量和常量有什么区别? 详情>>

    2015-10-15

  • short 和 char 类型的取值范围各是多少?
    short 和 char 类型的取值范围各是多少?
    在使用 Java 语言进行程序设计时,经常需要使用 short 型和 char 型存储数值,请简述short 型和 char 型的取值范围各是多少? 详情>>

    2015-10-15

  • Java开班时间

    收起