学习java技巧

时间:2024-09-23 15:35:14 如意 JAVA认证 我要投稿

学习java技巧

  为了进入自己心仪的java行业,许多人都会选择参加java培训,但是这也不意味着每个人都能学好java,就像在上学的时候,同样的课堂中总会出现尖子生和差生的区别。苏州java培训学校的老师介绍,学习的差异主要源于学习方法不同,学法不恰当就会影响学习效果。针对这个问题,小编为大家介绍了几个学习java的技巧,可以对java培训有利。

学习java技巧

  学习java技巧1

  1、重视基础学习

  在参加苏州java培训学校的过程中,大家一定要注意学习java打牢基础很关键。俗话说“勿在浮沙筑高台”,打不好基础怎么能建起知识的高楼呢?更别提进一步拓展了。所以在前期的基础教学过程中,大家要脚踏实地,尤其是零基础学员,不能浮躁,一点点掌握并做好知识巩固很重要。

  2、做好日常积累

  参加java培训班,学得好的同学通常都是比较细致、注意小节的。除了在上课期间认真学习听课,在休息时间,他们也会抓住短暂的时间来巩固所学的知识点,看看书,并做一些练习题,在这样一点一滴日常的积累中往往能得到意外的收获。正所谓“不积跬步,无以至千里;不积小流,无以成江海”说的就是这个道理。学习的差异不是体现在课堂上,而是在课堂下,高手就是这样慢慢练出来的。

  3、保持谦逊态度

  参加java培训的学员,有些是有一定java基础的,起初比零基础学员懂得多一些,培训期间就容易变得自大,但常言道“闻道有先后,术业有专攻”,不能因此而沾沾自喜,目中无人。一旦踏入社会,就会发现java技术牛人比比皆是,只有谦虚谨慎,踏实学习,掌握技术才最重要。

  以上是学习java技术比较重要的`三个方面,这些学习的方法和技巧也是苏州java培训学校的老师多番强调的,但是很多人都没有当回事。小编提醒大家,这些看似细节的方面往往就是决定成败的关键。

  学习java技巧2

  1.Static

  静态属性在java日常开发中也是经常使用,需要了解和 static关键字相关的用法,还有和其他关键字的配合使用, 如是否可以和 abstract,final 等关键字联合使用。

  主要需要掌握的有:

  静态属性的定义,使用,以及类加载时如何初始化

  静态方法的定义和使用

  静态类的定义和使用

  静态代码块的定义和初始化时机

  基础知识点

  这里主要罗列一些散落的,没有系统归类的一些java知识点。在日常的开发中用到也不少。 这块内容其实还有很多,目前只是暂时归纳了这几个在这里,包括有:

  equals , hashcode , string/stringbuffer ,final , finally , finalize

  2.集合框架

  这个是一个需要多加掌握的部分,做java开发,可以说没有不用到集合框架的,这很重要。但是这里的知识点并不难,但是对于集合最好要了解内部的实现方式,因为这样有助于你在各个不同的场景选择适合的框架来解决问题,比如有1W个元素的集合,经常要进行contains判断操作,知道了集合的特性或者内部实现,就很容易做出正确的选择。

  这里包括了如下内容(并发相关不包含在内):

  集合框架的体系: 基础Collection ,Map

  具体集合实现的内容, List ,Set ,Map 具体的实现,内部结构, 特殊的方法, 适用场景等

  集合相关的工具类 Collections 等的用法

  3.异常框架

  异常在java的开发中可能没有那么被重视。一般遇到异常,直接上抛,或者随便catch一下处理之后对于程序整体运行也没有什么大的影响。不过在企业级设计开发中, 异常的设计与处理的好坏,往往就关系着这个系统整体的健壮性。一个好的系统的`异常对于开发者来说,处理应该统一,避免各处散落很多异常处理逻辑;对于系统来说,异常应该是可控的,并且是易于运维的,某些异常出现后,应该有应对的方法,知道如何运维处理,所以虽然异常框架很简单,但是对于整个企业级应用开发来说,异常处理是很重要的,处理好异常就需要了解Java中的异常体系。

  这部分需要掌握的知识点不多,主要就是:

  异常的体系:

  Throwable

  Exception

  RuntimeException

  Error

  RuntimeException 和 一般 Exception 的区别, 具体处理方法等

  4.Java IO

  IO 在java中不仅仅是文件读写那么简单,也包括了 socket 网络的读写等等一切的输入输出操作。比如说 标准HTTP请求中Post的内容的读取也是一个输出的过程,等等…

  对于IO,Java不仅提供了基本Input、Output相关的api,也提供了一些简化操作的Reader、Writer等api,在某些开发(涉及大量IO操作的项目)中也很重要,一般日常的开发中也会涉及(日志,临时文件的读写等)。

  在这中的知识点主要有:

  基本IO的体系: 包括有InputStream , OutputStream, Reader/Writer, 文件读取,各种流读取等

  NIO 的概念, 具体使用方式和使用场景

  5.多线程并发

  多线程是Java中普遍认为比较难的一块。多线程用好了可以有效提高cpu使用率, 提升整体系统效率, 特别是在有大量IO操作阻塞的情况下;但是它也是一柄双刃剑, 如果用不好,系统非但提升不大,或者没有提升,而且还会带来多线程之间的调试时等问题。

  在多线程中内容有很多,只是简单说明一下Java中初步使用多线程需要掌握的知识点,以后有机会单独再详细介绍一些高级特性的使用场景。

  多线程的实现和启动

  callable 与 runable 区别

  syncrhoized ,reentrantLock 各自特点和比对

  线程池

  future 异步方式获取执行结果

  concurrent 包

  lock

  学习java技巧3

  一、三大框架简介

  1、Spring

  Spring是一个解决了许多在J2EE开发中常见的问题的强大框架。 Spring提供了管理业务对象的一致方法并且鼓励了注入对接口编程而不是对类编程的良好习惯。Spring的架构基础是基于使用JavaBean属性的Inversion of Control容器。然而,这仅仅是完整图景中的一部分:Spring在使用IoC容器作为构建完关注所有架构层的完整解决方案方面是独一无二的。 Spring提供了唯一的数据访问抽象,包括简单和有效率的JDBC框架,极大的改进了效率并且减少了可能的错误。Spring的数据访问架构还集成了Hibernate和其他O/R mapping解决方案。Spring还提供了唯一的事务管理抽象,它能够在各种底层事务管理技术,例如JTA或者JDBC事务提供一个一致的编程模型。Spring提供了一个用标准Java语言编写的AOP框架,它给POJOs提供了声明式的事务管理和其他企业事务--如果你需要--还能实现你自己的aspects。这个框架足够强大,使得应用程序能够抛开EJB的复杂性,同时享受着和传统EJB相关的关键服务。Spring还提供了可以和IoC容器集成的强大而灵活的MVC Web框架。

  2、STRUCTS

  Struts是一个基于Sun J2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的。由于Struts能充分满足应用开发的需求,简单易用,敏捷迅速,在过去的一年中颇受关注。Struts把Servlet、JSP、自定义标签和信息资源(message resources)整合到一个统一的框架中,开发人员利用其进行开发时不用再自己编码实现全套MVC模式,极大的节省了时间,所以说Struts是一个非常不错的应用框架。

  3、Hibernate

  Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序实用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。

  JAVA三大框架用来做WEB应用。

  struts主要负责表示层的显示

  spring利用它的IOC和AOP来处理控制业务(负责对数据库的操作)

  hibernate主要是数据的持久化到数据库

  在用jsp的servlet做网页开发的时候有个web.xml的映射文件,里面有个mapping的标签就是用来做文件映射的。

  当你在浏览器上输入URL地址的时候,文件就会根据你写的名称对应到一个java文件,根据java文件里编写的内容显示在浏览器上,就是一个网页,所以网页名字是随便写的,随便起的名字,不管你起的.是.php .jsp .do还是其他的什么都对应这个java文件,这个java文件里的代码进行什么操作就干什么,显示一句话还是连接数据库还是跳转到其他页面等等,这个java文件把数据进行封装起到安全和便于管理的作用。其实这个java文件编译过来是.class的一个字节码文件,没有那么一个类似html嵌入标签和代码的网页文件。他与jsp文件区别就是jsp把代码嵌入到html标签中。

  还有servlet或者struts中html表单的action中的提交名称对应一个java文件,struts一般是.do的,都和上面一样是映射。

  Struts是web开发框架负责表单提交)(相当于电脑显卡)

  Hibernate负责对数据库的操作(相当于电脑CPU)

  Spring相当于一个主板(将显卡和CPU组装在一起

  二、Spring框架

  编辑本段定义

  要谈Spring的历史,就要先谈J2EE。J2EE应用程序的广泛实现是在1999年和2000年开始的,它的出现带来了诸如事务管理之类的核心中间层概念的标准化,但是在实践中并没有获得绝对的成功,因为开发效率,开发难度和实际的性能都令人失望。 曾经使用过EJB开发J2EE应用的人,一定知道,在EJB开始的学习和应用非常的艰苦,很多东西都不能一下子就很容易的理解。EJB要严格地继承各种不同类型的接口,类似的或者重复的代码大量存在。而配置也是复杂和单调,同样使用JNDI进行对象查找的代码也是单调而枯燥。虽然有一些开发工作随着xdoclet的出现,而有所缓解,但是学习EJB的高昂代价,和极低的开发效率,极高的资源消耗,都造成了EJB的使用困难。而Spring出现的初衷就是为了解决类似的这些问题。 Spring的一个最大的目的就是使J2EE开发更加容易。同时,Spring之所以与Struts、Hibernate等单层框架不同,是因为Spring致力于提供一个以统一的、高效的方式构造整个应用,并且可以将单层框架以最佳的组合揉和在一起建立一个连贯的体系。可以说Spring是一个提供了更完善开发环境的一个框架,可以为POJO(Plain Old Java Object)对象提供企业级的服务。 Spring的形成,最初来自Rod Jahnson所著的一本很有影响力的书籍《Expert One-on-One J2EE Design and Development》,就是在这本书中第一次出现了Spring的一些核心思想,该书出版于2002年。另外一本书《Expert One-on-One J2EE Development without EJB》,更进一步阐述了在不使用EJB开发J2EE企业级应用的一些设计思想和具体的做法。有时间了可以详细的研读一下。 Spring的初衷: 1、J2EE开始应该更加简单。 2、使用接口而不是使用类,是更好的编程习惯。Spring将使用接口的复杂度几乎降低到了零。 3、为JavaBean提供了一个更好的应用配置框架。 4、更多地强调面向对象的设计,而不是现行的技术如J2EE。 5、尽量减少不必要的异常捕捉。 6、使应用程序更加容易测试。 Spring的目标: 1、可以令人方便愉快的使用Spring。 2、应用程序代码并不依赖于Spring APIs。 3、Spring不和现有的解决方案竞争,而是致力于将它们融合在一起。 Spring的基本组成: 1、最完善的轻量级核心框架。 2、通用的事务管理抽象层。 3、JDBC抽象层。 4、集成了Toplink, Hibernate, JDO, and iBATIS SQL Maps。 5、AOP功能。 6、灵活的MVC Web应用框架。

  编辑本段Spring框架简介

  Spring: Spring是一个开源框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。 简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。 轻量——从大小与开销两方面而言Spring都是轻量的。

  完整的Spring框架可以在一个大小只有1MB多的JAR文件里发布。并且Spring所需的处理开销也是微不足道的。此外,Spring是非侵入式的:典型地,Spring应用中的对象不依赖于Spring的特定类。 控制反转——Spring通过一种称作控制反转(IoC)的技术促进了松耦合。当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。你可以认为IoC与JNDI相反——不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。 面向切面——Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务(transaction)管理)进行内聚性的开发。应用对象只实现它们应该做的——完成业务逻辑——仅此而已。它们并不负责(甚至是意识)其它的系统级关注点,例如日志或事务支持。 容器——Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个bean如何被创建——基于一个可配置原型(prototype),你的bean可以创建一个单独的实例或者每次需要时都生成一个新的实例——以及它们是如何相互关联的。然而,Spring不应该被混同于传统的重量级的EJB容器,它们经常是庞大与笨重的,难以使用。 框架——Spring可以将简单的组件配置、组合成为复杂的应用。在Spring中,应用对象被声明式地组合,典型地是在一个XML文件里。Spring

  也提供了很多基础功能(事务管理、持久化框架集成等等),将应用逻辑的开发留给了你。 所有Spring的这些特征使你能够编写更干净、更可管理、并且更易于测试的代码。它们也为Spring中的各种模块提供了基础支持。

  编辑本段Spring框架的7个模块

  1、核心容器 2、Spring 上下文 3、Spring AOP 4、Spring DAO 5、Spring ORM 6、Spring Web 模块 7、Spring MVC 框架

  三、struts

  struts是开源软件。使用Struts的目的是为了帮助我们减少在运用MVC设计模型来开发Web应用的时间。如果我们想混合使用Servlets和JSP的优点来建立可扩展的应用,struts是一个不错的选择。

  目录

  Struts 1.x的起源

  流程

  框架结构图综述

  Model部分

  View部分

  Controller组件

  框架压缩包内容

  体系结构

  框架中的组件

  Struts配置文件

  ActionServlet类

  ActionMapping类

  Action类

  ActionForm类

  ActionForward类

  错误处理

  OGNL

  Struts2Struts 1.x的起源

  流程

  框架结构图 综述

  Model部分

  View部分

  Controller组件

  框架 压缩包内容

  体系结构

  框架中的组件

  Struts配置文件

  ActionServlet类

  ActionMapping类

  Action类

  ActionForm类

  ActionForward类

  错误处理

  OGNL

  Struts2

  展开 编辑本段Struts 1.x的起源

  Struts最早是作为Apache Jakarta项目的组成部分,项目的创立者希望通过对该项目的研究,改进和提高JavaServer Pages 、Servlet、标签库以及面向对象的技术水准。Struts这个名字来源于在建 struts

  筑和旧式飞机中使用的支持金属架。这个框架之所以叫"Struts",是为了提醒我们记住那些支撑我们房屋,建筑,桥梁,甚至我们踩高跷时候的基础支撑。这也是一个解释Struts在开发Web应用程序中所扮演的角色的精彩描述。当建立一个物理建筑时,建筑工程师使用支柱为建筑的每一层提供支持。同样,软件工程师使用Struts为业务应用的每一层提供支持。它的目的是为了帮助我们减少在运用MVC设计模型来开发Web应用的时间。我们仍然需要学习和应用该架构,不过它将可以完成其中一些繁重的工作。如果想混合使用Servlets和JSP的优点来建立可扩展的应用,Struts是一个不错的选择。 早期Smalltalk 程序语言便采用了MVC(Model-View -Controller) 模式( Patterns ) 以增加程序代码弹性,MVC模式将程序代码整理切割为三部份,Model 部分是业务与应用领域( Business domain) 相关逻辑、管理状态之对象,Controller 部分接收来自View 所输入的资料并与Model 部分互动, struts

  [1]是业务流程控制( Flow Control) 之处,View 部分则负责展现资料、接收使用者输入资料。在Java 应用中,JFC/Swing、AWT、JSP 皆是可用作View 之技术规格,而JavaBean 与Enterprise JavaBean 规格则可用于Model 程序代码,一旦应用程序以MVC 模式加以适当

  (的)分割,Model 部分程序代码可在不同使用者接口外观(的)应用程序中重复使用。 随着JSP 与Servlet 技术大量应用于以Web 为基础(的)应用程序,Java 开发人员群体认为应以较佳之模式以提升Web 应用程序之可维护性与重复使用性。早期JSP 规格书中曾列举两种可行之JSP 应用架构,分别为Model1 与Model 2。 在Model 1 架构中,JSP 直接处理Web 浏览器送来之请求( Request ),并辅以JavaBean 处理应用相关逻辑。Model 1 架构单纯编写比较容易,但在Model 1 中JSP 可能同时肩负View 与Controller 角色,两类程

  序代码有可能混杂而不易维护。而Model 2 中将Servlet 纳入架构中扮演前端Controller 角色,将Web 浏览器送出之请求集中送至Servlet ,Servlet 可集中管理使用者登入、权限控制、多国语言转换等前置处理,再视需求转向给对应之JSP 处理。Model 2 中采用了较佳之MVC 模式,但增加了编写复杂度。 Struts是Apache软件基金下Jakarta项目的一部分。除Struts之外,还有其他成功的开源产品,包括Tomcat, Ant 和Velocity。2000 年Craig R. McClanahan 先生贡献了他编写 struts

  的JSP Model 2 架构之Application Framework 原始程序代码给Apache 基金会,成为Apache Jakarta 计划Struts Framework 前身。 开始的代码基础从2000年5月开始开发,直到2001年6月,1.0版本发布。有30 多个开发者参与进来,并有数千人参与到讨论组中。Struts 代码基础由一个志愿的Commnitter团队来管理。到2002年,Struts 小组共有9个志愿Commnitter。 Struts框架的主要架构设计和开发者是Craig R.McClanahan。Craig 也是Tomcat 4的主要架构师,以及Java Web Services Developer Pack的主要架构师和实现者。他现在是Sun的JavaServer Faces (JSR-127) 以及J2EE平台的Web层架构的规范领导。Craig R. McClanahan 先生是JCP ExpertGroup 成员之一,曾参与JSP 规格制定与Tomcat 4 之编写,因此Struts Framework 广受Java 开发人员群体所重视。Borland 自2002 年底开始于开发工具JBuilder 中支持Struts Framework。 Struts是Apache 基金会Jakarta 项目组的一个Open Source 项目,它采用MVC模式,能够很好地帮助java 开发者利用J2EE开发Web应用。和其他的java架构一样,Struts 也是面向对象设计,将MVC模式"分离显示逻辑和业务逻辑"的能力发挥得淋漓尽致。Structs 框架的核心是一个弹性 struts

  的控制层,基于如 Java Servlets,JavaBeans,ResourceBundles与XML等标准技术,以及 Jakarta Commons 的一些类库。Struts由一组相互协作的类(组件)、Servlet以及jsp tag lib组成。基于struts构架的web应用程序基本上符合JSP Model2的设计标准,可以说是一个传统 MVC设计模式的一种变化类型。 Struts最早是作为Apache Jakarta项目的组成部分问世运作。项目的创立者希望通过对该项目的研究,改进和提高Java Server Pages、Servlet、标签库以及面向对象的技术水准。 Struts跟Tomcat、Turbine等诸多Apache项目一样,是开源软件,这是它的一大优点,使开发者能更深入的了解其内部实现机制。 除此之外,Struts的优点主要集中体现在两个方面:Taglib和页面导航。Taglib是Struts的标记库,灵活运用,能大大提高开发效率。另外,就目前国内的JSP开发者而言,除了使用JSP自带的常用标记外,很少开发自己的标记,或许Struts是一个很好的起点。 关于页面导航,我认为那将是今后的一个发展方向,事实上,这样做, struts

  使系统的脉络更加清晰。通过一个配置文件,即可把握整个系统各部分之间的联系,这对于后期的维护有着莫大的好处。尤其是当另一批开发者接手这个项目时,这种优势体现得更加明显。 MVC即Model-View-Controller的缩写,是一种常用的设计模式。MVC 减弱了业务逻辑接口和数据接口之间的耦合,以及让视图层更富于变化。Struts 是MVC的一种实现,它将 Servlet和 JSP 标记(属于 J2EE 规范)用作实现的一部分。Struts继承了MVC的各项特性,并根据J2EE的特点,做了相应的变化与扩展。 说明:加粗括号内为修改的内容

  编辑本段流程

  服务器启动后,根据web.xml加载ActionServlet读取struts-config.xml文件内容到内存。 以登录为例:第一次进login.jsp会先实例化Form、把默认值(String默认为空字符串,整形默认为0)赋给表单元素。 输入用户名密码提交表单、提交到action属性的login.do,通过ActionServlet读struts-config.xml文件找到 action下的path属性找到.do,通过name属性找form-beans中的form-bean的name属性得到ActionForm的包名类名,先实例化form,把表单的值填充给form,调用form的validate方法验证、ActionErrors返回null表示验证通过。

  学习java技巧4

  学习JavaSE部分的内容,这部分是基础内容。掌握的越扎实,后面的内容学习起来就越容易。

  学习SQL和数据库的内容,这个也是非常基础的内容,举个例子:程序员的面试题中一定会有SQL部分的'考试。

  学习HTML、css、JavaScript的内容。

  学习,JSP、Servlet、JavaBean、标记库、JSTL、MVC、JSPEL等Web编程的部分

  学习Struts或者SpringMVC。二者取其一即可,推荐选Struts

  学习Java与XML,重点掌握使用Java技术对XML文件的解析

  学习JavaEE的核心技术,例如:JNDI、EJB3等,同时还需要学习使用与配置应用服务器,例如:webLogicServer,Websphere,JBoss

  学习Hibernate等持久层的技术

  学习Spring

  学习AJAX

  学习ANT、Subversion等开发工具,熟悉常见的软件开发模型,例如:rup、XP

  学习OOA与OOD,uml,设计模式

  学习WebServices、SOA的原理与应用开发

