问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

我是一个刚入java程序开发的菜鸟,想问一下基础应该先学什么

发布网友 发布时间:2022-05-29 16:34

我来回答

5个回答

热心网友 时间:2023-10-25 08:10

学习Java的第一步是安装好JDK,写一个Hello World,其实JDK的学习没有那么简单,关于JDK有两个问题是很容易一直困扰Java程序员的地方:一个是CLASSPATH的问题,其实从原理上来说,是要搞清楚JRE的ClassLoader是如何加载Class的;另一个问题是package和import问题,如何来寻找类的路径问题。把这两个问题摸索清楚了,就扫除了学习Java和使用JDK的最大障碍。推荐看一下王森的《Java深度历险》,对这两个问题进行了深入的探讨。
第二步是学习Java的语法。Java的语法是类C++的,基本上主流的编程语言不是类C,就是类C++的,没有什么新东西,所以语法的学习,大概就是半天的时间足够了。唯一需要注意的是有几个不容易搞清楚的关键字的用法,public,protected,private,static,什么时候用,为什么要用,怎么用,这可能需要有人来指点一下,我当初是完全自己琢磨出来的,花了很久的时间。不过后来我看到《Thinking in Java》这本书上面是讲了这些概念的。
第三步是学习Java的面向对象的编程语言的特性的地方。比如继承,构造器,抽象类,接口,方法的多态,重载,覆盖,Java的异常处理机制。对于一个没有面向对象语言背景的人来说,我觉得这个过程需要花很长很长时间,因为学习Java之前没有C++的经验,只有C的经验,我是大概花了一个月左右吧,才彻底把这些概念都搞清楚,把书上面的例子反复的揣摩,修改,尝试,把那几章内容反复的看过来,看过去,看了不下5遍,才彻底领悟了。不过我想如果有C++经验的话,应该一两天时间足够了。那么在这个过程中,可以多看看《Thinking in Java》这本书,对面向对象的讲解非常透彻。可惜的是我学习的时候,并没有看到这本书,所以自己花了大量的时间,通过自己的尝试和揣摩来学会的。
第四步就是开始熟悉Java的类库。Java的基础类库其实就是JDK安装目录下面jre\lib\rt.jar这个包。学习基础类库就是学习rt.jar。基础类库里面的类非常非常多。据说有3000多个,我没有统计过。但是真正对于我们来说最核心的只有4个,分别是
java.lang.*;
java.io.*;
java.util.*;
java.sql.*;
这四个包的学习,每个包的学习都可以写成一本厚厚的教材,而O’reilly也确实是这样做的。我觉得如果时间比较紧,是不可能通过读四本书来学习。我觉得比较好的学习方法是这样的:
首先要通读整个package的框架,了解整个package的class,interface,exception的构成,最好是能够找到介绍整个包框架的文章。这些专门介绍包的书籍的前几章应该就是这些总体的框架内容介绍。
对包整体框架的把握并不是要熟悉每个类的用法,记住它有哪些属性,方法。想记也记不住的。而是要知道包有哪些方面的类构成的,这些类的用途是什么,最核心的几个类分别是完成什么功能的。我在给人培训的时候一般是一次课讲一个包,所以不可能详细的介绍每个类的用法,但是我反复强调,我给你们讲这些包的不是要告诉你们类的方法是怎么调用的,也不要求你们记住类的方法调用,而是要你们了解,Java给我们提供了哪些类,每个类是用在什么场合,当我遇到问题的时候,我知道哪个类,或者哪几个类的组合可以解决我的问题,That’all!,当我们具体写程序的时候,只要你知道该用哪个类来完成你的工作就足够了。编码的时候,具体的方法调用,是边写代码,边查Documentation,所有的东西都在Documentation里面,不要求你一定记住,实际你也记不住3000多个类的总共将近10万个方法调用。所以对每个包的总体框架的把握就变得极为重要。
第五步,通过上面的学习,如果学的比较扎实的话,就打好了Java的基础了,剩下要做的工作是扫清Documentation里面除了上面4个包之外的其他一些比较有用处的类。相信进展到这一步,Java的自学能力已经被培养出来了,可以到了直接学习Documentation的水平了。除了要做GUI编程之外,JDK里面其他会有用处的包是这些:
java.text.*;
java.net.*;
javax.naming.*;
这些包里面真正用的比较多的类其实很少,只有几个,所以不需要花很多时间。
第六步,Java Web 编程
Web编程的核心是HTTP协议,HTTP协议和Java无关,如果不熟悉HTTP协议的话,虽然也可以学好Servlet/JSP编程,但是达不到举一反三,一通百通的境界。所以HTTP协议的学习是必备的。如果熟悉了HTTP协议的话,又有了Java编程的良好的基础,学习Servlet/JSP简直易如反掌,我学习Servlet/JSP就用了不到一周的时间,然后就开始用JSP来做项目了。
在Servlet/JSP的学习中,重头仍然是Servlet Documentation。Servlet API最常用的类很少,花比较少的时间就可以掌握了。把这些类都看一遍,多写几个例子试试。Servlet/JSP编程本质就是在反复调用这些类来通过HTTP协议在Web Server和Brower之间交谈。另外对JSP,还需要熟悉几个常用JSP的标记,具体的写法记不住的话,临时查就是了。
此外Java Web编程学习的重点要放在Web Application的设计模式上,如何进行业务逻辑的分析,并且进行合理的设计,按照MVC设计模式的要求,运用Servlet和JSP分别完成不同的逻辑层,掌握如何在Servlet和JSP之间进行流程的控制和数据的共享,以及Web Application应该如何配置和部署。
第七步,J2EE编程
以上的学习过程如果是比较顺利的话,进行到这一步,难度又陡然提高。因为上面的知识内容都是只涉及一个方面,而像EJB,JMS,JTA等核心的J2EE规范往往是几种Java技术的综合运用的结晶,所以掌握起来难度比较大。
首先一定要学习好JNDI,JNDI是App Server定位服务器资源(EJB组件,Datasouce,JMS)查找方法,如果对JNDI不熟悉的话,EJB,JMS这些东西几乎学不下去。JNDI其实就是javax.naming.*这个包,运用起来很简单。难点在于服务器资源文件的配置。对于服务器资源文件的配置,就需要看看专门的文档规范了,比如web.xml的写法,ejb-jar.xml的写法等等。针对每种不同的App Server,还有自己的服务资源配置文件,也是需要熟悉的。
然后可以学习JTA,主要是要理解JTA对于事务的控制的方法,以及该在什么场合使用JTA。这里可以简单的举个例子,我们知道一般情况可以对于一个数据库连接进行事务控制(conn.setAutoCommit(false),....,conn.commit()),做为一个原子*作,但是假设我的业务需求是要把对两个不同数据库的*作做为一个原子*作,你能做的到吗?这时候只能用JTA了。假设*作过程是先往A数据库插一条记录,然后删除B数据库另一个记录,我们自己写代码是控制不了把整个*作做为一个原子*作的。用JTA的话,由App Server来完成控制。
在学习EJB之前要学习对象序列化和RMI,RMI是EJB的基础。接着学习JMS和EJB,对于EJB来说,最关键是要理解EJB是如何通过RMI来实现对远端对象的调用的,以及在什么情况下要用到EJB。
在学习完EJB,JMS这些东西之后,你可能会意识到要急不可待学习两个领域的知识,一个是UML,另一个是Design Pattern。Java企业软件的设计非常重视框架(Framework)的设计,一个好的软件框架是软件开发成功的必要条件。在这个时候,应该开始把学习的重点放在设计模式和框架的学习上,通过学习和实际的编程经验来掌握EJB的设计模式和J2EE的核心模式。
J2EE规范里面,除了EJB,JMS,JTA,Servlet/JSP,JDBC之外还有很多很多的企业技术,这里不一一进行介绍了。
另外还有一个最新领域Web Services。Web Services也完全没有任何新东西,它像是一种黏合剂,可以把不同的服务统一起来提供一个统一的调用接口,作为使用者来说,我只要获得服务提供者给我的WSDL(对服务的描述),就够了,我完全不知道服务器提供者提供的服务究竟是EJB组件,还是.Net组件,还是什么CORBA组件,还是其他的什么实现,我也不需要知道。Web Services最伟大的地方就在于通过统一的服务提供方式和调用方式,实现了整个Internet服务的共享,是一个非常令人激动的技术领域。Web Services好像目前还没有什么很好的书籍,但是可以通过在网络上面查资料的方式来学习。

