培训则是由体系完整的课程,良好地学习氛围,经验丰富的老师指点授课,就业时会有老师帮扶,缺点是现在培训机构多且杂,如果选择不好很有可能被坑。
远程则是有不耽误你目前的一切状况,上班也好、在学也好都可以用业余时间来进行相对完整的系统学习,缺点是相比较面授还是会有一点不足。
你可视自身情况结合上诉几点来选择适合自己学习方式。
第一个是基础。比如对集合类,并发包,类加载,IO/NIO,JVM,内存模型,泛型,异常,反射的学习掌握,在使用线程池时,因为使用了无界队列,在远程服务异常情况下导致内层飙升,怎么去解决?再举一例,由于对ThreadLocal理解出错,使用它做线程安全的控制,导致没能实现真的线程安全。还有遇到内存泄露怎么排插问题,怎么优化系统性能。
第二就是编程能力,编程思想,算法能力,架构能力。编程思想是必须的。