那么在市场紧缩以及大前端的趋势下,我们移动端程序员如何突破职业瓶颈,保持个人的核心竞争力呢?
一、硬技能:专业的技术知识
1.Java / Kotlin开发语言
Java
-
常用数据结构:
ArrayList、Vector、
CopyOnWriteArrayList、
HaspMap、ConcurrentHashMap、
HashTable 等使用场景。 -
JVM 虚拟机包括 Java 内存管理,GC 垃圾回收机制,类加载机制。推荐书籍:《深入理解 Java 虚拟机 JVM 高级特性与最佳实践》。
-
多线程编程,包括线程池,锁机制,线程同步 。推荐书籍:《Java 并发编程实战》和《Java 多线程编程核心技术》。
-
AOP 编程实现,包括 JDK 动态代理实现,ASM 直接操作字节码、CGLIB 实现,其原理封装了 ASM,使用更方便。
-
Javassist:在字节码加载前直接修改需要切入的方法,以及注解处理器 APT,这在 Android 中开源的库应用较多,比如 DataBinding , ButterKnife, EventBus3 等等。
-
异常处理 Exception,包括检查性异常、运行时异常处理。
-
IO 流相关,包括堵塞型 IO 和非堵塞型 IO。
-
Java 的一些高性特级,比如反射、代理、泛型、枚举、正则表达式等等;同时了解一下 jdk1.8,1.9,1.10 等新特性。相关书籍比较多,推荐《Thinking in Java》和《Effective Java》。
Kotlin
Kotlin 是一个基于 JVM 的新编程语言,在 Google IO 2017 中被 Google 宣布成为 Android 官方
《安卓学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》浏览器打开
完整开源项目:docs.qq.com/doc/DSkNLaERkbnFoS0ZF
开发语言。
Kotlin 有哪些优点?
①简洁性: 提供了很多标准函数,大大减少样板代码的数量。
②安全性:避免空指针异常等错误。