热心网友 时间:2023-10-25 08:10

先学JAVA基础,定义类以及方法,变量的声明,调用然后在学习流程控制语句。

热心网友 时间:2023-10-25 08:11

学java必要掌握面向对象的设计思想,没得这个思想,你后面啥都干不了,你可以先去看看《java编程思想》这本书,讲得不错。

热心网友 时间:2023-10-25 08:11

书要薄一点的,先掌握结构,再丰富内容。就想盖楼一样。

热心网友 时间:2023-10-25 08:12

基础学起走,简单的先来,
我是一个刚入java程序开发的菜鸟,想问一下基础应该先学什么

学习Java的第一步是安装好JDK,写一个Hello World,其实JDK的学习没有那么简单,关于JDK有两个问题是很容易一直困扰Java程序员的地方:一个是CLASSPATH的问题,其实从原理上来说,是要搞清楚JRE的ClassLoader是如何加载Class的;另一个问题是package和import问题,如何来寻找类的路径问题。把这两个问题摸索清楚了,就扫...

菜鸟程序员需要学习哪些基础知识

1、web开发 全面的JEE的web开发知识:Servlet+JSP+javaBean+TagLib,到这里做一个完整的web应用项目开发。2、J2EE基础 j2ee说白了就是做网页,这时候你要从先从java里脱身出来,学些跟网页有关的东西:html:很简单的东西不是太笨的话半天左右即可搞定 js:易学难精,想速度找工作不必花太多时间,随便...

