对于Java培训出身的同学,接下来该怎么学习技术?
首先恭喜从培训班出来找到工作的同学,确实挺不容易的,4个月的培训,每天从早上9点到晚上9点,也是996,主要的活动地方就是宿舍和教室, 让我现在也去培训,我估计还熬不下来。
尤其是对于从小白开始的同学,4个月期间不断地接触新技术、新概念,一个还没彻底理解,另外一个就呼啸而来,狼吞虎咽,想真正消化是很难的。
所以我经常说对于那些通过培训来努力改变命运的同学,我非常尊重。
现在好了,找到了工作,可以稍微喘一口气了,但是能够就此休息了吗, 那是绝对不能。
培训只是让我们入了门,有了一个初步可以工作的技能,可以参与项目,在别人的指导下,在现成的框架下写业务代码,想成为一个真正的程序员,路还非常地长。
我想给各位唠叨两句,说一些注意事项。
1. 适应期:把工作做好
首先一定要把分配给我们的工作做好,这是底线。
要拿出300%的劲头去做,就是加班加点也要高质量按时完成,谁让我们是新人呢! 初步建立起自己的认真负责的形象,注意啊,个人的形象是非常重要滴。
遇到障碍一定要及早提出,向同事请教,“不耻上问”,不要不好意思,不要怕别人鄙视。
最怕的是有个问题把你给绊住了,你坐在那里不吭声,两天过后,领导才发现你严重落后于进度。
如果有余力,尽快地去熟悉项目的各个方面,尤其是业务上的东西。
收集业务知识相关的文档,反复阅读,努力理解,不懂就请教。 注意:这些事情很有可能是在你的工作之余完成的,下班后的游戏就不要再打了,现在工作第一!不过你放心,你努力学习的态度一定会给你带来回报。
和组长,项目经理等领导搞好关系,抓住一切可能的机会主动、自信地领导交流(例如共进午餐的时候)。 不用总是“默默无闻”,要主动参与,了解项目的进展,人员情况,有什么困难。 总之要快速地融入团队,打入他们的圈子。
不要不好意思,老是躲着领导走,让领导觉得:这孩子这么怕我,是不是有什么问题?!
2. 深入学习技术和原理
度过了适应期,会感觉舒服很多,代码和业务逐渐熟悉, 任务不用加班也能完成。和同事也开始熟悉, 于是就进入了舒适区。
这个时候可以更加深入地钻研一下技术了,什么Nginx、Redis、RabbitMQ、Shiro、Elastic search、Spring ......等知识,培训班也许学过,但是我相信只是学了一些皮毛,对原理可能还不太了解, 这时候正好可以结合工作中用到的技术,深入地学习一下。
例如Nginx,要去理解epoll这个技术,以及和select之间的差别。 理解什么是非阻塞IO,顺道可以学一下Java的NIO, 感兴趣的话还可以瞄一眼Node.js, 本质的原理是相通的。
对于Redis,至少要理解分布式一致性Hash,虽然Redis没有用这个算法,但是要和Redis那种基于槽的方式来对比。
理解缓存失效了怎么处理,增加、删除机器会怎么影响缓存。如果你的项目在使用Redis做缓存,主动向相关负责人请教,毕竟理论和实践还是有差距。
对于Spring, 现在要考虑学习DI和AOP的实现原理和技术了,可以尝试自己写个小容器,绝对很锻炼人。
DI还好说,AOP这一块儿需要有底层技术支持,就是Java动态代理和CGLib。再往下深挖,就是ASM, Class 文件的格式,ClassLoader,这就进入了另外一个大世界: JVM, 需要掌握JVM的逻辑结构,执行引擎,尤其是后者,理解一个类装入方法区以后到底是怎么执行的,其中的栈帧等概念对以后学习C语言在机器层面的执行很有帮助。
可以阅读一些面向对象设计, 设计模式相关的书籍,不能只是看,要思考,它到底要解决什么问题? 把一些设计思想和自己的项目做对比,看看为什么现在的设计是这样,是不是有问题, 向资深同事请教。
......
总之,最好从工作中使用的技术开始学习,理论联系实际,还是那句话,“不耻上问”,作为程序员,老是闷头自己干,希望一鸣惊人,给别人一个大惊喜,那是不太现实的。
3. 计算机基础
在往下走就进入了计算机基础的领域了,之前说过很多次,估计老读者都烦了吧, 这里再啰嗦一下。
操作系统的几个重要概念一定得掌握,进程、线程、虚拟内存,一定要理解程序在机器级层面的表示,寄存器,函数栈帧等,如果你能理解缓冲区溢出的攻击和防御就差不多了, 这些知识需要涉及C语言和汇编。
理解线程的几种实现方式,对于将来学习Go语言的并发,Actor, ErLang 等技术和语言有极大帮助,你会发现有似曾相识的感觉。
数据结构和算法的学习要贯穿始终,虽然在工作中最常用的可能就是数组,List和Map。
对于常用的数据结构要自己能写,要阅读JDK对应的实现。 要大量地做题,锻炼自己的逻辑思维能力。
如果你的工作和数据库结合紧密,那数据库中相关的技术如索引,事务,查询优化不能错过。
对于计算机网络,要理解协议的本质、分层的本质。 具体的协议中HTTP是必备,还要了解可靠性传输的原理,TCP/IP等协议,socket等基本概念。
4. 总结
需要提醒大家的是,我这里所说的只是一个大概的分层,在学习过程中很有可能一下子从最上层的应用跳到最底层的基础概念,这很正常,很多知识点之间都是相互关联,不是完全隔绝的。尤其是在原理层次。
你会发现需要学习的东西实在是多,这篇文章能列出来的也是部分而已, 没有办法,这就是程序员的世界, 更可怕的是还有很多新技术在不断涌现。
所以对于培训出身的同学来说, 找到工作,只是入门而已,绝不能就此停滞。
还有就是我啰嗦了这么多,也许一时触动了你,但关键还是要行动,并且坚持学习下去,这样才能成为真正的程序员。
我的Java学习交流QQ群:589809992 禁止闲聊,非喜勿进!
对于Java培训出身的同学,接下来该怎么学习技术?的更多相关文章
- 如何选择JAVA培训机构,兼议什么样的人适合培训机构
首先,利益相关,本人就是培训机构创办者兼讲师,但这不妨碍我对此发表看法. 我们先来看什么样的人适合培训机构?要回答这个问题,需要先换个角度.这个角度就是,你学习一门语言的动机是什么?99%的人的回答是 ...
- 花两万培训Java的三个同学,最后都怎么样了
仙路尽头谁为峰,学完Java学Python. 前言 对于IT行业的培训,例如Java.大数据.H5等等,我一直保持着肯定的态度. 因为当年大学时期的我,也差点去参加Java培训.一是因为那时钱包空空, ...
- 成都Java培训机构太多,该如何选择呢?
Java培训的势头愈发火热.越来越多的人看到了Java培训的前途所在,可是最好的Java培训机构是哪家呢?如何推断一家Java培训机构的专业性呢?140610lscs" target=&qu ...
- 参加Java培训你必须知道的五点真相!
相信大家都有过到招聘网站投简历.找工作的经历.当一份份简历发出三天后,左等右等连一个电话没有等来,心中不免有些失落,有些焦虑.这个时侯,很多培训机构就会纷纷给你打电话以各种名义让你参加各种IT技能培训 ...
- 动力节点Java培训告诉你Java线程的多功能用法
现在的java开发可谓是八仙过海各显神通啊!遥想当下各种编程语言萎靡不振,而我Java开发异军突起,以狂风扫落叶之态,作为Java培训行业的黄埔军校,为了守护Java之未来,特意总结了一些不被人所熟知 ...
- 北京Java培训机构哪个好
又是一年暑期生活的来临,对于即将走出校园的实习生而言,培训潮与就业潮不约而至,培训行业的就业课程开班也如火如荼地进行着. 一直以来,计算机专业的毕业生都会作为一股庞大的生力军涌入社会各个岗位.就目前的 ...
- 传智播客成都java培训中心秀就业
传智播客成都java培训中心秀就业 2013年被称为"史上最难就业季",成都传智播客学员如何应对的呢? 成都传智播客的学员在工作经验上颇占优势,我们采用项目驱动式教学模式,具有多年开发实战经验及教学经 ...
- 长沙JavaEE培训机构哪家比较靠谱?Java培训的职业前景
长沙JavaEE培训机构哪家比较靠谱?可信度高? 全球信息化的时代已经到来,IT行业越来越受大众的欢迎,所以越来越多的人把注意力集中到IT职业教育培训.在软件开发领域,Java培训已经成为人们的首选, ...
- 参加Java培训到底靠不靠谱?
导读 科技越发展,社会越进步,人们越便利,便衍生出更多的人从事程序员这个高大上的职业,可哈尔滨Java培训学校这么多,到底靠不靠谱,会不会处处是陷阱,爱尚实训帮你擦亮眼 随着时代的发展,越来越多的人对 ...
随机推荐
- CALL apoc.cypher.doIt创建动态节点的时候怎么指定多个标签?
下面的创建节点实例,请教一下CALL apoc.cypher.doIt如何创建多个标签?现在的方式是只能指定一个标签! UNWIND [{name:"sdasdsad234fdgsasdfa ...
- ELK视频下载
Elasticsearch , Logstash, Kibana 相关视频下载地址:Beats.Elastic Stack.ElasticSearch.Kibana.Logstash下载地址:链接:h ...
- JS基础_数据类型-Null类型和Undefined类型
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- python读写txt文件
整理平常经常用到的文件对象方法: f.readline() 逐行读取数据方法一: >>> f = open('/tmp/test.txt') >>> f.rea ...
- Qt表格导出图片
概述:qt中把某个控件导出保存为图片导出并不复杂,网上也有一堆方法.但是对于tableview中数据很多的情况下势必会出现滚动条,用传统的截屏抓图势会有滚动条,图片数据展示不全.在这我使用了一种折中方 ...
- 颜色框架Hue使用方法
Hue地址 如果有疑问或者想探讨iOS开发相关的技术,十分欢迎. 1. cocoapods安装Hue pod "Hue" 2. 导入框架 import Hue 3. 将十六进制数字 ...
- window.location.href 与 window.location.href 的区别
- deep_learning_Function_bath_normalization()
关于归一化的讲解的博客——[深度学习]Batch Normalization(批归一化) tensorflow实现代码在这个博客——[超分辨率]TensorFlow中批归一化的实现——tf.layer ...
- 一,Devops核心要点及kubernetes的架构概述
目录 1,devops的简述及要点 2,kubernetes的简单介绍与组成 特性 集群构成 pod的基本概念 kubernetes网络 1,devops的简述及要点 DevOps,分层架构 ---& ...
- Vivado添加sublime text编辑器
我们当用vivado会发现文本编辑器有点鸡肋,没有自动的缩进的功能,所以我想用sublime来进行文本的编辑,下面就是绑定的一些方法(但是呢其实吧,虽然可以绑定却不能实时的报错,,,我感觉我还是老老实 ...