招生合作
课程分类
您当前的位置:长沙耐学网 >长沙耐学网 >JAVA学习的重难点

长沙JAVA学习网

JAVA学习的重难点

发布时间:2022-11-19 17:20:07 已帮助:

JAVA学习的重难点


        很多初学者觉得Java难学,枯燥乏味,坚持不了等等,这令他们非常苦恼,那么JAVA学习该如何突破难点,让自己学的又快又好呢?现在小编就分享几个JAVA学习的重要的地方,来帮助大家更好的学习JAVA。
JAVA学习的重难点

    一、面向对象
  在Java的类库里面有很多的骨架实现。设计模式的出现要比Java早很多年。设计模式的思想的作者或鼻祖是缘于一个砖匠,搬砖的砖。
  你们应该很庆幸设计模式就只有20几种,终归到底是缘于Java的特性也就这么几个。国外做过研究人能同时记住的东西是7±2。很巧的是Java的特性也就7±2。但是7±2也就最多组成20几种设计模式。
  好了问题来了,你能记住几个Java特性(Java特性最多也就是9个哦),如果你能全部记住,那么问题升华了,你精通多少种设计模式。如果你们背的话,我能从1背到10亿。
 二、多线程
  多线程只能说太难了,Java在多线程的上很落后的。Volatile关键字反反复复跟新了几次背后原理实现,对于伪共享的实现也是在1.8才加入的。
  多线程,伪共享,锁机制,同步机制,重锁机制。这些在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这个非公开类。为什么是不安全的。现在发现多线程是有多难了吧,没有发现这段话比上面那段面向对象的字数都多了一倍麽。