学习内容大致可分为以下10点,都是我从动力节点自学教程里学习的时候总结出来的,但java编程日新月异,每天都在变化,即便现在掌握了一些知识也不要骄傲,更要跟上技术发展的步伐,实时更新。
1、Java语言
Java语言体系比较庞大,包括多个模块。从WEB项目应用角度讲有JSP、Servlet、JDBC、JavaBean(Application)四部分技术。
(1)、Java Database Connectivity(JDBC)技术
在Java Web应用开发中,数据库管理系统(RDBMS)的使用是不可缺少的。JDBC(Java Database Connectivity) 是一种用于执行SQL 语句的 Java API。它由一组用 Java 编程语言编写的类和接口组成。JDBC 为工具/数据库开发人员提供了一个标准的API,使他们能够用纯Java API 来编写数据库应用程序。
简单地说,JDBC 可做三件事:
l 与数据库建立连接,
l 发送SQL 语句,
l 处理结果。
(2)、Servlet技术
Servlet是运行在服务器端的程序,可以被认为是服务器端的applet。servlet被Web服务器(例如Tomcat)加载和执行,就如同applet被浏览器加载和执行一样。servlet从客户端(通过Web服务器)接收请求,执行某种 *** 作,然后返回结果。
Servlet的主要优点包括
l Servlet是持久的。servlet只需Web服务器加载一次,而且可以在不同请求之间保持服务(例如一次数据库连接)。
l Servlet是与平台无关的。如前所述,servlet是用Java编写的,它自然也继承了Java的平台无关性。
l Servlet是可扩展的。由于servlet是用Java编写的,它就具备了Java所能带来的所有优点。Java是健壮的、面向对象的编程语言,它很容易扩展以适应你的需求。servlet自然也具备了这些特征。
l Servlet是安全的。从外界调用一个servlet的惟一方法就是通过Web服务器。这提供了高水平的安全性保障,尤其是在你的Web服务器有防火墙保护的时候。
l Servlet可以在多种多样的客户机上使用。由于servlet是用Java编写的,所以你可以很方便地在HTML中使用它们。
(3)、JavaServer Pages(JSP)技术
JSP是从Servlet上分离出来的一小部分,简化了开发,加强了界面设计。JSP定位在交互网页的开发。运用Java语法,但功能较Servlet弱了很多,并且高级开发中只充当用户界面部分。JSP容器收到客户端发出的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式响应给客户端。其中程序片段可以是: *** 作数据库、重新定向网页以及发送 E-Mail 等等,这些都是建立动态网站所需要的功能。所有程序 *** 作都在服务器端执行,网络上传送给客户端的仅是得到的结果,与客户端的浏览器无关,因此,JSP 称为Server-Side Language。
JavaServer Pages的主要优点包括
●一次编写,各处执行(Write Once, Run Anywhere)特性
作为Java 平台的一部分,JavaServer Pages 技术拥有Java语言“一次编写,各处执行”的特点。随着越来越多的供货商将JavaServer Pages 技术添加到他们的产品中,您可以针对自己公司的需求,做出审慎评估后,选择符合公司成本及规模的服务器,假若未来的需求有所变更时,更换服务器平台并不影响之前所投下的成本、人力所开发的应用程序。
● 搭配可重复使用的组件
JavaServer Pages技术可依赖于重复使用跨平台的组件(如:JavaBean或Enterprise JavaBean组件)来执行更复杂的运算、数据处理。开发人员能够共享开发完成的组件,或者能够加强这些组件的功能,让更多用户或是客户团体使用。基于善加利用组件的方法,可以加快整体开发过程,也大大降低公司的开发成本和人力。
● 采用标签化页面开发
Web 网页开发人员不一定都是熟悉Java 语言的程序员。因此,JSP 技术能够将许多功能封装起来,成为一个自定义的标签,这些功能是完全根据XML 的标准来制订的,即JSP 技术中的标签库(Tag Library)。因此,Web 页面开发人员可以运用自定义好的标签来达成工作需求,而无须再写复杂的Java 语法,让Web 页面开发人员亦能快速开发出一动态内容网页。
今后,第三方开发人员和其他人员可以为常用功能建立自己的标签库,让Web 网页开发人员能够使用熟悉的开发工具,如同HTML 一样的标签语法来执行特定功能的工作。
● N-tier 企业应用架构的支持
有鉴于网际网络的发展,为因应未来服务越来越繁杂的要求,且不再受地域的限制,因此,
必须放弃以往Client-Server的Two-tier 架构,进而转向更具威力、d性的分散性对象系统。由于JavaServer Page 技术是Java 2 Platform Enterprise Edition (J2EE)集成中的一部分,它主要是负责前端显示经过复杂运算后之结果内容,而分散性的对象系统则是主要依赖EJB ( Enterprise JavaBean )和JNDI ( Java Naming and Directory Interface )构建而成。
(4)、JavaBean(Application)应用组件技术
Application是Java应用程序,在WEB项目和一些开发中主要应用JavaBean。它就是Application的一部分,逻辑运算能力很强,能极大的发挥Java语言的优点。JavaBean 被称为是Java 组件技术的核心。JavaBean 的结构必须满足一定的命名约定。JavaBean能提供常用功能并且可以重复使用,这使得开发人员可以把某些关键功能和核心算法提取出来封装成为一个组件对象,这样就增加了代码的重用率和系统的安全性。
高级的WEB项目会应用到以上所有技术,它们之间联合使用和协作开发会提高开发的效率和系统的性能。
2、面向对象分析设计思想
Java语言是完全面向对象的语言,所以在项目设计时会有很大的帮助,在设计时应尽量舍弃以往的面向过程的设计方式。
在分析项目业务关系的时候,应用一些UML(Unified Modeling Language)图,例如常用的用例图(use case diagram),类图(class diagram),时序图(sequence diagram)等等,会有很大的帮助,这样能尽快找出业务逻辑主要面对的对象,然后对每个对象进行行为划分,最后再实现对象之间的集成和通信。
3、设计模式和框架结构
Java从语言角度来讲不是很难,但是从整体设计角度来讲我们还需要了解一些高级应用框架。如果要设计一个良好的框架结构,单单只掌握Java语言远远不够。这就涉及到一个设计模式,还有和设计模式相关的一些知识。
设计模式在Java项目实施过程更是重中之重。主要在与两层的设计模式、三层的设计模式和N层的设计模式。它直接决定着项目的应用、部署和实际开发设计。
在普通的WEB项目中很多采用两层的开发结构。JSP+Servlet或JSP+JavaBean。当对开发要求高的项目中使用很多的还是MVC的三层开发结构,也就是JSP+Servlet+JavaBean。它能分有效的分离逻辑开发,使开发人员能专注于各自的开发。同时也能时整个开发结构流程更清晰,但是需要比较高的开发配合度。
在项目中,我们经常使用著名的Model-View-Controller(MVC)架构。MVC架构是随着smalltalk language语言的发展提出的,它是一个著名的用户界面设计架构。经典的MVC架构把一个组件(可认为是整个应用程序的一个模块)划分成三部分组 Model管理这个模块中所用到的数据和业务逻辑。而View 管理模块如何显示给用户,Controller 决定如何处理用户和该模块交互式时候产生的事件如用户点击一个按钮等。
4、XML语言
在服务器和设计模式结构中会应用到自定义文件,而且在应用高级设计时也会定义自用的标签,现在流行的是用XML去定义配置,所以XML语言应该有一定掌握。
当前,Java 2平台企业版(J2EE)架构在厂商市场和开发者社区中倍受推崇。作为一种工具,可扩展标记语言(XML)简化了数据交换、进程间消息交换这一类的事情,因而对开发者逐渐变得有吸引力,并开始流行起来。自然,在J2EE架构中访问或集成XML解决方案的想法也很诱人。因为这将是强大系统架构同高度灵活的数据管理方案的结合。
XML的应用似乎是无穷无尽的,但它们大致上可以分为三大类:
1、简单数据的表示和交换(针对XML的简单API(SAX)和文档对象模型(DOM)语法解析,不同的文档类型定义(DTDs)和概要(schemas))
2、用户界面相关、表示相关的上下文(可扩展样式表语言(XSL),可扩展样式表语言转换(XSLT))
3、面向消息的计算(XML-RPC(远程过程调用),基于SOAP协议的Web 服务(Web Services),电子化业务XML(ebXML))
5、网页脚本语言
为了提高WEB项目的整体性能,提高人机交互的友好界面,网页的脚本语言是很有用处的,有的时候可以解决很大的难题或提高程序的性能和应用性。
网页脚本语言的执行都是在客户端执行的,速度很很快,并且大多的 *** 作与服务器没有交互运算,所以在一些应用中非常理想。在设计WEB项目的应用中,网页的脚本语言起着不能忽视的作用,所以如果设计WEB项目的应用中,对JavaScript应有一定的了解。
JavaScript是一种基于对象(Object Based)和事件驱动(Event Driven)并具有安全性能(Secure)的脚本语言。使用它的目的是与HTML超文本标记语言、Java 脚本语言(Java小程序)一起实现在一个Web页面中链接多个对象,与Web客户交互作用。从而可以开发客户端的应用程序等。它是通过嵌入或调入在标准的HTML语言中实现的。
solr是一个全文检索数据库
对外提供了数据读取和写入的接口
数据当然主要是从接口来 主要是>
选择学习Java,首先,我们要知道我们学习Java是为了什么,要达到一个什么样的目标,对未来的职业要有一个具体详细的计划,我们在进行具体的学习训练。在学习Java基础的时候,会遇到很多的困难,关于Java基础学习的每一个重要知识点,都要掌握,因为就业中越是大的公司越会在乎你对Java基础的认知和理解,所以基础无疑是最重要的,万丈高楼平地起,基础建设得好不好,将决定你后面所有建设的高度,Java也是一样,基础很重要,未来职业还很远,但是能走多远,取决于你对Java基础知识的认识程度。所以基础学习至关重要,如果你是真的想学好这门技术,想在这个行业取得成就,请你继续往下看。
Java基础语法:Java语法是就相当于英文中的26个字母,你需要将每个关键词都学的很透彻,对于初学者来说,最困难的概念是基本结构,例如循环和分支。这部分没有过多的技巧,多去做一些相关的练习题,熟能生巧。
面向对象编程(OOP):OOP严格意义上来说有两个模块,一是面向对象的思维,二是面向对象的编程语法。面向对象的思维这个理解起来有点难,因为我们在学Java的基础语法时,习惯了用面向过程的思维去编程,转变为面向对象时头脑中会很混乱,即使老师举很多实例去解释 依旧会产生很多困惑,碰到这种情况不要着急,面向对象的思维需要长期去培养,同基础语法一样,思维也需要大量的实践去培养。
面向对象涉及到的语法主要有:类、继承、接口、多态、封装,这是Java编程中另一个重要的组成部分,可以说在工作中,无论用哪种框架,哪种编辑器,面向对象的编程都是重中之重。这个模块也是在面试中的重点,所以一定要掌握扎实!
集合框架:Java为不同的集合提供了一个集合框架。集合基于数据结构,比如常见的:列表、数组、集合、哈希图等等。因此,在研究集合时,最好了解一点数据结构的相关知识。
学习集合的主要困难在于他们之间的区别,以及何时用到适合的集合类型。同样的,也是必须实践出真知。
异常处理:异常是在执行程序时可能发生的异常情况。很多人在学习的过程中理解不了异常的作用,在初学的时候也有相同的疑问,编辑器已经有报错的功能了,为什么还要自己去编写一段处理异常的代码。后来随着项目使用的异常处理越来越多,对异常处理也会有深刻的了解。
举个简单的例子:当你下载文件时,如出现什么错误,用户希望下载器能告诉他出现了什么问题,比如硬盘不足等等,当用户提供了足够的硬盘空间以后,下载继续自动进行。而不是说空间一不足,立刻下载器就崩溃,这就是异常技术。
输入/输出流:Java使用流来执行输入和输出的 *** 作。在项目中,需要经常进行读写 *** 作。对于初学者来说,这也是一个比较困难的知识点,而且在Java的学习过程中,这一点的重要性并不是很突出,导致很多人在工作后碰到文件的读写 *** 作就干瞪眼了
Java多线程/并发:多线程和并发 *** 作是Java高级编程的核心主题。这部分几乎所有的同学都理解不了,不过没有关系,这部分对于初级开发者来说不是很重要。可以在工作的过程中慢慢深入了解。为什么要把这个模块放在文章里,主要是目前市场上有些公司的面试会问及多线程并发的问题,为了Offer,推荐大家还是看看。
Lambda表达式:Java lambda表达式出现在Java 8中,这是一个经常被开发者忽略的工具。Lambda表达式是一个可以创建的函数,不属于任何类,可作为对象传递或执行。
算法和数据结构:每一门编程语言的学习过程中,最有争议的问题之一就是每个学生是否应该学习标准的排序和搜索算法。有的人认为,大部分算法已经编写在库中,使用起来很方便。另一部分人认为,学习算法的过程就是锻炼编程思维的过程,一定要学习。
更倾向于后者的说法,因为经历过很多面试,无论是自己去求职还是面试求职者,都会在面试过程中考察算法和数据结构的相关问题。如果想要保证自己不被落选,这方面的知识还是多学习一点。
实用的库和组件:库和组件是能否胜任一份工作的重要指标,库和组件能大大提升开发效率。所以公司在招聘时会特别注重这一点,面试时会询问你的库和组件的使用和学习经历。
Spring/Hibernate:在以前,成为Java工程师有以上知识足矣,但是随着近几年技术的变更和开发者的急剧增长,开发者的门槛也逐渐增加,比如Spring/Hibernate,不会这两门技术,很难找到工作。
上面就是成为一名Java开发者所需要的学习的知识,有些知识需要精通,比如基础语法、OOP,集合框架,异常处理,流,实用的库和组件,Spring框架等;有些只需要了解,能在面试中回答出来,给面试官留下一个好的印象,比如多线程/并发,Lambda表达式,算法和数据结构。希望对小白能有帮助,也祝你的Java学习之路能够顺顺利利。
以上就是关于Java开发主要都学些什么内容全部的内容,包括:Java开发主要都学些什么内容、solr的数据怎么来的、JAVA你知道后端都要学习些什么吗等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)