Java 概述

什么是Java?

JavaSun Microsystems1995年首次发布的一种编程语言和计算平台。编程语言还比较好理 解,那么什么是计算平台呢?

计算平台是在电脑中运行应用程序(软件)的环境,包括硬件环境软件环境。一般系统平台 包括一台电脑的硬件体系结构、操作系统、运行时库。

 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)是一种软件开发思想。它是对现实世界的一种抽象, 面向对象会把相关的数据和方法组织为一个整体来看待。

相对的另外一种开发思想就是面向过程的开发思想,什么面向过程?面向过程(Procedure Oriented)是一种以过程为中心的编程思想。举个例子:比如你是个学生,你每天去上学需要做几件 事情?

起床、穿衣服、洗脸刷牙,吃饭,去学校。一般是顺序性的完成一系列动作。

class student {
 void student_wakeUp(){...}
 void student_cloth(){...}
 void student_wash(){...}
 void student_eating(){...}
 void student_gotoSchool(){...}
}

而面向对象可以把学生进行抽象,所以这个例子就会变为

class student(){
void wakeUp(){...}
void cloth(){...}
void wash(){...}
void eating(){...}
void gotoSchool(){...}
  • 可以不用严格按照顺序来执行每个动作。这是特点一
  • Java摒弃了 C++中难以理解的多继承、指针、内存管理等概念;不用手动管理对象的生命周期, 这是特征二
  • Java语言具有功能强大和简单易用两个特征,现在企业级开发,快速敏捷开发,尤其是各种框架 的出现,使Java成为越来越火的一门语言。这是特点三
  • Java是一门静态语言

静态语言指的就是在编译期间就能够知道数据类型的语言,在运行前就能 够检查类型的正确性,一旦类型确定后就不能再更改,比如下面这个例子

1public void foo() {
2int x = 5;
3boolean b = x;
4}

静态语言主要有 Pascal, Perl, C/C++, JAVA, C#, Scala 等。

相对应的,动态语言没有任何特定的情况需要指定变量的类型,在运行时确定的数据类型。比如有Lisp, Perl, PythonRubyJavaScript 等。

从设计的角度上来说,所有的语言都是设计用来把人类可读的代码转换为机器指令。动态语言是为了能 够让程序员提高编码效率,因此你可以使用更少的代码来实现功能。静态语言设计是用来让硬件执行的 更高效,因此需要程序员编写准确无误的代码,以此来让你的代码尽快的执行。从这个角度来说,静态 语言的执行效率要比动态语言高,速度更快。这是特点四

Java具有平台独立性和可移植性

Java有一句非常著名的口号:Write once, run anywhere,也就是一次编写、到处运行。为什么 Java能够吹出这种牛批的口号来?核心就是JVM。我们知道,计算机应用程序和硬件之间会屏蔽很多 细节,它们之间依靠操作系统完成调度和协调,大致的体系结构如下

那么加上Java应用、JVM的体系结构会变为如下

Java是跨平台的,已编译的Java程序可以在任何带有JVM的平台上运行。你可以在Windows平台 下编写代码,然后拿到Linux平台下运行,该如何实现呢?

首先你需要在应用中编写Java代码;

Eclipse或者javacJava代码编译为.class文件;

然后把你的.class文件打成.jar文件;

然后你的.jar文件就能够在Windows Mac OS XLinux系统下运行了。不同的操作系统有不同的 JVM实现,切换平台时,不需要再次编译你的Java代码了。这是特点五

Java能够容易实现多线程

Java是一门高级语言,高级语言会对用户屏蔽很多底层实现细节。比如Java是如何实现多线程的。从 操作系统的角度来说,实现多线程的方式主要有下面这几种

在用户空间中实现多线程

在内核空间中实现多线程

在用户和内核空间中混合实现线程

而我认为Java应该是在用户空间实现的多线程,内核是感知不到Java存在多线程机制的。这是特点六

  • Java具有高性能

我们编写的代码,经过javac编译器编译称为 字节码(bytecode),经过JVM内嵌的解释器将字节码 转换为机器代码,这是解释执行,这种转换过程效率较低。但是部分JVM的实现比如Hotspot JVM 都提供了 JIT(Just-In-Time)编译器,也就是通常所说的动态编译器,JIT能够在运行时将热点代 码编译机器码,这种方式运行效率比较高,这是编译执行。所以Java不仅仅只是一种解释执行的语 言。这是特点七

  • Java语言具有健壮性

Java的强类型机制、异常处理、垃圾的自动收集等是Java程序健壮性的重要保证。这也是Java与C 语言的重要区别。这是特点八

  • Java很容易开发分布式项目

Java语言支持Internet应用的开发,Java中有net api,它提供了用于网络应用编程的类库,包括 URL、URLConnection、Socket、ServerSocket等。Java的RMI (远程方法激活)机制也是开发分布 式应用的重要手段。这是特点九

 

Java开发环境

JDK

JDK (Java Development Kit)称为Java开发包或Java开发工具,是一个编写JavaApplet 小程序和应用程序的程序开发环境。JDK是整个Java的核心,包括了 Java运行环境(Java Runtime Environment),—些 Java 工具Java 的核心类库(Java API)

 我们可以认真研究一下这张图,它几乎包括了 Java中所有的概念,我使用的是jdk1.8,可以点进去 Description of Java Conceptual Diagram ,可以发现这里面包括了所有关于Java的描述

Oracle提供了两种Java平台的实现,一种是我们上面说的JDK, Java开发标准工具包,一种是 JRE,叫做Java Runtime Environment, Java运行时环境。JDK的功能要比JRE全很多。

JRE

JRE是个运行环境,JDK是个开发环境。因此写Java程序的时候需要JDK,而运行Java程序的时候 就需要JRE。而JDK里面已经包含了JRE,因此只要安装了JDK,就可以编辑Java程序,也可以正常 运行Java程序。但由于JDK包含了许多与运行无关的内容,占用的空间较大,因此运行普通的Java 程序无须安装JDK,而只需要安装JRE即可。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值