关于Java

关于Java

Java既是编程语言又是平台。

Java编程语言

Java编程语言是一种高级语言,具有以下的几种特性:

  • 简单(相对于C/C++这类语言)
  • 面向对象(而且是纯面向对象)
  • 跨平台(只要该平台有JRE就可以运行Java程序)
  • 分布式(Java的RMI机制是目前分布式技术中最成熟的)
  • 高性能(Java是编译解释混合的语言,比Python,Javascript这类解释型语言效率高很多,当然性能上不如C/C++这类编译型的语言)
  • 多线程(Java内置多线程功能)
  • 动态的(Java提供了反射机制)
  • 安全的(舍弃C/C++的指针,使用垃圾回收机制,强制类型转换机制,异常处理机制,安全性检查等机制)

Java跨平台原理

在Java编程语言中,所有源代码用以.java扩展名结尾的纯文本文件编写。然后用javac(Java Compiler)将源文件编译成.class结尾的字节码文件。字节码文件中不包含与CPU相关的具体指令,而是JVM(Java Virtual Machine)使用的指令。运行时,使用java启动工具将java程序运行在JVM上。JVM负责将.class字节码文件解释成CPU能认识的机器语言。

java程序的开发过程

因为JVM可以运行在许多不同的操作系统上,所以相同的.class文件能够在诸如Windows,Solaris OS,Linux,Mac OS等多种操作系统上运行。某些虚拟机(如Java HotSpot)还会在运行时通过执行附加操作(如将使用频率较高的代码段翻译成本地及其代码),来提升Java应用程序的性能。

Java程序跨平台原理

Java平台

平台指的是程序运行的硬件或软件环境。比如常见的Windows,Linux,MacOS操作系统。大多数情况下平台指的是操作系统和底层硬件的组合。而Java平台与这些平台的不同之处在于,Java平台只是一个软件平台。

Java平台有两部分组成:

  1. JVM(Java虚拟机)
  2. Java API(应用程序接口)

JVM前面也提到了,它是Java平台的基础,并且被移植到了各种硬件平台。

API是一些现成的软件组件,提供了许多有用的功能。这些功能以类和接口的形式按功能类别封装到各个库中,这个库也就是package(包)。

JVM和API将Java程序与底层硬件隔离

作为一个独立的平台环境,Java平台可能比本地机器代码慢一些。但是随着Java编译器和Java虚拟机技术的不断发展,Java程序的性能能够接近本地机器代码的性能,并且不会影响到Java程序的可移植性。

Java能够做什么

Java是一个强大的软件平台,Java API文档中提供了一张整体架构图大致概括了Java平台的所有功能。

Java平台

常用Java工具

这些工具在JDK主目录下的bin目录下。

  • 基本工具(appletviewer,extcheck,jar,java,javac,javadoc,javah,javap,jdb,jdeps)
  • 安全工具(keytool,jarsigner,policytool,kinit,klist,ktab)
  • 国际化工具(native2ascii)
  • 远程方法调用(RMI)工具(rmic,rmiregistry,rmid,serialver)
  • Java IDL和RMI-IIOP工具(tnameserv,idlj,orbd,servertool)
  • Java部署工具(javapackager,pack200,unpack200)
  • Java Web Start Tools(javaws)
  • Java疑难解答,分析,监控和管理工具(jcmd,jconsole,jmc,jvisualvm)
  • Java Web服务工具(schemagen,wsgen,wsimport,xjc)

Java工具集

其中常用的工具有:

  1. javac(Java Compiler):Java的编译器
  2. java:Java应用的启动程序
  3. javadoc(Java Document):Java API文档生成器
  4. javah(Java Header):JNI开发时用于生成C语言头文件
  5. jdb(Java Debug):Java调试器
  6. jar(Java Archive):Java类库打包工具
  7. native2ascii(Native to ASCII):国际化转码工具,将本地编码字符使用Unicode字符集转码成\uXXXX表示形式
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值