什么是Java?
Java 是 Sun Microsystems 于1995 年首次发布的一种 编程语言 和计算平台。编程语言还比较好理解,那么什么是 计算平台 呢?
Java 是快速,安全和可靠的。 从笔记本电脑到数据中心,从游戏机到科学超级计算机,从手机到互联网,Java 无处不在! Java 主要分为三个版本
JavaSE(J2SE)(Java2 Platform Standard Edition,java平台标准版)
JavaEE(J2EE)(Java 2 Platform,Enterprise Edition,java平台企业版
JavaME(J2ME)(Java 2 Platform Micro Edition,java平台微型版)。
Java 的特点
Java 是一门 面向对象 的编程语言
什么是面向对象? 面向对象(Object Oriented) 是一种软件开发思想。它是对现实世界的一种抽象,面向对象会把相关的数据和方法组织为一个整体来看待。
相对的另外一种开发思想就是面向过程的开发思想,什么面向过程? 面向过程(Procedure0riented)是一种以过程为中心的编程思想。举个例子:比如你是个学生,你每天去上学需要做几件事情?
起床、穿衣服、洗脸刷牙,吃饭,去学校。一般是顺序性的完成一系列动作。
可以不用严格按照顺序来执行每个动作。这是特点一。
Java 摒弃了 C++ 中难以理解的多继承、指针、内存管理等概念,不用手动管理对象的生命周期.这是特征二。
Java 语言具有功能强大和简单易用两个特征,现在企业级开发,快速敏捷开发,尤其是各种框架的出现,使 Java 成为越来越火的一门语言。这是特点三。
Java 是一门静态语言,静态语言指的就是在编译期间就能够知道数据类型的语言,在运行前就能够检查类型的正确性,一旦类型确定后就不能再更改。
Java 的特点
Java 是一门门 面向对象 的编程语言
什么是面向对象? 面向对象(Object oriented) 是一种软件开发思想。它是对现实世界的一种抽象面向对象会把相关的数据和方法组织为一个整体来看待。
相对的另外一种开发思想就是面向过程的开发思想,什么面向过程? 面向过程(Procedure0riented) 是一种以过程为中心的编程思想。举个例子: 比如你是个学生,你每天去上学需要做几件事情?
静态语言主要有 Pascal,Perl, C/C++,JAVA,C#,Scala 等。相对应的,动态语言没有任何特定的情况需要指定变量的类型,在运行时确定的数据类型。比如有Lisp,Perl, Python、Ruby、JavaScript 等。
从设计的角度上来说,所有的语言都是设计用来把人类可读的代码转换为机器指令。动态语言是为了能够让程序员提高编码效率,因此你可以使用更少的代码来实现功能。静态语言设计是用来让硬件执行的更高效,因此需要程序员编写准确无误的代码,以此来让你的代码尽快的执行。从这个角度来说,静态语言的执行效率要比动态语言高,速度更快。这是特点四。
Java 具有平台独立性和可移植性
Java 有一句非常著名的口号: Write once,run anywhere ,也就是一次编写、到处运行。为什么Java 能够吹出这种牛批的口号来? 核心就是 JVM 。我们知道,计算机应用程序和硬件之间会屏蔽很多细节,它们之间依靠操作系统完成调度和协调
Java 是跨平台的,已编译的Java程序可以在任何带有JVM 的平台上运行。你可以在 Windows 平台下编写代码,然后拿到 Linux 平台下运行,该如何实现呢?
首先你需要在应用中编写Java代码
用Eclipse 或者 javac 把Java代码编译为cLass 文件;
然后把你的.class 文件打成jar 文件;
然后你的 .jar 文件就能够在 Windows、Mac OS XLinux 系统下运行了不同的操作系统有不同的JVM 实现,切换平台时,不需要再次编译你的Java 代码了。这是特点五
Java能够容易实现多线程
Java 是一门高级语言,高级语言会对用户屏蔽很多底层实现细节。比如 Java 是如何实现多线程的。从操作系统的角度来说,实现多线程的方式主要有下面这几种
在用户空间中实现多线程
在内核空间中实现多线程
在用户和内核空间中混合实现线程
而我认为 Java 应该是在用户空间 实现的多线程,内核是感知不到 Java 存在多线程机制的。这是特点六。