我从.net转到java的心得和体会
前言:由于有不少人咨询过我如果从.net转java,有什么技巧吗,我现在就分享我从.net转java的历程,这里不涉及两门语言的比较,记录的都是我个人的观点。
一:从.net转java的初衷
我是2013年11月正式开始使用.net这门语言工作一直到2016年3月份截止,前后近2年半的时间,从最开始的套站到用TDD来自己搭架构。说实话我很喜欢.net语言的,编辑器智能,语言很优雅也大家可以从我的博客中看到很多关于.net,但是在2016的一个转折点让我思考是不是应该转java了,因为当时2个同事相继离职,分别去了美团和小米(他们都是前端),谁不想去大企业发展呢,我也想,可是我看遍了网上的招聘,除了汽车之家、去哪儿基本没有知名度高的企业招聘,我又去看看java的真是太多大企业招聘,阿里、百度、美团、网易、爱奇艺等都有,所以那个时候真的想转行,所以在私下就会看了一点java的书籍。
二:选择
有一天在一个EA(enterprise architect)群聊天,他说要招人,我就和他嫌扯几句,因为我会用EA画流程图、活动图、序列图等,所以他觉得非常合适他说他们却一个这样的人,希望我可以去他们那工作,最后在细聊的过程中发现他们是java,他问我你用什么语言我说.net,他迟疑了一下说,没关系语言不分家,就这样就被录用了,不过我自己整整纠结了2个星期到底要不要去,一个是并不是去做java而是先去画图说什么需求分析师,二个是虽然薪水比我原来薪水多了几千,但是五险一金缴纳比较多,而且老东家也提出加薪了,所以一直犹豫,最终我做出了选择,如果我继续去.net那我只能找一家好的企业待下去,可是外界比我现有公司好的已经不多,所以我必须去尝试,就这样踏上了java的道路。
三:新的开始
刚刚开始去公司就是白天画图,各种图,也没让我从事java,我只能夜晚私下的学习,我记得当时我就想像.net那样搞个sqlhelper帮助类,然后能完成增删改查,整整搞了2个夜晚才搞定,我大学室友是搞java的,然后喊他给我指导他说谁还写这个现在都是Hibernate或者mybatis,我说你能不能搞定,他写了很久查了半天资料才搞定,我就说这要是.net我给你20分钟就搞定,你这是什么玩意.就这样我算是完成了第一步,会用库了,然后我就在网上查怎么初学者怎么学习java,有本书介绍的比较多《SERVLET/JSP深入详解 基于TOMCAT的WEB开发 孙鑫著》不是打广告,就这样按照书一步步的来,然后把所学就写在博客中来加强自己的理解,就这样我按照这样写终于完成了一个小的网页,真的好有成就感,感觉就像回到了刚刚接触.net那会,然后继续接着学习又开始了另一本书籍《30天学通Java_Web项目案例开发》然后按照这个例子开始写项目,而且在这基础上加上单元测试,就这样慢慢的准备期待哪天可以进行实战,机会又来了,公司由于规模不大,离职率也高所以就让我去开发,在这期间认识一个人感觉基础非常扎实,人也特别好,然后他带着就这样一步步开发,也越来越熟悉,在后来公司领导决定让我使用新的开发工具(idea),刚开始还不是很适应,但是用着用着发现这个可以媲美vs了,觉得异常好用。在私下我依然没有忘记去学习,继续了第三本书籍《SPRING in action》,就这样度过了刚刚开始不适应java那段路程,然后公司让我独立开发,承担并发量比较高的项目(优惠券相关)然后在网上学习了一些如何提升性能的方式然后还在GitHub上开源了我写的项目大家可以参考(https://github.com/lipeiNet/peiyu-mem)。再后来带我的那个哥们跳槽了去了jd,那整块业务就全部交给我了,当时知识已经够处理这段业务。再后来公司的CTO和架构师相继离职,而且听消息说公司老板打算从滴滴挖人并且用php开发,然后我知道自己是时候准备下一份工作了,然后就开始看java基础知识,包括源码等主要的书籍是《thinking in java》,到2017年3月份我觉得时机成熟了时候找新的企业去完成自己当初定下的目标,后来真的完成了自己的目前去了一家大企业,关于面试大家看这篇文章面试。
四:总结
1、关于.net转java 一般有2中渠道风险稍微小点,第一就是内部转岗,和自己领导搞好关系,然后在和java部领导搞好关系,就算是平跳也是非常不错,我有一个同学这么做的,还不错。另一个就是先私信努力学习,做一些项目,然后没事就可以看一下招聘动态,说不定有意想不到的收获。
2、把以前用.net实现的项目用java实现,遇到问题去查询,然后在去看书效果会好很多,如果都好了不妨去看看java的源码,主要看集合那块。最后就可以出去试试水,看看面试官面试什么那么你就多看看这方面的知识(因为他们问的一般用的都是比较多的)
3、这里只是写出我自己的经历,有时候选择真的挺重要的。
我从.net转到java的心得和体会的更多相关文章
- Java学习心得之 HttpClient的GET和POST请求
作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Java学习心得之 HttpClient的GET和POST请求 1. 前言2. GET请求3 ...
- Java学习心得之 Linux下搭建Java环境
作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Java学习心得之 Linux下搭建Java环境 1.前言2.JDK安装3.配置环境变量4. ...
- Java学习心得之 Linux下搭建JavaWeb环境
作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Java学习心得之 Linux下搭建JavaWeb环境 1. 前言2. Java安装3. t ...
- 20145335郝昊 Java学习心得 密码学代码复写
20145335郝昊 Java学习心得 密码学代码复写 本学期我们学习了现代密码学这门课程,在上课的时候接触到了很多种类型的密码体制,对于一些典型很通用的密码体制有自己的学习和设计.不论是从密码体制还 ...
- <2048>调查报告心得与体会
老师这次给我们布置了一个任务,就是让我们写一份属于自己的调查报告,针对这个任务,我们小组的六个人通过积极的讨论,提出了一些关于我们产品的问题,当然这些问题并不是很全面,因为我们是从自己的角度出发,无法 ...
- effective java 学习心得
目的 记录一下最主要学习心得,不然凭我这种辣鸡记忆力分分钟就忘记白看了... 用静态工厂方法代替构造器的最主要好处 1.不必每次都创建新的对象 Boolean.valueOf Long.valueOf ...
- 十天来学习java的心得体会
有关学习java是几天来的心得体会: 十天学习java遇到很多问题,每个问题都是经过反复的看书本以及上网查找资料来解决的,发现这一点真的需要自己来而不是去遇到什么问题就去依靠他人(师兄.同学).在其中 ...
- JAVA学习心得
学习JAVA一个学期了,虽然学的不是很好,也没有彻底理解JAVA的真正内涵,但是我认为学习java应该是循环渐进,有始有终,按部就班,脚踏实地.java是一门有着阶梯性的一门语言,信心,恒心,毅力是最 ...
- JAVA编程心得-Eclipse/MyEclipse 中文乱码解决办法
将别人的项目或JAVA文件导入到自己的Eclipse中时,常常会出现JAVA文件的中文注释变成乱码的情况,主要原因就是别人的IDE编码格式和自己的Eclipse编码格式不同.总结网上的建议和自己的体会 ...
随机推荐
- WPF 中模拟键盘和鼠标操作
转载:http://www.cnblogs.com/sixty/archive/2009/08/09/1542210.html 更多经典文章:http://www.qqpjzb.cn/65015.ht ...
- 【解决方案】客户端请求数据较大时,nginx返回数据被截断
[问题描述]:客户端使用curl命令向nginx请求数据,当返回数据量较大时,数据被截断,客户端无法获取完整的数据. [问题原因]:nginx配置文件中包含了proxy_buffer_size.pro ...
- ArcGis for flex查询FeatureLayer数据
1. 首先实例化一个FeatureLayer对象 private var featureLayer:FeatureLayer=new FeatureLayer(); 2.指定FeatureLayer对 ...
- 新博客,新开始-从Chrome浏览器奔溃说起
新博客,新开始 今天是2015-04-09,昨天新开的博客,今天在这写上一段,算是立个标记,好留以后拿来回溯吧. 不知道是谁跟我说的,坚持写博客是个好习惯,也能帮助自己总结经验,提高技术.也许大概可能 ...
- mysql分表场景分析与简单分表操作
为什么要分表 首先要知道什么情况下,才需要分表个人觉得单表记录条数达到百万到千万级别时就要使用分表了,分表的目的就在于此,减小数据库的负担,缩短查询时间. 表分割有两种方式: 1水平分割:根据一列或多 ...
- Jvm加载jar包的顺序
使用-XX:+TraceClassPaths或者在服务器上执行jinfo时,都能得到classpath包含的jar包,例如: java.class.path = local/aaa/lib/sprin ...
- 使用bitset实现毫秒级查询(二)
在上一篇中我们了解了bitset索引的基本用法,本篇开始学习bitset索引更新及一些复杂查询. 1.bitset索引更新 因为我们的数据是在系统启动时全部加载进内存,所以当数据库数据发生变化时要 ...
- [Python] 文科生零基础学编程系列一——对象、集合、属性、方法的基本定义
1.编程语言: 1.1是什么: 编程语言(programming language),是用来定义计算机程序的形式语言.它是一种被标准化的交流技巧,用来向计算机发出指令. 一种计算机语言让程序员能够准确 ...
- Python3爬虫登录模拟
使用Python爬虫登录系统之后,能够实现的操作就多了很多,下面大致介绍下如何使用Python模拟登录. 我们都知道,在前端的加密验证,只要把将加密环境还原出来,便能够很轻易地登录. 首先分析登录的步 ...
- 一个简单的makefile文件编写
下午闲来无聊,就打开很久没动过的linux系统想熟悉熟悉在linux上面编译代码,结果一个makefile文件搞到晚上才搞定,哈哈! 先把代码简单贴上来,就写了一个冒泡排序: sort.h: #ifn ...