Java 概述
一 Java 程序的种类
1)Java 小应用程序(Java Applet)
— 在Web浏览器中运行(内嵌Java虚拟机)
—特定标记
<APPLET CODE="HelloWorld.class" WIDTH=150 HEIGHT=25> </APPLET>
例:
package test;
import java.awt.*;
import java.applet.*;
public class MyJava extends Applet {
/**
*
*/
private static final long serialVersionUID = -3219063098121056972L;
public MyJava(){
super();
}
public void paint(Graphics g){
g.drawString("Hello World!", 20, 20);
}
}
输出结果:
2)Java应用程序(Java Application)
—独立的Java程序
—程序入口方法:public static void main(String[] args){...}
Java Scprit
—嵌入在HTML文件中的脚本语言
—特定标记
<script language=javascript>...</script>
—Netscape引入javascript
二 丰富的类库
Java提供了大量的类以满足网络化、多线程、面向对象系统的需要。
1.语言包提供包括字符串处理、多线程处理、例外处理、数学函数处理;
2.实用程序包提供哈希表、堆栈、可变数组、事件和日期;
3.输入输出包用统一的“流”模型来实现所有格式的I/O,包括文件系统、网络、输入;
4.低级网络包用于实现Socket编程;
5.抽象图形用户接口包实现了不同平台的计算机的图形用户接口部件, 包括窗口、菜单、滚动条、对话框等,使得Java可以移植到不同平台的机器;
6.网络包支持Internet的TCP/IP协议,提供了与In-ternet的接口。它支持URL连接,WWW的即时访问,并且简化了用户/服务器模型的程序设计。
三 Java和C、C++
1. 全局变量
Java程序中,不能在所有类之外定义全局变量,只能通过在一个类中定义公用、静态的变量来实现一个全局变量。例如:
ClassGlobalVar{ public static global_var; }
在类GlobalVar中定义变量global_var为public static,使得其它类可以访问和修改该变量。 Java对全局变量进行了更好的封装。而在C和C++中,依赖于不加封装的全局变量常常造成系统的崩溃。
2.Goto
Java不支持C、C++中的goto语句,而是通过例外处理语句try,Catch, final等来代替C、C++中用goto来处理遇到错误时跳转的情况,使程序更可读且更结构化。
3.指针
指针是C、C++中最灵活,也是最容易产生错误的数据类型。由指针所进行的内存地址操作常会造成不可预知的错误,同时通过指针对某个内存地址进行显式类型转换后,可以访问一个C++中的私有成员,从而破坏安全性,造成系统的崩溃。而Java对指针进行完全的控制,程序员不能直接进行任何指针操作,例如把整数转化为指针,或者通过指针释放某一内存地址等。同时,数组作为类在Java 中实现,良好地解决了数组访问越界这一C、C++中不作检查的错误。
4.内存管理
在C中,程序员通过库函数malloc()和free()来分配和释放内存,C++ 中则通过运算符new和delete来分配和释放内存。再次释放已释放的内存块或 未被分配的内存块,会造成系统的崩溃;同样,忘记释放不再使用的内存块也 会逐渐耗尽系统资源。而在Java中,所有的数据结构都是对象,通过运算符new 为它们分配内存堆。通过new得到对象的处理权,而实际分配给对象的内存可能 随程序运行而改变,Java对此自动地进行管理并且进行垃圾收集,有效防止了由 于程序员的误操作而导致的错误,并且更好地利用了系统资源。
5.数据类型的支持
在C、C++中,对于不同的平台,编译器对于简单数据类型如int,float 等分别分配不同长度的字节数,例如:int在IBMPC中为16位,在VAX-11中为 32位,这导致了代码的不可移植性,但在Java中,对于这些数据类型总是分 配固定长度的位数,如对int型,它总占32位,这就保证了Java的平台无关性。
6.类型转换
在C、C++中,可以通过指针进行任意的类型转换,常常带来不安全性, 而Java中,运行时系统对对象的处理要进行类型相容性检查,以防止不安全的 转换。
7.头文件
C、C++中用头文件来声明类的原型以及全局变量、库函数等,在大的系统中,维护这些头文件是很困难的。而Java不支持头文件,类成员的类型和访问权限都封装在一个类中,运行时系统对访问进行控制,防止对私有成员的操作。同时,Java中用import语句来与其它类进行通讯,以便使用它们的方法。
8.结构和联合
C、C++中的结构和联合中所有成员均为公有,这就带来了安全性问题。 Java中不包含结构和联合,所有的内容都封装在类中。
9.预处理
C、C++中用宏定义来实现的代码给程序的可读性带来了困难。在Java中,不支持宏,它通过关键字final来声明一个常量,以实现宏定义中广泛使 用的常量定义。
Java 概述的更多相关文章
- Java概述
Java概述 一.前奏(常见的DOS命令) dir:列出当前目录下的文件以及文件夹 md:创建目录(文件夹) rd:删除目录 cd:进入指定目录 cd..:退出当前目录,返回到上一级目录 cd\:退回 ...
- 1.1 Java概述上
1.1 Java概述 Java是一种编程语言,它提供了一个同时用于程序开发 应用和部署的环境.Java语言主要定位于网络编程,使得程 序可以最大限度地利用网络资源. 1.2 Java语言的特点 1.跨 ...
- 从java的开始,java概述,java配置环境变量
一.java开发入门 java 概述 Java划分为三个技术平台:JavaSE(标准版,含Java基础类库),JavaEE(企业版,技术平台),JavaME(小型版,小型产品.嵌入式设备) Jav ...
- JAVA基础知识(一)—JAVA概述
JAVA概述 1991 年Sun公司的James Gosling(詹姆斯·高斯林)等人开始开发名称为 Oak 的语言,希望用于控制嵌入在有线电视交换盒.PDA等的微处理器: 1994年将Oak语言更名 ...
- D1 java概述
首先扯点别的.在学习知识的过程中非常重要的一点是沟通交流,拿自学java来说绝不是抱着一本Head First Java闷头看.感觉自学入门这一阶段相当于启蒙,绝不能向无头苍蝇一样到处乱撞.java的 ...
- Java概述和项目演示
Java概述和项目演示 1. 软件开发学习方法 多敲 多思考 解决问题 技术文档阅读(中文,英文) 项目文档 多阅读源码 2. 计算机 简称电脑,执行一系列指令的电子设备 3. 硬件组成 输入设备:键 ...
- Java基础(Java概述、环境变量、注释、关键字、标识符、常量)
第1天 Java基础语法 今日内容介绍 u Java开发环境搭建 u HelloWorld案例 u 注释.关键字.标识符 u 数据(数据类型.常量) 第1章 Java开发环境搭建 1.1 Java概述 ...
- 计算机、程序和java概述
1.1 计算机.程序和java概述计算机包括硬件(hardware)软件(software)两部分.硬件包括计算机中看得见的物理部分,软件提供看不见的指令,指令控制硬件并且使得硬件完成特定的任务.一台 ...
- 1.Java概述、安装及环境搭建
1. 前言 1.1 学习方法 1. 学会学习的方法 2. 学会独立解决问题 3. 主动的学习而不是被动的接受 4. 知识的大家的,能力才是自己的 1.2 推荐博客 当代程序员都应该养成写博客.看博客的 ...
- java概述和java环境按照,java开发体验
java概述: Java的发展可以归纳如下的几个阶段. (1)第一阶段(完善期):JDK 1.0 ( 1995年推出)一JDK 1.2 (1998年推出,Java更名为Java 2): (2)第二阶段 ...
随机推荐
- AngularJS Best Practices: SEO
Google can execute AJAX & JavaScript for indexing, you can read the below link for more detailed ...
- JAVA:NIO初步了解
简介: Java NIO(New IO)是一个可以替代标准Java IO API的IO API(从Java 1.4开始),Java NIO提供了与标准IO不同的IO工作方式. Java NIO: Ch ...
- @Autowired获取被@Service注解的bean为null的问题
先说结论:Spring容器还没有加载完Bean,你就去调用了! 一般的注解没加,bean的名字写错都好检查,但是逻辑错误就需要看清自己的思维过程了. 实例:在使用ActiveMq的过程中,第一步对Ac ...
- csuoj 1503: 点到圆弧的距离
http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1503 1503: 点到圆弧的距离 时间限制: 1 Sec 内存限制: 128 MB Speci ...
- this 的工作原理
JavaScript 有一套完全不同于其它语言的对 this 的处理机制. 在五种不同的情况下 ,this 指向的各不相同. 全局范围内 this; 当在全部范围内使用 this,它将会指向全局对象. ...
- VIM 中鼠标选择不选中行号
VIM 中鼠标选择不选中行号 在Vim中,我们一般会使用 :set nu 打开行号开关. 但是打开行号后,有个弊端,那就是在用鼠标进行选择的时候,会将前面的行号也一起进行拷贝了.但是在gVim中进行选 ...
- URL编码与解码
在项目中碰到了ajax传来的参数,后台接收值乱码(如下图)的问题 在此记录一下 前台: 后台: 解决问题 为什么需要编码 怎样编码 实际出现的问题解决方法 1.为什么需要编码? URL 只能使用 AS ...
- The import java.util cannot be resolved The import javax.servlet cannot be resolved
The import java.util cannot be resolved 原因:这是由于你的项目buildpath不对 解决方案:右键项目-------buildpath--------最下面那 ...
- JQuery基础二
1.表单过滤器 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www ...
- 删除已经配置的类库和移除CocoaPods[转]
转自:http://blog.csdn.net/jymn_chen/article/details/19213601 引言 在使用CocoaPods(一)为项目配置第三方类库我们使用CocoaPods ...