菜鸟初学Java如何系统学习?

一、学习前的准备 在学习Java前,最重要的是需要掌握学习Java的基础知识,学习计算机的技术和Java知识是密不可分的。首先就是安装JDK,解决安装JDK存在的问题,在安装过程中,可以在网络上面找一些相应的答案,多学习、多动脑思考,用心做好学习前的准备。二、Java基础的学习 Java系统主要分为JavaSE,Java...

自学Java怎么入门?

JavaSE基础是Java中级程序员的起点,是帮助你从小白到懂得编程的必经之路。在Java基础板块中有6个子模块的学习:基础语法,可帮助你建立基本的编程逻辑思维;面向对象,以对象方式去编写优美的Java程序;集合,后期开发中存储数据必备技术;IO,对磁盘文件进行读取和写入基础操作;多线程与并发,提高程序效率...

Java学习路线是怎样的?

第一阶段,Java SE基础:Java环境搭建、Java流程控制语句-for循环、switch选择判断、循环嵌套、数组拷贝、多维数组、final关键字、构造函数的调用、类的访问权限和路径、面向对象高级特性、Java异常处理、Set,Map,List接口及接口实现类、Java线程、同步阻塞、JavaIO流、文件的操作,复制,读写,删除等。第...

java菜鸟入门(java菜鸟编程)

java菜鸟入门(java菜鸟编程)java中几种常见的设计模式(java设计模式菜鸟教程)1、工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修

学习java需要什么基础?

最新java学习路线:第一阶段:java专业基础课程阶段目标:1、熟练掌握java的开发环境与编程核心知识;2、熟练运用java面向对象知识进行程序开发;3、对java的核心对象和组件有深入理解;4、熟练运用javaAPI相关知识;5、熟练应用java多线程技术;6、能综合运用所学知识完成一个项目。知识点:1、基本数据类型...

菜鸟想学计算机应该从哪方面开始入手?

