hello,java

目的:整理Java小知识

一、技术名词

1)JDBC

JDBC(Java DataBase Connectivity数据库连接)提供连接各种关系数据库的统一接口,可以为多种关系数据库提供统一访问,它由一组用java语言编写的类和接口组成。JDBC为数据库开发人员提供了一个标准的API(应用程序接口),使数据库开发人员能够用纯Java API编写数据库应用程序。

2)EJB

EJB(Enterprise JavaBeans) 一个为设立程序组件的体系结构,使得程序员可以方便地创建、部署和管理跨平台的基于组件的企业应用。

3)Java RMI

Java RMI(Java Remote Method Invocation远程方法调用)用来开发分布式Java应用程序。一个Java对象的方法能被远程Java虚拟机调用,这样可以在对等的两端激活远程方法,这也可以发生在客户端和服务器之间,只要双方的应用程序都是用Java编写的。

4)Java IDL

Java IDL(Java Interface Definition Language接口定义语言)提供了与CORBA(Common Object Request Broker Architecture)的无缝互操作性,这使得Java能集成异构的商务信息资源。

5)JNDI

JNDI(Java Naming and Directory Interface命名和目录接口)提供了从Java平台到应用程序的统一无缝连接,这个接口屏蔽了企业网络所使用的各种命名和目录服务。

6)JMAPI

JMAPI(Java Management API)Java management application programming interface, Java 网络管理应用程序设计接口,为异构网络上系统、网络和服务管理的开发提供一整套丰富的对象和方法。

7)JMS

JMS(Java Message Service消息服务)提供了企业消息服务,例如,可靠的消息队列、发布和订阅通信,以及有关推位技术的各个方面。

8)JTS

JTS(Java Transaction Service事务服务)提供了存取事务处理资源的开放标准,这些事务处理资源包括事务处理应用程序和事务处理管理及监控等。

9)JavaBeans

在Java技术中,除了上面的内容,还需要特别关注JavaBeans技术,它是一个开放的、标准的组件体系结构,它虽然独立于平台,但是,使用Java语言开发。

二、面向对象是什么

在目前的软件开发领域有两种主流的开发方法,分别是结构化开发方法和面向对象开发方法。早期的编程语言如C、Basic、Pascal等都是结构化编程语言,随着软件开发技术的逐渐发展,人们发现面向对象可以提供更好的可重用性、可扩展性和可维护性,于是催生了大量的面向对象编程语言,如C++、Java、C#和Ruby等。

面向对象程序设计即OOP(Object-Oriented Programming),面向对象编程技术一种起源于20世纪60年代的Simula语言,其自身理论已经十分完善,并被多种面向对象程序设计语言(OOPL)实现。由于很多原因,国内大部分程序设计人员并没有很深的OOP及OOPL理论,很多人从一开始学习到工作很多年都只是接触到C/C++、Java等静态类型语言,而对纯粹的OOP思想以及动态类型语言知之甚少。

对象的产生通常基于两种基本方式,分别是以原型对象为基础产生新对象和以类为基础产生新对象。

1)基于原型

原型模型是以一个有代表性的对象为基础来产生各种新的对象,并由此继续产生更符合实际应用的对象。而原型-委托也是OOP中的对象抽象,是代码共享机制中的一种。

2)基于类

一个类提供了一个或多个对象的通用性描叙。从形式化的观点看,类与类型有关,因此,一个类相当于是从该类中产生的实例的集合。

三、UML统一建模语言

在进行对象建模、面向对象分析和设计的过程中,需要使用建模语言来描述分析的过程结果。统一建模语言UML(Unified Modeling Langunianling)是为了实现上述目标而设计的一种标准通用的设计语言。

UML为我们提供了多种类型的模型描述图,当在某种给定的方法学中使用这些图时,人们就能更容易理解和交流设计思想。UML图可以分为如下3种类型:

(1)静态图(Static Diagram)

描述不发生任何变化的软件元素的逻辑结构,描绘类、对象和数据结构及其存在于他们之间的关系。

(2)动态图(Dynamic Diagram)

展示软件实体在运行期间的变化,主要描绘了执行过程、实体改变状态的方式。

(3)物理图(Physical Diagram)

显示软件实体不变化的物理结构,主要描绘库文件、字节文件和数据文件等,以及存在于他们之间的相互关系。

四、技术解惑

(1)Java是一种纯粹的面向对象程序设计方式

万物皆为对象:将对象视为奇特的变量,它可以存储数据,除此之外,你还可以要求它在自身上执行操作。

程序是对象的集合:他们通过发送消息来告知彼此所要做的,要想请求一个对象,就必须对该对象发送一条消息,也就是说,可以把消息想象为对某个特定对象的方法的调用请求。

每个对象都有自己的由其他对象所构成的存储:换句话说,可以通过创建包含现有对象的包的方式来创建新类型的对象,因此,可以在程序中构建复杂的体系,同时将其复杂性隐藏在对象的简单性背后。

