周围一直有小伙伴问我,学习Java难不难,说网上有人发的Java学习路线的思维导图密密麻麻整整一屏幕,感觉Java太庞大,是天坑,学不来。还有人问我,现在学习Java到底还有前途么?不要过气了啊。还有人说,我学了Java,可是对项目无从下手,觉得自己只会写玩具代码。
针对第二个问题,我想说,你别学了,不是说Java气数将尽,而是你的思想决定你学不了。
针对第一个问题,首先告诉你,其实自学JavaEE并不难,密密麻麻的思维导图拿出来只是告诉你,这些是需要你学并且要了解的,你只要知道有这么个东西就行,到时候做到了项目,用到了,再去找就行。
针对第三个问题,以下是本人学习Java到做项目的经历:
本人大学即将毕业那段时间,周围的小伙伴都参加了某内的Java培训班,他们的毕业设计基本上都是SSH框架,看他们调试代码的时候,好复杂,一大堆XML文件,而当时我拿得出手的,能用来做WEB开发的只有Python,当时我的想法就是人生苦短,Java随便写个东西都要一大堆类和XML,吃枣药丸,还是Python美滋滋,短小精悍。当时的别有设计用Python+Django做了一个分布式的安全检测工具,顺便还抽空帮班里同学做了几个毕设,基本上一天一个,开发效率是真高。
后来遇到什么问题知道么,找工作的时候,我这城市,你一搜Python,呵呵,基本没有,再一搜.NET,嗯,有一些了,最后一搜Java,好了,几十页的招聘,我懂了,我现在出去是找不到工作了。算了,读个研吧。
读研的时候,因为有了之前的教训,开始学习Java。这会儿,我对面向对象编程还很不习惯,还是喜欢ASP那种从上写到下的感觉。这个时候我觉得我比大家学习Java更难,因为已经接受了面向过程的思维模式。
小编推荐一个学Java的学习裙【 六五零,五五四,六零七 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!给你Java学习路线:html-css-js-jq-javase-数据库-jsp-servlet-Struts2-hibernate-mybatis-spring4-springmvc-ssh-ssm
我从负基础学习Java到开始写中型(不敢说大,没用上分布式)项目(某省农业行政执法系统,包括Android端)一共花了2个月的时间,这是总时间,并不是有效时间,其中还包括平时上课啊,出去浪,晚上夜跑等等,还学习了JFinal,用JFinal仿了一个V2EX。总之,其实学习时间并没有这么长,在2个月的时间里,我自学了Struts2、Spring、Hibernate、还有些前端相关的JS、JQuery、EasyUI。我自己比较愚钝,不喜欢看书,所以这三个月基本上都是看视频,但是看视频其实是很有讲究的,很多视频你看完,还是云里雾里,看完不知道如何下手,我把这些视频整理了下,视频我可以分享给大家,大家可以私聊我。
小编推荐一个学Java的学习裙【 六五零,五五四,六零七 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!
很多人想问我,我是如何拿着视频上学来的Struts2、Spring、Hibernate以一个人之力完成这个省项目的。其实,告诉大家,很多时候不是你没能力做,而是你觉得自己做不来,只有硬着头皮做了之后才发现,原来自己可以这么给力。项目做起来之后,并不难,做项目最难的是开始,万事开头难是有道理的。你做一个项目,总要准备点东西吧,比如数据库怎么设计,对吧,数据库设计你要先看有什么业务对吧,业务和业务之间有什么联系,你这些都要搞清楚。我跑完需求后,用PowerDesigner建了模,不要觉得自己牛逼,直接建表,先建个模,然后你多看看,会发现很多问题的,要多修改,这个模型对整个项目的开发奠定了一个很好的基础。数据库建模完了,就要想怎么敲代码了是吧,敲代码总要有个技术选型吧,先看看Sturts2,对Spring还算兼容,马马虎虎,可是网上各种爆Struts2漏洞导致泄密,算了,硬着头皮上SpringMVC吧,然后容器肯定是SpringIoC了,ORM模型,我只会Hibernate,那时候iBatis很火,看了一眼documentation,嗯,果然看字不适合我,看视频又来不及了,那就Hibernate了。然后是数据库,很多培训机构里,培训的都是Oracle,但是这个东西,我也没时间学了,之前Python用的是SQLite,以前有点Access的基础,那就MySQL吧,服务器就Tomcat。选型就基本上这样了,数据库、技术选型都好了,接下来干什么?我选择先做一个执法人员的登陆界面来作为这个项目的hello world。因为只有你做出来了一点东西,你才会知道你需要什么,你才会知道框架怎么搭。这个从招标到项目上线不到半年,其中还流了一次标。半年的时间从招标到定需求再到上线,其实留给我做开发的时间很少很少。但是我觉得,我能做到,大部分的小伙伴也能做到。我这里还有这个项目的一些开发文档,有兴趣的可以加裙
Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。