3、注重实验。学习编程语言一定要重视实验,实验不仅能够帮助理解各种抽象概念,也能在一定程度上积累编程经验。4、学习相关知识。在学习编程语言的过程中,也需要同时学习计算机网络、数据库等相关知识,在当前的云计算和大数据时代背景下,还需要掌握如何通过云计算(PaaS)来辅助开发,以及如何利用大数据平台...

菜鸟学习Java需要提前做好哪些准备?

现在Java非常火,对于那些没有基础的同学来说,怎样才能学好Java,学Java是否有前途,学多久可以进入职场,想必这些问题困扰着许多想要学习Java的大学生和社会人士。现在,许多大学生,不管接触没接触过Java程序的人都有通过上Java培训班而顺利就业的,其中不乏高薪者;同时,也有中途失败的,并不是每个人都...

菜鸟怎样才能把Java开发学好?

2.很多Java菜鸟甚至什么是Java都不知道,然后就直接开始了Java的学习,这就是我们时常采取的获取信息的方式,走马观花的学。走马观花,那么是肯定学不好Java的,这是毋庸置疑的。作为一个Java菜鸟,学习Java必须有一个系统的学习方案,系统的学习教程,这样才能够确保自己学到的Java效果最佳。3.Java菜鸟...

jdk开发java程序的三个步骤 java程序开发的步骤是 开发java程序的一般步骤 程序开发的四个步骤 java编程是什么 编写java程序的三个步骤 java的开发工具 java开发流程 最简单的java程序
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
山东第一医科大学有保研资格吗 上大学后选修第二个专业可取吗1.第二个专业选择可以随意选吗? 如果上大学选择了一个专业,而外语作为第二专业,那么学费收取两个专业吗... 大学的第二专业是什么 怎样选择大学第二专业? 关于大学第二专业的选择 上大学之后,选择第二专业后 能放弃第一专业 只学第二专业么 喉口字旁改为日字旁是什么字 问个梦幻西游帐号安全问题。 梦幻西游藏宝阁买了角色之后角色就被转到自己原本的 刚开始接触java。如何学习呢? 我零计算机基础,想学JAVA刚开始进入第一步学什么好... 现在大空间云盘 麻烦各位给推荐个超大空间的云盘,谢谢? 鞍山的3D木门 是木门十大品牌吗 老板让我给同事们每人配备一个空间大一点的云盘,我跟办理哪一个会更好? 怎样更换免费的手机铃声?拜托了各位 谢谢 可以免费更换彩铃吗? 中国银行上海长城嘉华联名借记IC卡主要功能 只有怎么找回密码,没有绑定任何东西! 微信什么都没绑定,只记得怎么找回密码? 求把照片背景做透明的高手帮助 在线等 索尼Z1好一点华为Z6好一点手机 如何解决被xperia惯坏的现状? 脖子酸痛怎么让脖子可以舒服 一人有限责任公司改制股份有限公司的程序? 30岁的时候工作应该是看中收入还是看中技术积累? 周公解梦大全查询未婚女子梦到树上结满了红色大枣子,咬一口竟然是虫子... 梦见树上结红枣红色的 蜗牛牌眼膜敷几分钟 java从什么开始学 鞍山买木门 监控安装如何跑单 高考半球监控摄像头 有效果图的!!! 谁知道下面这个图片里的Q版女生叫什么名字 帮忙找找这个系列的Q版女孩图片 这个女主持人是谁 急急急,腾讯qq邮件撤回,提示(撤回失败,对方已读),她有没有看见,有几种情况。 滴滴司机订单结束后不显示金额怎么回事 滴滴打车会自动显示多少车钱吗 叫滴滴快车下面显示金额,就是全程的付款金额吗 滴滴出租车订单结束不显示金额吗 的的打车车主能看到付款金额吗? 如何申请不用手机号注册 无需手机号怎么注册? 怎么不用手机号注册一个新的 不用手机号怎么申请注册新账号 不用手机号怎么申请注册新账号 怎样申请不用手机号注册 不用手机号可以申请