对于一个程序员来说,写多少代码不重要,重要的是解决问题的效率。
用Java解决问题的经验一个下午就能搞定的问题,为什么还要花几周的时间写 bug ?
正因为这样“无码程序员”的稀缺,2021年,Java开发岗依然爆火。
对于想从事Java高级工程师的人来说,或者想面试Java高级工程师的人来说,该学些什么?怎么学习才最有效?今天就给大家分享一些学习Java编程的经验。
关键一:学什么?
评判一个人的编码能力有很多方面,逻辑思维能力,系统设计能力,职业素养等等,但Java的编程思维占的比重还是最大的。编程思维最能体现一个人的基本功,大厂找人都有一个标准,至少要能拉高整个团队的平均水平,基本功扎实的人不论是编程思维还是业务逻辑,都不会差。
如果连最起码的编程思维都没有,那应该属于比较底层的程序员,底层就意味着低薪酬,同样是出售脑力劳动和时间,你比别人赚的少,是真正的码农。
如果你有了一定的编程思维,当你学习Java的时候,就会逐渐的掌握Java的一些学习技巧,而且会越来越简单,会觉得学习Java易如反掌。往往在开始的时候,由于学习者在没人引导的情况下,凭着自己的感觉去学,最后导致走了非常多的弯路。所以编程思维是有经验的人帮你引导挖掘出来的。
关键二:怎样学习Java最有效果?
1.Java教程内容应该搭配案例,才能解决日常工作应用
比如市面上的有很多的Java教程,但是我个人认为,真正好的教程,站在Java初学者的角度来看,没有更好的学习体验,能把初学者真正教明白的教程屈指可数,何况是还要自己来摸索自学,看不懂的时候也没人帮忙解答。
这样不成系统的学习有用吗?有效果吗?
这就是浪费时间!
而真正有用的学习模式则是:让你以应用于工作为目的,每一个案例几乎都可以说是掰开了揉碎了的详细,让你学明白,确保只要你认真学完,就能自己上手实操。
2.学习规划前后呼应,体系化的知识点串联
很多人学习Java开发,都是因为这行工资高才开始学习的,人们往往会按照自己一贯的学习思维去学习,第一时间就会去买书学,这样的方式是不对的。学习编程不同于高中学的数学语文,编程的难道要大很多。
对于一个初学者,整体的学习规划是尤为重要的,安排每天的学习任务,不会当学习者找不到方向,所以学习规划要前后进行呼应,系统化的重要性就不用我强调了吧!
3.能力强的学一些算法
经过我调研,80% 以上的人学习算法都离不开以下 2 个场景:
社招或者校招想进一线大公司,却因为算法不好,面试都过不了
代码又宽又长,一点都不“优雅”
所以对于那些对自己要求高的人,你在学习Java开发的同时,如果你具备一定的学习能力,我还是建议各位去补一些算法的技能,这方面对于大厂是非常看重的。当然了,如果你只是进中小型公司,算法可以忽略。
总结一下,适合你学习的学习规划起码要满足这三个特征:
教程知识要更落地,要能真的对你实际工作有指导意义
教程知识要更呈体系化,而不仅仅是翻来覆去地讲“单点”的碎片化知识
教程知识能马上应用,最好是今天学习,明天工作或面试就能用到
这份GitHub 上标星 120k,内容就挺符合条件的,来简单看一下目录和部分内容截图。包括 Java 基础、Java 容器、Java 并发、Java 虚拟机和 Java IO,非常全面。
(一). 基础
1.Java 基本功
- Java 入门(基础概念与常识)
- Java 语法
- 基本数据类型
- 方法(函数)
2. Java 面向对象
- 类和对象
- 面向对象三大特征
- 修饰符
- 接口和抽象类
- 其它重要知识点
3. Java 核心技术
- 集合
- 异常
- 多线程
- 文件与 I\O 流
(二). 并发
1. 并发容器
- JDK 提供的并发容器总结
- ConcurrentHashMap
- CopyOnWriteArrayList
- ConcurrentLinkedQueue
- BlockingQueue
- ConcurrentSkipListMap
2. 线程池
- 使用线程池的好处
- Executor 框架
- (重要)ThreadPoolExecutor 类简单介绍
- (重要)ThreadPoolExecutor 使用示例
- 几种常见的线程池详解
- ScheduledThreadPoolExecutor 详解
- 线程池大小确定
3. 乐观锁与悲观锁
- 何谓悲观锁与乐观锁
- 乐观锁常见的两种实现方式
- 乐观锁的缺点
- CAS与synchronized的使用情景
(三). JVM
1. Java内存区域
- 概述
- 运行时数据区域
- HotSpot 虚拟机对象探秘
- 重点补充内容
2. JVM垃圾回收
- 揭开 JVM 内存分配与回收的神秘面纱
- 对象已经死亡?
- 垃圾收集算法
- 垃圾收集器
3. JDK 监控和故障处理工具
- JDK 命令行工具
- JDK 可视化分析工具
以上资料,对于想要进阶的小伙伴来说应该会很有帮助,希望也能帮助到你。需要的小伙伴可以点击下面的名片免费领取。
