欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

java简介,

来源: javaer 分享于  点击 8425 次 点评:78

java简介,


1、历史

1995年 SUN公司  家电消费类产品 解决语言的跨平台问题

Oak——java 


2、分类

JavaME(J2ME):java的微缩版,用于小型的数字设备应用程序开发,如手机PDA。

JavaSE(J2SE):java的标准版(即我们平常理解的java),也是其他版的基础,用于桌面应用程序的开发,包含构成Java的核心类,如面向对象,数据库连接。

javaEE(J2EE):java的企业版,用于开发多层结构,分布式,Web形式的企业级应用程序,定义了一系列企业开发,如EJB,JSP。


3、特点

面向对象:类、对象、继承、封装、多态、接口、包。

平台无关:“一次编写,到处运行”,Java虚拟机制保证了这一点。

简单性:加入了垃圾回收机制,摒弃了C++的指针。

解释执行:.java——.class——搭建过Java环境的操作系统上运行。

多线程:多线程同时执行,内设同步机制。

分布式:支持Internet一应用开发,基本应用编程接口中有网络应用编程接口,还有RIM机制。

健壮性:强类型机制,异常处理,垃圾回收。

高性能:Java的运行速度会越来越高。

安全性:Java提供一个安全机制,防止恶意代码的攻击。


4、工作原理

a、Java虚拟机(java virtual Machine ,JVM):

实现Java平台无关,它是软件模拟出来的计算机,可以在任何处理器上安全兼容的执行保存在.class文件中的字节码,有自己完善的硬件架构,(像处理器、堆栈、寄存器、还有相应的指令系统)。位置下:


                                             用户

                                         字节码程序

                                               JVM

                                          操作系统

                                              硬件


.java文件的执行过程:.java——.class——JVM——机器语言——操作系统

.java——.class:Java编译器实现,编译器不会管程序执行过程中的内存布局,他将所有的引用信息保存在.class文件中。

.class——JVM——机器语言:JVM解释器实现,创建内存布局,再查表获取方法所在的地址,保证java的可移植性和安全性。

class——JVM——机器语言:过程细分

            .class——类加载器——字节码校验器——解释器/代码生成器——执行

类加载器:将.class文件加载到JVM中,检验类文件是否符合类文件的规范

字节码校验器:检查类文件中是否存在某些非法操作

解释器:将类文件解释为机器码执行

“沙箱”运行模式:java程序的代码及数据都被限制在一定的内存空间内,不允许程序访问内存空间以外的内存


b、垃圾回收机制:

java运行环境中始终有一个系统级线程,跟踪内存使用情况,自动将不再使用内存回收(先加入回收列表)。


c、安全性:

通过Applet程序控制非法程序的安全性。


5、运行环境

JDK(java Development Kit):Java运行环境(java Runtime Environment)、java工具、java基础类库

bin:jdk工具程序,包括如下工具:

[

javac.exe:java编译器

java.exe:Java解释器

javap.exe:Java反汇编

jar.exe

jdb.exe

javadoc.exe:文档生成器

appletviewer.exe

javah.exe

jconsole.exe

]

demo:范例

include:本地方法文件

jre:运行环境文件

src.zip:API源码压缩文件


6、java程序的特点

a、基本格式:

修饰符 class 类名{

    代码段

}

b、注释

package debug;
public class First {
	public static void main(String[] args) {
		for(int i=0;i<10;i++) {
			System.out.println(i);
		}
		}	
	//单行注释 哈哈哈哈
	
	/*多行
	  System.out.println();
	 注释*/
	
	/**
	 * 文档注释,用于写作者信息,版本信息,文档作用等
	 */
}

c、标志符

标识符:定义变量,常量,类名等

标识符首字母:字母,下滑线_,美元符号,¥人民币符号

package debug;
public class First {
	public static void main(String[] args) {
		
		int _¥a$A=56;//标识符首字母
		int _0Aa$¥=100;//标识符构成,长度没有限制,区分大小写,
		//类名:首字母必大写,后每个单词小写
		//方法名、属性名、变量名、对像名:首字母消息,其后每个单词首字母大写
		//关键字、包名:全小写
		//常量:全大写
		
		for(int i=0;i<10;i++) {
			System.out.println(_¥a$A);
		}
		}	
	
	
	//单行注释 哈哈哈哈
	
	/*多行
	  System.out.println();
	 注释*/
	
	/**
	 * 文档注释,用于写作者信息,版本信息,文档作用等
	 */
}

d、语句,函数,类,块

package debug;
public class First {//类:class,对象的模板,对象是模板的一个实例
	static int fun1(int a,int b) {//函数:修饰符 返回值 函数名(参数类型1 参数名1,参数类型2  参数名2,)
		return a+b;
	}
	public static void main(String[] args) {//块:成对的{}中的内容
		
		int _¥a$A=56;//语句:以";"号结尾
		int _0Aa$¥=100;
		for(int i=0;i<10;i++) {
			System.out.println(_¥a$A);
			System.out.println(fun1(i,i+1));//调用函数
		}
		}	
}

e、main()方法

package debug;
public class First {

	public static void main(String[] args) {
		//固定的格式,返回值是void
		//Java虚拟机执行时,首先执行这个类的main()方法,通过   类名.main()  方式调用,因此必须是public static
		//参数必须是String[] 至于名字倒是没有什么要求
		}	
}


7、java程序分类

Java Application(应用程序):

浏览器无关

独立运行

必有main()


java Applet(小程序):

浏览器有关

不能独立运行

无main()

8、java中的编码方式

"Java中"到底指的哪里????

指在内存中,在我们写的代码中申明的char string类型的变量中。

package debug;
public class First {
	public static void main(String[] args) {
		char _a$¥A1='永';
		char a=0x6c38;//Java中(JVM中) 使用Unicode编码   具体是在内存中,在我们写的代码中申明的char string类型的变量中。
		//JVM内部 和 文件系统中使用的编码不一样,
		//面向字符的I/O操作会隐式的做出编码转换,Writer和Reader只能使用隐式转换,不能指定编码方式
		//这种隐式转换仅限于文件采用GBK编码到Unicode的转换
		//若文件采用其他的编码方式,则要进行字符到字节的转换,使用InputStreamReader OutputStreamWriter
		System.out.format("%x",(short)_a$¥A1);
		System.out.println(a);
		}	
}



相关文章

    暂无相关文章
相关栏目:

用户点评