学习Java要点

  学习Java要点
  
  SUN公司的JAVA技术平台按其应用环境的不同,分为三个非常著名的版本,他们是J2SE(普通桌面应用程序开发)、J2EE(企业级应用程序开发)、J2ME(移动设备及其他消费类电子产品的应用程序开发),SUN公司给这单个版本分别提供了相应的开发工具包(SDK:SoftWare Development Kits),下载的网址在 http://www.sun.com/downloads
  作为Java初学者,Java基础概念、JavaAPI是其必学科目,也是基础。万丈高楼平地起,基础不好的话,在以后的学习、工作(java开发)中会导致事倍功半的效果。
  Java核心概念:
    1、OOP(Object-Oriented Programming 面向对象设计/面向对象编程)思想
    2、OOP中最中要的思想是类:Class,从类中构造一个对象,即创建了这个类的一个实例
    3、构造器,构造器是一个特使的方法,构造对象并对其初始化
    4、对象,一切事物皆对象
    5、封装:就是把数据和行为结合起在一个包中,并对对象使用者隐藏数据的实现过程,一个对象中的数据叫他的实例字段(instance field)。
    6、继承:通过扩展一个类来获得一个新类叫继承,允许在已经存在的类的基础上构建新的类,当你继承一个已经存在的类时,那么你就复用了这个类的方法和字段,同时你可以在新类中添加新的方法和字段。一个类只能有一个超类,即单继承
    7、重载:当多个方法具有相同的名字而含有不同的参数(根据参数个数、参数类型来判断)时,发生重载。
    8、多态:在java中,对象变量是多态的.而java中不支持多重继承。
    9、抽象:规定一个或多个抽象方法的类本身必须定义为abstract。
    10、接口(Interface):说明类该做什么而不指定如何去做,一个类可以实现一个或多个interface。接口可以继承接口,实现多继承。接口不是一个类,而是对符合接口要求的类的一套规范。
    11、final类:为防止他人从你的类上派生新类,此类是不可扩展的。
    12、内部类:一个内部类的定义是定义在另一个内部的类。
    13、代理类(proxy):指定接口要求所有代码。
    14、数据类型:Java是强调类型的语言,每个变量都必须先申明它都类型,java中总共有8个基本类型.4种是整型,2种是浮点型,一种是字符型,被用于Unicode编码中的字符,布尔型。
  
  关于Java核心概念,《Thingking in Java Fourth Edition》(《Java编程思想第四版》,现中文版已出现)一书中有详细介绍,为初学者必读书刊。
  
  要想理解清楚Java的核心概念、思想,练习是少不了的,作为初学者来说,Java基础类API和Java基础类源码是必不可少的,JavaAPI让你对Java核心类的用途用个初步的了解,对Java源码的练习,则使你对其用途有个深入的认识。初学者必不可少的一步棋。
  
  初学Java,建议不要使用市面上流行的编译器(Eclipse、jcreator等),最好是用EditPlus、记事本等,可很好的锻炼动手能力。
  
  数据库技术,是任何一名开发者必不可少的技术。软件的一大用途就是操作(整理)数据,在开发过程中,不可避免的要与数据库打交道,那么数据库操作技术是必会的。
  
  J2EE,企业级应用用程序开发,在此领域中Java程序员比较多,就业面也比较广(J2SE、J2ME也有很多就业机会)。
  J2EE提供了一个多层次的分布式应用模型和一系列开发技术规范。多层次分布式应用模型是指根据功能把应用逻辑分成多个层次,每个层次支持相应的服务器和组件,组件在分布式服务器的组件容器中运行(如Servlet组件在Servlet容器上运行,EJB组件在EJB容器上运行),容器间通过相关的协议进行通讯,实现组件间的相互调用。遵从这个规范的开发者将得到行业的广泛支持,使企业级应用的开发变得简单、快速。
    J2EE规范定义了如下组件:
      客户端组件
      Web组件
      EJB组件
    J2EE规范定义了以下四个层次:
      1.客户端层(Client Tier)
       客户端层用来实现企业级应用系统的操作界面和显示层。另外,某些客户端程序也可实现业务逻辑。可分为基于Web的和非基于Web的客户端两种情况。基于Web的情况下主要作为企业Web服务器的浏览器。非基于Web的客户层则是独立的应用程序,可以完成瘦客户机无法完成的任务。
      2.Web层
       为企业提供Web服务。包括企业信息发布等。Web层由Web组件组成。J2EE Web组件包括JSP页面和Servlets。Web层也可以包括一些JavaBeans。Web层主要用来处理客户请求,调用相应的逻辑块,并把结果以动态网页的形式返回到客户端。
      3.业务层(Business Tier)
       业务层也叫EJB层或应用层,它由EJB服务器和EJB组件组成。一般情况下许多开发商把Web服务器和EJB服务器产品结合在一起发布,称为应用服务器。EJB层用来实现企业级信息系统的业务逻辑。这是企业级应用的核心,由运行在业务层中的EJB来处理。一个Bean从客户端接收数据、处理,然后把数据送到企业信息系统层存储起来。同样,一个Bean也可以从企业信息系统取出数据,发送到客户端程序。业务层中的EJB要运行在容器中,容器解决了底层的问题,如事务处理、生命周期、状态管理、多线程安全管理、资源池等。
      4.企业信息系统层(Enterprise Information System tier)
       处理企业系统软件,包括企业基础系统、数据库系统及其他遗留的系统。J2EE将来的版本支持连接架构(Connector Architecture)。它是连接J2EE平台和企业信息系统层的标准API。业务层和Web层共同组成了三层J2EE应用的中间层,其他两层是客户端层和存储层或企业信息系统层。
    J2EE的分布应用技术:
     为实现企业级分布式应用,J2EE定义了丰富的技术标准,符合这些标准的开发工具和API为开发企业级应用提供支持。这些技术涵盖数据库访问、分布式通信、安全等。为分布式应用提供支持的多方面。
      (1)组件技术:J2EE的核心思想是基于组件/容器的应用。每个组件提供了方法、属性、事件的接口。组件可以由多种语言开发。组件是可以重用的、共享的、分布的。
      (2)Servlets和JSP:Servlets用来生成动态页面或接收用户请求产生相应操作(调用EJB)。JSP基于文本。通过容器产生相应的Servlets,使内容和显示分开。J2EE中提供了Servlet API,用于创建Servlets。
      (3)EJB技术:EJB规范提供了一种开发和部署服务器端组件的方法。每个EJB是按功能逻辑划分的,开发时不必关注系统底层细节问题,只关注具体的事务分析。EJB开发完毕后,按规范部署在EJB容器,完成相应的事务功能。EJB支持分布式计算。真正体现了企业级的应用。
      (4)数据库访问:无论是传统的企业信息系统还是将来的企业信息系统,数据库都占有重要的地位。开发分布式系统要求数据库访问具有良好的灵活性和扩展性。JDBC(JavaDatabase Connectivity)是一个独立于特定的数据库管理系统的开发接口。它提供一个通用的访问SQL数据库和存储结构的机制,支持基本SQL功能的一个通用底层的应用程序编程接口。它在不同的数据库界面上提供了一个统一的用户界面。提供了多种多样的数据库连接方式。J2EE中提供了JDBC API使多种数据库操作简单、可行。
      (5)分布式通信技术:分布式通信技术是分布式企业系统的核心技术。J2EE框架为Web应用和EJB应用提供多种通信模式。为了使运行于某一机器上的对象调用另一台机器的对象,J2EE实现了如下通信方式:
        Java RMI(Remote Method Invoke):远程方法调用。Java RMI实现Java对象间的远程通信。服务器用注册器把一个名字和远程对象绑在一起,客户机通过名字从服务器注册器上查找远程对象,找到后下载远程对象的本地代理,调用远程对象的方法。
        Java IDL(Java Interface Defilation Language):接口定义语言。可以实现Java对象的符合CORBA规范的远程对象通信。
        JNDI(Java Naming and Directory Interface):Java命名和目录接口。JNDI为分布式系统访问远程对象提供了一个标准的命名接口。EJB主接口对象、数据源、消息服务器等都可以用JDNI树的形式注册到名称服务器中,调用它们的对象通过符合JDNI的程序接口在JNDI名称服务器中查找指定名称的远程对象。
        JMS(Java Message Service):Java消息服务。为开发消息中间件应用程序定义了一套规范。Java客户端和Java中间层访问消息系统只要实现JMS定义的简单的接口,就可以实现复杂的应用,而不必去关注低级的技术细节。
   
  J2EE的主流框架:Struts、Hibernate、Spring
    Struts框架:Struts是采用Java Servlet/JavaServer Pages技术,开发Web应用程序的开放源码的framework。采用Struts能开发出基于MVC(Model-View-Controller)设计模式的应用构架。
    Hibernate框架:Hibernate是一个开放源代码的对象关系映射框架,它对 JDBC 进行了轻量级的对象封装,使 Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。它不仅提供了从 Java 类到数据表之间的映射,也提供了数据查询和恢复机制。相对于使用 JDBC 和 SQL 来手工操作数据库,Hibernate 可以大大减少操作数据库的工作量。 另外 Hibernate 可以利用代理模式来简化载入类的过程,这将大大减少利用 Hibernate QL 从数据库提取数据的代码的编写量,从而节约开发时间和开发成本 Hibernate 可以和多种Web 服务器或者应用服务器良好集成,如今已经支持几乎所有的流行的数据库服务器。其本质是一个提供数据库服务的中间件
    Spring框架:Spring 是一个开源框架,是为了解决企业应用程序开发复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。其核心概念:IOC(控制反转模式,也称作依赖性介入)和AOP(面向方面的编程)。
  
  学会以上文中提到的所有技术或部分技术,完全可以成为一个Java开发工程师(初级)。但coding的日子并不长,也就是三、四年的时间,再长的话会感到厌倦,这时,有人会往管理层转,也有人会继续深入研究技术,也有人会转行。转行这条路姑且不说他,说说其他两条选择。
  
  进入管理层,大多数人是作为一名项目经理继续存在这个行业,这时,对个人的能力要求高了很多。项目经理多是从工程角度上考虑软件,个人而言要具备以下能力:
    1、技术层
      a、模式(模型),常用的有工厂模式、单例模式、命令模式、策略模式、MVC模型等(Java常用的36的模式: http://www.javawind.net/5b016f381b17faee011b18362bcd000a.jhtml)
      b、设计原则,开闭原则、依赖倒置原则等。
      c、数据库高级编程技术及核心概念的理解
    2、管理层
      a、规划管理项目
      b、了解企业、业务
      c、沟通、协调合作、跳动成员积极性
      d、注重结果
      e、形象
  深入研究技术,大多数人不满足简简单单的棉麻工作,要知道具体的实现机制,个人而言需要具备以下能力
    1、数据结构、数据算法(数学类知识),计算机科学技术是数学科学的一个分支,没有比较好的数学基础,没有可能在计算机领域有所成就,慎重!
    2、计算机底层知识(计算机原理、操作系统原理等)
   
  
  无论往哪个方向发展,一些能力是必须具备的,因本人刚刚参加工作,能力有限,难免有疏漏之处,敬请大家指正!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值