能力值:
( LV2,RANK:10 )
153 楼
我在知乎上回答过这个问题了。如下:http://www.zhihu.com/question/21427478
和楼主有些相似,大三的时候,我萌生了放弃本专业的念头,从12 年毕业到现在,在家断断续续学 Java Web 累计一年半左右,总算是学完了,找工作的事情对你还有些距离,而我现在正为此四处奔波,从一个自学狂人的角度,我能给你比较有限但很实用的建议:
1. 如果 .Net 你是刚入门, 建议转学 JavaWeb, 我对学习何种平台并无偏见,而是自学需要大量的参考资料, Java 的学习资料,无论是视频还是电子书都要远多于 .Net,这是个很实际的问题,你可以去电驴上艘一下资料,对比一下便见分晓,我看过网上所有可以找到的视频教程,如果需要推荐,请私信。
2. 自学所需的视频教程一定要成体系,而且每部分最好是完整的,否则,你可能学到某个阶段发现剩下的视频还没有发布(万恶的培训机构都爱玩儿这个伎俩),也可能某个阶段只学了一般发现没有后续视频了,在选择视频教程前,你需要 .Net 或 JavaWeb 完整的学习流程图,根据每阶段寻找对应的视频教程循序渐进。
3. 如果你的英文足够好,在看视频教程的时候一定要搭配英文电子书(文字版的,方便搜索),为什么这么做? 在我看过的多达 50G 的视频教程里,讲课的老师就算技术再牛,也有讲的模糊的地方,甚至讲错的地方,甚至是忽悠你的地方!!这时候,你需要的可能不只是 Google 和 StackOverflow, 你需要与此配套的英文电子书, 首推 Manning 和 O'Reilly 出版的书。
4. 报班的人一般有两个考虑:(1)基本上四个月速成(2)有老师带着做项目,最后还能推荐工作。
既然你决定花一年时间安心学习了, 那就没必要报班了, 因为自学最大的挑战不是技术的难度,而是解决问题过程中的烦躁和寂寞,甚至还有绝望和质疑。
就先说这些吧,需要的话,再补充。
PS: 鉴于很多人都在问怎么个学习路线,我贴个自己的 Java Web 学习路线,仅供参考, 但绝对够找工作的了:
1. Java SE 看传智播客毕向东的(反射那部分搭配着尚学堂马士兵的看),这部分搭配着《Thinking in Java》 做参考
2. Jdbc 看传智播客李勇的(其他老师的忽略), 这部分讲的很全,不用看书。
3. Web 开发基础(Html+CSS+JS) 看传智播客韩顺平的《轻松搞定网页设计(html+css+js)》,讲的一般,做入门可以, 以后工作了还要自学很多, DOM 部分可以参考《dom 编程艺术》,工作了可以深入 JS, 建议参考《Javascript 权威指南》
3.1 学习 Jquery, 可以看北风网李炎恢的,EasyUI 部分可以先不看, Jquery 多参考官方 API 就可以了。
4. Java Web 看传智播客方立勋的(可以参考《Head First: Servlet and JSP》), Ajax 部分看王兴魁的就够了。
5. 轻量级 JavaEE 开发(三大框架:Struts2 + Hibernate + Spring), Struts2 和 Spring 都看黎活明的, Hibernate 看汤阳光的,这部分可以参考《Struts in action》《Spring in Practice》《Hibernate in action》, 中文版的好像有《Struts 权威指南》之类的书。。
此时,可以试着出去找工作。
6. 学习工作中增值的部分: WebService 、JPA 、Mybatis 等技术, 这个大概8个月年后再说。
能力值:
( LV2,RANK:10 )
156 楼
我和你一样, 快大学毕业了。着急 ,
刚上大学的时候,只想着编程就好, 你说的,我现在略有体会,如果说你不想走底层的话,就学JAVA吧,到时候可以转向WEB或者Android软件,但是我现在觉得吧,WEB或者Android, 变化太快了,今天这个框架,明天那个,所以你得一直处于学习阶段,而且使用框架的你也更本学习不到什么,不容易, 但是底层的话, 又不同了, 几乎是极不容易变化的,呵呵,个人觉得,见笑了
能力值:
( LV2,RANK:10 )
163 楼
选Java吧,首先JavaWeb会学很多关于网络数据传输获取操作的知识,一套下来会很系统;其次,Java编程工资容易提升;再者Java比C++易学,相比C#,java有较多的方向可以转,云计算,数据挖掘,大数据,android开发等,最终还要看你想做什么。
能力值:
( LV3,RANK:20 )
164 楼
java和C#差不多,都是高级语言而且面向应用,如果想从事web开发,JSP和ASP.Net也都差不多,学到一定程度也就都会了解,总之我觉得,还是看你从事 底层一点的还是高级一点的两个方向
能力值:
( LV2,RANK:10 )
169 楼
过来之人,全面给你分析,彻底打消你的顾虑.
本人当时是主修java和c#,自学c++. 推荐你学c#
先说java,不建议选,如果你的需求是终端方面的开发,我绝对不拦着你学java.
java对于web方面的贡献就是JSP了,架设在tomcat上. 各方面也到是非常成熟.不建议你选原因如下
1 适用性小,一般大型企业或者企事业单位会用到,但是近年来有点跟随asp的节奏.目前市场上web开发火热的就是php和.net(c#)了.
2 c#相比php开发流程相对简单,入手容易,上手快,开发周期相对较短
3 服务器成本较高,目前支持jsp的web虚拟机很少了,当然你可以买服务器自己部署tomcat,说这点就是说jsp起步较高
4 pc winform程序开发,java和c# 在应用程序开发方面都是基于虚拟机运行的,java需要java环境,c#需要.net环境.但是二者相比c#大占优势. c#是微软自己家的东西,在xp以上的所有系统都自带了.net框架,就是说你写出的c#程序就如c++写出来的一样,直接发给别人就能运行,xp现在已经停运了.java就比较吃亏,想象一下,你抱着一颗火热的心,写出一个非常好的程序,结果发给你的小白朋友门炫耀,人家都给你的回复是这玩意打不开啊,于是乎你花大把的时间远程协助帮人家按个java环境,程序虽然打开了,但是你的朋友们都会想,这丫给我按了什么,会不会影响系统速度,我得找个人帮我卸载掉.
5 java和c# 属于一个级别的语言,面向对象编程,语法一致程度有90%,包名 函数名一致程度能达到70%,说这个的意思是告诉你,你学会c#,玩java已经无障碍了.c#是微软的东东,对系统api支持很好.java略复杂. 举个例子,c#很容易能调用系统任意一个底层api,调用c++ vb delphi等写出来的dll,java略麻烦.
6 网络编程方面,这2个语言没啥可比性,c#能做到的java同样能做到.比如你逆向了QQ协议,自己写个qq出来,2个语言都可以写,最终面临的问题还是环境问题,c#可以很好在任何一台window运行,java需要安装java环境.
7 后期拓展方面,你现在想着是web开发,网络编程,但是现实总是有差距,万一以后你做不了这方面,需要做其他方面的工作.相比来说我认为c#还是比java有优势的,可以大部分兼容你以后的各种需求和工作.不论你做什么类型的编程,比如说外挂吧,c#环境需求方面还是比java强,你写出一个外挂卖给客户,总不能要求你的所有客户都装个java环境,在移动终端开发java就比c#占一些优势,比如安卓.不过现在c#同样可以去做ios 安卓开发.
c++,这个做不了web开发,学习及开发难度都大于以上两种,优势就是不依赖平台.这个不多说了,我的同事或者朋友,但凡c#能解决的需求,肯定不会去用c++去写(他们本来都是做c++开发的,现在基本都转c#,只有一些特点的需求c#干不了的才会重拾c++). 需要你的10分升会员,求采纳
能力值:
( LV2,RANK:10 )
171 楼
java应用领域非常之广泛,Web开发有JSP,J2EE,桌面领域现在有JavaFX。
C#是微软开发的一种编程语言,语法类似Java,几乎就是从Java的翻版。运行原理和Java也类似,也是通过运行时库的支持运行。不过支持的平台还很有限。JAVA几乎被所有平台支持,而C#目前只被Windows和Linux支持,Windows下的支持当然是由微软自己开发的,而Linux下的支持则有MONO支持。实际上,MONO也是把C#应用转化为JAVA应用而已,所以本质上,C#仍然只是被微软自己的操作系统支持。所以不想底层的话,感觉java要更好一些,可以跨平台嘛,C++就不用考虑了!