怎么学习java?

Python017

怎么学习java?,第1张

想要学好Java,需要有正确的学习路线,有坚持不懈的学习毅力,也需要有专业老师的指导,这样才能学得更好。那么,学习Java需要掌握哪些知识和技能呢?这里简单列举一些。

Java学习需要掌握的知识与技能:

1、Java SE部分 初级语法,面向对象,异常,IO流,多线程,Java Swing,JDBC,泛型,注解,反射等。

2、数据库部分,基础的sql语句,sql语句调优,索引,数据库引擎,存储过程,触发器,事务等。

3、前端部分, HTML5 CSS3 JS, HTML DOM Jquery BootStrap等。

4、Java EE部分,Tomcat和Nginx服务器搭建,配置文件,Servlet,JSP,Filter,Listener,http协议,MVC等。

5、框架部分,每个框架都可以分开学,在去学如何使用SSM 或者SSH框架,如何搭建,如何整合。开发中为什么会用框架,Rest是啥?Spring为啥经久不衰,底层如何实现等。

6、23种设计模式,掌握常用的,比如单例模式的多种实现,责任链模式,工厂模式,装饰器模式等,了解常用场景。

7、基础算法和数据结构,八大排序算法,查找算法。

8、熟练使用maven等构建工具,git等版本控制工具,熟悉常用linux命令,log4j,dubug,junit单元测试,日志打印工具,Redis等NoSql。

互联网行业目前还是最热门的行业之一,学习IT技能之后足够优秀是有机会进入腾讯、阿里、网易等互联网大厂高薪就业的,发展前景非常好,普通人也可以学习。

想要系统学习,你可以考察对比一下开设有相关专业的热门学校,好的学校拥有根据当下企业需求自主研发课程的能力,建议实地考察对比一下。

祝你学有所成,望采纳。

1. 至今为止,java是大量实际得到应用的语言中,可读性最强,最利于阅读和理解,语法最严谨和规范的语言(当然,这也可以理解为语法繁琐的另一种表述)之一,在这一点上,只有已经基本退出历史舞台的pascal可与之相提并论。而pascal并不是面对对象的,(面对对象的特点和优势我就不再赘述了,有兴趣可以查阅相关资料)。

基于这一点,产生了很多其独特的优势,例如:

java是目前最佳的算法及数据结构教学语言(这个位置以前曾经是属于pascal的)

java是传统的软件开发过程(生命周期管理)的最佳实践语言,即在传统的 “需求-设计-代码-测试” 这样的一个过程中,java是最能够最大程度贯彻和实践软件工程学的理论的。从建模设计工具直接生成代码,没有比java更出色和靠谱的了。而从代码去逆向生成的javadoc和uml也堪称经典。只有java能够在执行和操作层面,将“设计-代码”这个过程如此出色的无缝集成起来。

java的白盒测试方面的表现非常出色和易行

java在代码评审,缺陷管理,开发规范约束,大团队的协同开发方面,有着无可争辩的突出优势

其实这样的例子有很多,就不一一举述了

2. java有着目前为止,最丰富,最强大的IDE开发环境,这是历史原因形成的,包括商业因素在内

3. java有着现有所有语言中,拥有最长的产品线,适用性是最广的语言之一。从前端的app应用,到嵌入式,到web,到服务器应用

4. java拥有所有语言中最丰富的类库和代码资源

5. 至今为止,在被广泛应用的编程语言中,java依然是开发效率最高的语言。之所以使用编程语言这个词,是为了和脚本语言,以及4GL开发工具区隔开来。这些语言和编程语言相比,其适用性都有很大局限,而且后者(4GL)和OS平台紧耦合关联。事实上,近10多年来,脚本语言领域突飞猛进(有赖于web应用提供了广阔的舞台),而编程语言基本上自java之后就没有太多大的新鲜事了。

商业层面:

1. java是目前为止唯一的,在商业和开源领域都得到大力推广,推荐和使用的语言,其背后的推力是任何语言所不能比拟的。

2. java的诞生和发展,赶上了千载难逢的好机遇,历史造就了java,这里就不展开了。

======================================================================

下面补充两句,关于java与c/c++, java 与 Ruby、Python,以及企业软件。

我个人是写汇编和basic出身的,后来有大量的时间花在了C/C++上,java当年刚刚出来的时候,我正热衷于CGI和perl的编程,也就是拿java做了一个简单的applet玩玩而已。直到2005年,我才开始使用java大量得写程序,一直到今天。去年底又开始学习Ruby和rails。20多年来,我正式使用过,有产品或者产出物的其他语言和工具也很多,包括foxbase,fortran,pascal,ada,lisp,VB,delphi,PB,C#,obj-c++,lua,PHP,js等等,Python和smalltalk也研究过一下。体会和感慨其实是挺多的。

到目前为止,其实我最喜欢的工具是PB,没有之一。这和我的工作特点是密切相关的。但是PB只是一个在特定的狭窄领域做到极为出色的工具,随着时代变迁,也就慢慢退出历史舞台了。

直到目前为止,在我看来,拥有根本性的,不可替代优势的语言,只有C/C++。虽然它可能开发效率更低,体系更复杂和笨重。在许多领域,C/C++是唯一的选择,没有替代品,它的适用性,也是最广的,虽然在一些领域,它不是最佳的选择,但是也是可用的选择,哪怕是WEB领域,在一些直接和工控设备以及硬件打交道的web应用中,C CGI依然是很好甚至是最佳的选择。

java的某些优势,可以称之为接近于不可替代。前面具体的优势不复赘述,综合来说,对于目的明确,业务非常复杂的应用,需要大规模团队协同开发的,需要有复杂的设计过程的,java是毫无疑问的选择,这也是为什么java在企业应用领域大旗飘飘,傲视群雄的原因。即便像在互联网领域,类似淘宝这样有着复杂业务的公众应用,java的使用也应该是必不可少的。(具体情况我不了解,有可能是某些局部的前端使用脚本语言,但是java应该是后台的骨架)

完全用脚本类语言去构建一个类似淘宝这样的复杂系统,应该说是近乎不可能的。

现在一般谈论Java 语言被很多人抱怨语法繁琐、开发效率低、体系繁杂而笨重的人,基本上是敏捷性开发的拥护者,Python和ruby的使用者,尤其是ruby和rails的粉丝。

确实,作为一个正在学习ruby的人,对ruby和rails的优点我极为赞叹,在某些WEB应用中,用ruby和rails开发其效率是java的10倍,这真的一点都不是夸张之词。简单,易学,高效,看上去很美,确实也很美。只是它的适用范围相对就要窄一些。并不是所有的应用都适合或者都能够用ruby和rails来开发的。在一些应用中,使用ruby和rails可能效果就很糟糕了。

对于java来说,Python和ruby这样的脚本语言可能就像当年java对于C/C++一样,在某些领域以其突出的优势取代它,但是在其他的一些领域,脚本语言还是不能完全取代java。就像java不能完全取代C/C++一样。要知道脚本语言的诞生,例如perl,还远在java之前。

即便如此,在web开发领域,在ruby异军突起的今天,我认为web应用开发的脚本语言领域,还远未到其终极形态。也许,类似于WEB应用领域的4GL工具,已经呼之欲出了,至少在dashcode上,我看到了苹果的这种野心。

或者我们期待一种全新的,革命性的编程语言的到来。