今天在群里碰到一个阿里P8程序员,说话挺有意思的,和他聊了一下午,终于知道我和他的差距在哪里了。
文章图片
从工作的方面来说,普通程序员和高级程序员一般有下面几个区别:
普通程序员:
一、知识体系零散、没有系统性的思维,在写代码、改bug的时候没有工程素养,往往是拆了东墙补西墙。
二、对某种语言的依赖性太强,知识无法很好的迁移,一旦换了语言、或者领域不同就会不知所措
三、经验不足却自认为自己经验丰富,只对自己做过的比较顺手,但是碰到未知的问题,就束手无策
高级程序员:
一、知识体系完整,有系统性的思维,及时没有到架构师的级别,在写代码和改bug的时候也能从整体上去思考和把握。
二、学习能力强有了自己的心智模型,知识可以自由迁移,并可以高效地切入不同的领域和语言
三、拥有真正的经验,不只是做够那些项目,而是面向未知的解决问题的能力。
能力不缺的前提下,主要的区别就是抓不到问题的本质,普通程序员多半是直线型思维,见招拆招,干的多,想得少,接到一个项目就开始噼里啪啦敲代码,不想就在电脑上敲上include ,一天敲个几千行。而高级程序员更擅长抓住问题的本质,将看似复杂的需求化繁为简为一系列简单逻辑的堆叠,写代码步步为营,逻辑简单清晰,所有条件分支都被仔细覆盖,磨刀不误砍柴工。
简单的来说,同样是一个项目需求,普通程序员可能要天天加班忙上一个月,而高级程序员可以每天按时下班,几天就搞定。这也是为什么会出现“月薪五千的程序员天天加班到夜里,月薪五万的程序员5点下班”的尴尬情况。公司追求的是利润而不是努力,谁创造的多当然拿到的就多。
最后这位老哥发了一份 GitHub 上标星 120k的Java中高级进阶知识全面解析给我,说让我没说多看看,一定会有收获。主要包括 Java 基础、Java 容器、Java 并发、Java 虚拟机和 Java IO。另外还附带网络、linux、数据结构与算法、数据库、系统设计、必会工具、面试指南等内容,非常全面,也分享给各位老哥看看吧,(一). 基础 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 可视化分析工具
文章图片
(四)网络、linux、数据结构与算法、数据库、系统设计、必会工具、面试指南
文章图片
因为篇幅有限,其他内容就不一一展示了,这本进阶笔记总共有512页。对于想要进阶的小伙伴来说应该会很有帮助,希望也能帮助到你。
需要的小伙伴可以点击下面的名片免费领取。
推荐阅读
- HTTP Host 头攻击,这是什么鬼()
- 稳定性与高可用保障的工作思路
- java人生|女程序员晒出工资条(工资高归高,但是感觉自己1年老了10岁)
- JAVA人生|都是科班出身的,学弟月薪却是我的3倍。
- java|28 岁的我裸辞了,四年 Java 老鸟,只因薪水被应届生倒挂,在闭关三个月后拿到阿里 Offer
- 程序人生|3G网络关闭,4G还会远吗()
- 面试|Spring 面试题大全(持续更新中……)
- java|3月,劝你不要跳槽!
- 学习|软件测试入门到高级,5k-50k,你属于哪个阶段()