《学习java技巧.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

【学习java技巧】相关文章:

学习Java的技巧07-30

学习Java的6个技巧07-13

Java基本编程技巧07-13

Java中类的设计技巧有哪些10-21

Java程序员必知调试技巧汇总08-11

sun认证java关于字符串处理技巧06-01

学习声乐的技巧07-12

高尔夫的学习技巧02-03

街舞的学习技巧08-11

萨克斯学习技巧10-13

在线咨询

学习java技巧

  为了进入自己心仪的java行业,许多人都会选择参加java培训,但是这也不意味着每个人都能学好java,就像在上学的时候,同样的课堂中总会出现尖子生和差生的区别。苏州java培训学校的老师介绍,学习的差异主要源于学习方法不同,学法不恰当就会影响学习效果。针对这个问题,小编为大家介绍了几个学习java的技巧,可以对java培训有利。

学习java技巧

  学习java技巧1

  1、重视基础学习

  在参加苏州java培训学校的过程中,大家一定要注意学习java打牢基础很关键。俗话说“勿在浮沙筑高台”,打不好基础怎么能建起知识的高楼呢?更别提进一步拓展了。所以在前期的基础教学过程中,大家要脚踏实地,尤其是零基础学员,不能浮躁,一点点掌握并做好知识巩固很重要。

  2、做好日常积累

  参加java培训班,学得好的同学通常都是比较细致、注意小节的。除了在上课期间认真学习听课,在休息时间,他们也会抓住短暂的时间来巩固所学的知识点,看看书,并做一些练习题,在这样一点一滴日常的积累中往往能得到意外的收获。正所谓“不积跬步,无以至千里;不积小流,无以成江海”说的就是这个道理。学习的差异不是体现在课堂上,而是在课堂下,高手就是这样慢慢练出来的。

  3、保持谦逊态度

  参加java培训的学员,有些是有一定java基础的,起初比零基础学员懂得多一些,培训期间就容易变得自大,但常言道“闻道有先后,术业有专攻”,不能因此而沾沾自喜,目中无人。一旦踏入社会,就会发现java技术牛人比比皆是,只有谦虚谨慎,踏实学习,掌握技术才最重要。

  以上是学习java技术比较重要的`三个方面,这些学习的方法和技巧也是苏州java培训学校的老师多番强调的,但是很多人都没有当回事。小编提醒大家,这些看似细节的方面往往就是决定成败的关键。

  学习java技巧2

  1.Static

  静态属性在java日常开发中也是经常使用,需要了解和 static关键字相关的用法,还有和其他关键字的配合使用, 如是否可以和 abstract,final 等关键字联合使用。

  主要需要掌握的有:

  静态属性的定义,使用,以及类加载时如何初始化

  静态方法的定义和使用

  静态类的定义和使用

  静态代码块的定义和初始化时机

  基础知识点

  这里主要罗列一些散落的,没有系统归类的一些java知识点。在日常的开发中用到也不少。 这块内容其实还有很多,目前只是暂时归纳了这几个在这里,包括有:

  equals , hashcode , string/stringbuffer ,final , finally , finalize

  2.集合框架

  这个是一个需要多加掌握的部分,做java开发,可以说没有不用到集合框架的,这很重要。但是这里的知识点并不难,但是对于集合最好要了解内部的实现方式,因为这样有助于你在各个不同的场景选择适合的框架来解决问题,比如有1W个元素的集合,经常要进行contains判断操作,知道了集合的特性或者内部实现,就很容易做出正确的选择。

  这里包括了如下内容(并发相关不包含在内):

  集合框架的体系: 基础Collection ,Map

  具体集合实现的内容, List ,Set ,Map 具体的实现,内部结构, 特殊的方法, 适用场景等

  集合相关的工具类 Collections 等的用法

  3.异常框架

  异常在java的开发中可能没有那么被重视。一般遇到异常,直接上抛,或者随便catch一下处理之后对于程序整体运行也没有什么大的影响。不过在企业级设计开发中, 异常的设计与处理的好坏,往往就关系着这个系统整体的健壮性。一个好的系统的`异常对于开发者来说,处理应该统一,避免各处散落很多异常处理逻辑;对于系统来说,异常应该是可控的,并且是易于运维的,某些异常出现后,应该有应对的方法,知道如何运维处理,所以虽然异常框架很简单,但是对于整个企业级应用开发来说,异常处理是很重要的,处理好异常就需要了解Java中的异常体系。

  这部分需要掌握的知识点不多,主要就是:

  异常的体系:

  Throwable

  Exception

  RuntimeException

  Error

  RuntimeException 和 一般 Exception 的区别, 具体处理方法等

  4.Java IO

  IO 在java中不仅仅是文件读写那么简单,也包括了 socket 网络的读写等等一切的输入输出操作。比如说 标准HTTP请求中Post的内容的读取也是一个输出的过程,等等…

  对于IO,Java不仅提供了基本Input、Output相关的api,也提供了一些简化操作的Reader、Writer等api,在某些开发(涉及大量IO操作的项目)中也很重要,一般日常的开发中也会涉及(日志,临时文件的读写等)。

  在这中的知识点主要有:

  基本IO的体系: 包括有InputStream , OutputStream, Reader/Writer, 文件读取,各种流读取等

  NIO 的概念, 具体使用方式和使用场景

  5.多线程并发

  多线程是Java中普遍认为比较难的一块。多线程用好了可以有效提高cpu使用率, 提升整体系统效率, 特别是在有大量IO操作阻塞的情况下;但是它也是一柄双刃剑, 如果用不好,系统非但提升不大,或者没有提升,而且还会带来多线程之间的调试时等问题。

  在多线程中内容有很多,只是简单说明一下Java中初步使用多线程需要掌握的知识点,以后有机会单独再详细介绍一些高级特性的使用场景。

  多线程的实现和启动

  callable 与 runable 区别

  syncrhoized ,reentrantLock 各自特点和比对

  线程池

  future 异步方式获取执行结果

  concurrent 包

  lock

  学习java技巧3

  一、三大框架简介

  1、Spring

  Spring是一个解决了许多在J2EE开发中常见的问题的强大框架。 Spring提供了管理业务对象的一致方法并且鼓励了注入对接口编程而不是对类编程的良好习惯。Spring的架构基础是基于使用JavaBean属性的Inversion of Control容器。然而,这仅仅是完整图景中的一部分:Spring在使用IoC容器作为构建完关注所有架构层的完整解决方案方面是独一无二的。 Spring提供了唯一的数据访问抽象,包括简单和有效率的JDBC框架,极大的改进了效率并且减少了可能的错误。Spring的数据访问架构还集成了Hibernate和其他O/R mapping解决方案。Spring还提供了唯一的事务管理抽象,它能够在各种底层事务管理技术,例如JTA或者JDBC事务提供一个一致的编程模型。Spring提供了一个用标准Java语言编写的AOP框架,它给POJOs提供了声明式的事务管理和其他企业事务--如果你需要--还能实现你自己的aspects。这个框架足够强大,使得应用程序能够抛开EJB的复杂性,同时享受着和传统EJB相关的关键服务。Spring还提供了可以和IoC容器集成的强大而灵活的MVC Web框架。

  2、STRUCTS

  Struts是一个基于Sun J2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的。由于Struts能充分满足应用开发的需求,简单易用,敏捷迅速,在过去的一年中颇受关注。Struts把Servlet、JSP、自定义标签和信息资源(message resources)整合到一个统一的框架中,开发人员利用其进行开发时不用再自己编码实现全套MVC模式,极大的节省了时间,所以说Struts是一个非常不错的应用框架。

  3、Hibernate

  Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序实用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。

  JAVA三大框架用来做WEB应用。

  struts主要负责表示层的显示

  spring利用它的IOC和AOP来处理控制业务(负责对数据库的操作)

  hibernate主要是数据的持久化到数据库

  在用jsp的servlet做网页开发的时候有个web.xml的映射文件,里面有个mapping的标签就是用来做文件映射的。

  当你在浏览器上输入URL地址的时候,文件就会根据你写的名称对应到一个java文件,根据java文件里编写的内容显示在浏览器上,就是一个网页,所以网页名字是随便写的,随便起的名字,不管你起的.是.php .jsp .do还是其他的什么都对应这个java文件,这个java文件里的代码进行什么操作就干什么,显示一句话还是连接数据库还是跳转到其他页面等等,这个java文件把数据进行封装起到安全和便于管理的作用。其实这个java文件编译过来是.class的一个字节码文件,没有那么一个类似html嵌入标签和代码的网页文件。他与jsp文件区别就是jsp把代码嵌入到html标签中。

  还有servlet或者struts中html表单的action中的提交名称对应一个java文件,struts一般是.do的,都和上面一样是映射。

  Struts是web开发框架负责表单提交)(相当于电脑显卡)

  Hibernate负责对数据库的操作(相当于电脑CPU)

  Spring相当于一个主板(将显卡和CPU组装在一起

  二、Spring框架

  编辑本段定义

  要谈Spring的历史,就要先谈J2EE。J2EE应用程序的广泛实现是在1999年和2000年开始的,它的出现带来了诸如事务管理之类的核心中间层概念的标准化,但是在实践中并没有获得绝对的成功,因为开发效率,开发难度和实际的性能都令人失望。 曾经使用过EJB开发J2EE应用的人,一定知道,在EJB开始的学习和应用非常的艰苦,很多东西都不能一下子就很容易的理解。EJB要严格地继承各种不同类型的接口,类似的或者重复的代码大量存在。而配置也是复杂和单调,同样使用JNDI进行对象查找的代码也是单调而枯燥。虽然有一些开发工作随着xdoclet的出现,而有所缓解,但是学习EJB的高昂代价,和极低的开发效率,极高的资源消耗,都造成了EJB的使用困难。而Spring出现的初衷就是为了解决类似的这些问题。 Spring的一个最大的目的就是使J2EE开发更加容易。同时,Spring之所以与Struts、Hibernate等单层框架不同,是因为Spring致力于提供一个以统一的、高效的方式构造整个应用,并且可以将单层框架以最佳的组合揉和在一起建立一个连贯的体系。可以说Spring是一个提供了更完善开发环境的一个框架,可以为POJO(Plain Old Java Object)对象提供企业级的服务。 Spring的形成,最初来自Rod Jahnson所著的一本很有影响力的书籍《Expert One-on-One J2EE Design and Development》,就是在这本书中第一次出现了Spring的一些核心思想,该书出版于2002年。另外一本书《Expert One-on-One J2EE Development without EJB》,更进一步阐述了在不使用EJB开发J2EE企业级应用的一些设计思想和具体的做法。有时间了可以详细的研读一下。 Spring的初衷: 1、J2EE开始应该更加简单。 2、使用接口而不是使用类,是更好的编程习惯。Spring将使用接口的复杂度几乎降低到了零。 3、为JavaBean提供了一个更好的应用配置框架。 4、更多地强调面向对象的设计,而不是现行的技术如J2EE。 5、尽量减少不必要的异常捕捉。 6、使应用程序更加容易测试。 Spring的目标: 1、可以令人方便愉快的使用Spring。 2、应用程序代码并不依赖于Spring APIs。 3、Spring不和现有的解决方案竞争,而是致力于将它们融合在一起。 Spring的基本组成: 1、最完善的轻量级核心框架。 2、通用的事务管理抽象层。 3、JDBC抽象层。 4、集成了Toplink, Hibernate, JDO, and iBATIS SQL Maps。 5、AOP功能。 6、灵活的MVC Web应用框架。

  编辑本段Spring框架简介

  Spring: Spring是一个开源框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。 简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。 轻量——从大小与开销两方面而言Spring都是轻量的。

  完整的Spring框架可以在一个大小只有1MB多的JAR文件里发布。并且Spring所需的处理开销也是微不足道的。此外,Spring是非侵入式的:典型地,Spring应用中的对象不依赖于Spring的特定类。 控制反转——Spring通过一种称作控制反转(IoC)的技术促进了松耦合。当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。你可以认为IoC与JNDI相反——不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。 面向切面——Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务(transaction)管理)进行内聚性的开发。应用对象只实现它们应该做的——完成业务逻辑——仅此而已。它们并不负责(甚至是意识)其它的系统级关注点,例如日志或事务支持。 容器——Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个bean如何被创建——基于一个可配置原型(prototype),你的bean可以创建一个单独的实例或者每次需要时都生成一个新的实例——以及它们是如何相互关联的。然而,Spring不应该被混同于传统的重量级的EJB容器,它们经常是庞大与笨重的,难以使用。 框架——Spring可以将简单的组件配置、组合成为复杂的应用。在Spring中,应用对象被声明式地组合,典型地是在一个XML文件里。Spring

  也提供了很多基础功能(事务管理、持久化框架集成等等),将应用逻辑的开发留给了你。 所有Spring的这些特征使你能够编写更干净、更可管理、并且更易于测试的代码。它们也为Spring中的各种模块提供了基础支持。

  编辑本段Spring框架的7个模块

  1、核心容器 2、Spring 上下文 3、Spring AOP 4、Spring DAO 5、Spring ORM 6、Spring Web 模块 7、Spring MVC 框架

  三、struts

  struts是开源软件。使用Struts的目的是为了帮助我们减少在运用MVC设计模型来开发Web应用的时间。如果我们想混合使用Servlets和JSP的优点来建立可扩展的应用,struts是一个不错的选择。

  目录

  Struts 1.x的起源

  流程

  框架结构图综述

  Model部分

  View部分

  Controller组件

  框架压缩包内容

  体系结构

  框架中的组件

  Struts配置文件

  ActionServlet类

  ActionMapping类

  Action类

  ActionForm类

  ActionForward类

  错误处理

  OGNL

  Struts2Struts 1.x的起源

  流程

  框架结构图 综述

  Model部分

  View部分

  Controller组件

  框架 压缩包内容

  体系结构

  框架中的组件

  Struts配置文件

  ActionServlet类

  ActionMapping类

  Action类

  ActionForm类

  ActionForward类

  错误处理

  OGNL

  Struts2

  展开 编辑本段Struts 1.x的起源

  Struts最早是作为Apache Jakarta项目的组成部分,项目的创立者希望通过对该项目的研究,改进和提高JavaServer Pages 、Servlet、标签库以及面向对象的技术水准。Struts这个名字来源于在建 struts

  筑和旧式飞机中使用的支持金属架。这个框架之所以叫"Struts",是为了提醒我们记住那些支撑我们房屋,建筑,桥梁,甚至我们踩高跷时候的基础支撑。这也是一个解释Struts在开发Web应用程序中所扮演的角色的精彩描述。当建立一个物理建筑时,建筑工程师使用支柱为建筑的每一层提供支持。同样,软件工程师使用Struts为业务应用的每一层提供支持。它的目的是为了帮助我们减少在运用MVC设计模型来开发Web应用的时间。我们仍然需要学习和应用该架构,不过它将可以完成其中一些繁重的工作。如果想混合使用Servlets和JSP的优点来建立可扩展的应用,Struts是一个不错的选择。 早期Smalltalk 程序语言便采用了MVC(Model-View -Controller) 模式( Patterns ) 以增加程序代码弹性,MVC模式将程序代码整理切割为三部份,Model 部分是业务与应用领域( Business domain) 相关逻辑、管理状态之对象,Controller 部分接收来自View 所输入的资料并与Model 部分互动, struts

  [1]是业务流程控制( Flow Control) 之处,View 部分则负责展现资料、接收使用者输入资料。在Java 应用中,JFC/Swing、AWT、JSP 皆是可用作View 之技术规格,而JavaBean 与Enterprise JavaBean 规格则可用于Model 程序代码,一旦应用程序以MVC 模式加以适当

  (的)分割,Model 部分程序代码可在不同使用者接口外观(的)应用程序中重复使用。 随着JSP 与Servlet 技术大量应用于以Web 为基础(的)应用程序,Java 开发人员群体认为应以较佳之模式以提升Web 应用程序之可维护性与重复使用性。早期JSP 规格书中曾列举两种可行之JSP 应用架构,分别为Model1 与Model 2。 在Model 1 架构中,JSP 直接处理Web 浏览器送来之请求( Request ),并辅以JavaBean 处理应用相关逻辑。Model 1 架构单纯编写比较容易,但在Model 1 中JSP 可能同时肩负View 与Controller 角色,两类程

  序代码有可能混杂而不易维护。而Model 2 中将Servlet 纳入架构中扮演前端Controller 角色,将Web 浏览器送出之请求集中送至Servlet ,Servlet 可集中管理使用者登入、权限控制、多国语言转换等前置处理,再视需求转向给对应之JSP 处理。Model 2 中采用了较佳之MVC 模式,但增加了编写复杂度。 Struts是Apache软件基金下Jakarta项目的一部分。除Struts之外,还有其他成功的开源产品,包括Tomcat, Ant 和Velocity。2000 年Craig R. McClanahan 先生贡献了他编写 struts

  的JSP Model 2 架构之Application Framework 原始程序代码给Apache 基金会,成为Apache Jakarta 计划Struts Framework 前身。 开始的代码基础从2000年5月开始开发,直到2001年6月,1.0版本发布。有30 多个开发者参与进来,并有数千人参与到讨论组中。Struts 代码基础由一个志愿的Commnitter团队来管理。到2002年,Struts 小组共有9个志愿Commnitter。 Struts框架的主要架构设计和开发者是Craig R.McClanahan。Craig 也是Tomcat 4的主要架构师,以及Java Web Services Developer Pack的主要架构师和实现者。他现在是Sun的JavaServer Faces (JSR-127) 以及J2EE平台的Web层架构的规范领导。Craig R. McClanahan 先生是JCP ExpertGroup 成员之一,曾参与JSP 规格制定与Tomcat 4 之编写,因此Struts Framework 广受Java 开发人员群体所重视。Borland 自2002 年底开始于开发工具JBuilder 中支持Struts Framework。 Struts是Apache 基金会Jakarta 项目组的一个Open Source 项目,它采用MVC模式,能够很好地帮助java 开发者利用J2EE开发Web应用。和其他的java架构一样,Struts 也是面向对象设计,将MVC模式"分离显示逻辑和业务逻辑"的能力发挥得淋漓尽致。Structs 框架的核心是一个弹性 struts

  的控制层,基于如 Java Servlets,JavaBeans,ResourceBundles与XML等标准技术,以及 Jakarta Commons 的一些类库。Struts由一组相互协作的类(组件)、Servlet以及jsp tag lib组成。基于struts构架的web应用程序基本上符合JSP Model2的设计标准,可以说是一个传统 MVC设计模式的一种变化类型。 Struts最早是作为Apache Jakarta项目的组成部分问世运作。项目的创立者希望通过对该项目的研究,改进和提高Java Server Pages、Servlet、标签库以及面向对象的技术水准。 Struts跟Tomcat、Turbine等诸多Apache项目一样,是开源软件,这是它的一大优点,使开发者能更深入的了解其内部实现机制。 除此之外,Struts的优点主要集中体现在两个方面:Taglib和页面导航。Taglib是Struts的标记库,灵活运用,能大大提高开发效率。另外,就目前国内的JSP开发者而言,除了使用JSP自带的常用标记外,很少开发自己的标记,或许Struts是一个很好的起点。 关于页面导航,我认为那将是今后的一个发展方向,事实上,这样做, struts

  使系统的脉络更加清晰。通过一个配置文件,即可把握整个系统各部分之间的联系,这对于后期的维护有着莫大的好处。尤其是当另一批开发者接手这个项目时,这种优势体现得更加明显。 MVC即Model-View-Controller的缩写,是一种常用的设计模式。MVC 减弱了业务逻辑接口和数据接口之间的耦合,以及让视图层更富于变化。Struts 是MVC的一种实现,它将 Servlet和 JSP 标记(属于 J2EE 规范)用作实现的一部分。Struts继承了MVC的各项特性,并根据J2EE的特点,做了相应的变化与扩展。 说明:加粗括号内为修改的内容

  编辑本段流程

  服务器启动后,根据web.xml加载ActionServlet读取struts-config.xml文件内容到内存。 以登录为例:第一次进login.jsp会先实例化Form、把默认值(String默认为空字符串,整形默认为0)赋给表单元素。 输入用户名密码提交表单、提交到action属性的login.do,通过ActionServlet读struts-config.xml文件找到 action下的path属性找到.do,通过name属性找form-beans中的form-bean的name属性得到ActionForm的包名类名,先实例化form,把表单的值填充给form,调用form的validate方法验证、ActionErrors返回null表示验证通过。

  学习java技巧4

  学习JavaSE部分的内容,这部分是基础内容。掌握的越扎实,后面的内容学习起来就越容易。

  学习SQL和数据库的内容,这个也是非常基础的内容,举个例子:程序员的面试题中一定会有SQL部分的'考试。

  学习HTML、css、JavaScript的内容。

  学习,JSP、Servlet、JavaBean、标记库、JSTL、MVC、JSPEL等Web编程的部分

  学习Struts或者SpringMVC。二者取其一即可,推荐选Struts

  学习Java与XML,重点掌握使用Java技术对XML文件的解析

  学习JavaEE的核心技术,例如:JNDI、EJB3等,同时还需要学习使用与配置应用服务器,例如:webLogicServer,Websphere,JBoss

  学习Hibernate等持久层的技术

  学习Spring

  学习AJAX

  学习ANT、Subversion等开发工具,熟悉常见的软件开发模型,例如:rup、XP

  学习OOA与OOD,uml,设计模式

  学习WebServices、SOA的原理与应用开发