每个对象都有其类型:在Java程序中,需要将每个对象都表示成某个类的一个实例,这里类就是类型的同义词,每个类区别其他类的特性就是“可以发送什么样的消息给它”

某一个特定类型的所有对象都可以接收同样的消息:例如“圆形”类型的对象同时“几何形”类型的对象,所以,一个“圆形”对象必定能够接收发送给“几何形”对象的消息。这意味着可以编写与“几何形”交互并自动处理所有与几何性质相关的事物的代码(即可替代性)。

(2)三条建议

第一,学的要深入,基础要扎实

第二,恒心,演练

第三,要做到举一反三,加深知识的理解

(3)理解Java的垃圾回收机制

在C++中,对象所占的内存在程序结束运行之前一直被占用,在明确释放之前不能分配给其他对象;而在Java中,当没有对象引用指向原先分配给某个对象的内存时,该内存就成为垃圾,JVN的一个系统级线程会自动释放该内存块,垃圾收集意味着程序不再需要的对象是“无用信息”,这些信息将被丢弃。

当一个对象不在引用时,内存回收它占领的空间,以便空间被后来的新对象使用。事实上,除了释放没用的对象,垃圾收集也可以清楚内存记录碎片,由于创建对象和垃圾收集器释放丢弃对象所占的内存空间,因此,内存会出现碎片。碎片是分配给对象的内存块之间的空闲内存洞。碎片整理将所占用的堆内存移到堆的另一端,JVN将整理出的内存分配给新的对象。

垃圾收集能自动释放内存空间,减轻编程的负担,提高编程的效率,还能保护程序的完整性,这是Java虚拟机的一大优点,但是,潜在的一个缺点是它的开销影响程序的性能。Java虚拟机必须追踪运行程序中有用的对象,而且最终释放没用的对象,这一过程需要花费处理器的时间,另外,垃圾收集算法的不完备性,使得早先采用的某些垃圾收集算法不能保证100%收集到所有的废气内存。

五、搭建开发平台

以上体验java程序过程中,你会发现这样编写、编译、运行程序的过程非常繁琐,为了提高开发效率,我们可以使用第三方工具——Eclipse,那是一个开放源代码的软件开发工具,是一个开放源代码的、基于java的可扩展开放平台。就其本身而言,Eclipse只是一个框架和一组服务,能够通过插件和组件来构建开发环境。它还是一个著名、受欢迎的跨平台的的集成开发环境(IDE)。

下载——新建项目——添加代码(TODO)——运行——查看结果

除此之外,还有官方推出的工具——Netbeans,一个全功能的开放源码的Java IDE,可以帮助开发人员编写、编译、调试和部署java应用,并将版本控制和XML编辑融入其众多功能之中。

下载——新建项目——添加代码(TODO)——运行——查看结果

六、多留点心

1)系统文件的扩展名

很多初学者在保存一个java文件时经常保存成形如“*.java.txt”格式的文件名,因为这种格式文件名表现看起来太像是“*.java”了,所以经常会引发错误。要想解决这个粗心的问题,我们可以修改Windows的默认设置,因为Windows系统的默认设置是“隐藏已知文件类型的扩展名”,所以我们只需将此设置选项取消勾选即可。

2)main()方法

如果需要用java解释器直接运行一个java类,则这个类必须包含main()方法,在java中必须使用public和static(位置可换)来修饰main(),并且必须使用void来声明该方法的返回值,而且该方法的形参只能是一个字符串数组,而不能是其他形式的参数。

3)注意大小写和空格问题

在CLASSPATH环境变量中包含的路径含有空格,可能会引发错误,所以建议在安装JDK和Java的相关程序/工具时,不要安装在包含空格的路径中,否则引起错误,例如不要选择默认的路劲“Program Files”.

4)初学者用什么工具好

在初期时尽量不要用IDE工具(Eclipse、Jbuide、Netbeans等,还有IBM提供的WSAD,JetBrains提供的IntelliJ IDEA,Oracle提供的JDeveloper等),如果从工具学起,势必造成对工具的依赖,当换用其他的工具时会变成及其困难,而如果从JAVA语言本身学起,把java语法和基本应用熟记于心,到那时再使用IDE工具才会得心应手。就算要有工具,则建议纯粹将他作为一款编辑器来使用,将所有代码靠自己一个个字符敲打并输入来完成,而不是靠里面的帮助文档和操作菜单来完成编码工作。如果嫌Windows下记事本的颜色单调,可以选择使用EditPlus或UltraEdit来编辑。

5)区分JRE和JDK

JRE:表示java运行时环境,全称是Java Runtime Environment,是运行Java程序的必须条件。

JDK:表示Java标准版开发包,全称是Java SE Development Kit,是sun提供的一套用于开发Java应用程序的开发包,它提供了编译、运行Java程序所需的各种工具和资源,包括Java编译器、Java运行时环境,以及常用的Java类库等。

一般来说,如果我们只是要运行Java程序,可以只安装JRE,但如果要开发Java程序,则应该安装JDK,安装JDK后就包含了JRE.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值