Java特性

本贴子转自:http://www.pbteach.com/post/2019/2.2prepare-javafeatures/
1 Java平台的三个版本

1)Java SE(Java Platform,Standard Edition)标准版

Java SE是为开发普通桌面和商务应用程序提供的解决方案,它包含了支持 Java Web 服务开发的类库,为 Java Platform Enterprise Edition(Java EE)提供基础。

2)Java EE(Java Platform,Enterprise Edition)企业版

JavaEE以前称为 J2EE,是为开发企业环境下的应用程序提供的一套解决方案,该技术体系中包含的技术如 Servlet、Jsp等,它提供 Web 服务、组件模型、管理和通信 API,可以用来实现企业级的面向服务体系结构(service-oriented architecture,SOA)和 Web 2.0 应用程序(比如电商网站)。

3)Java ME(Java Platform,Micro Edition)小型版

Java ME以前称为 J2ME,Java ME 为在移动设备和嵌入式设备(比如手机、PDA、电视机顶盒和打印机)上运行的应用程序(比如手机游戏)提供一个健壮且灵活的环境。

javase是基础,要先学,javaee是企业级,学完成javase就学javaee,就可以进行javaweb开发,开发互联网应用,比如作个网站,微信公众号等,javame是做手机应用(手机应用开发技术很多,这里不详情说)。

2 Java语言特性

SUN公司对java的描述:“Java is a simple,object-oriented, distributed, interpreted, robust, secure, architecture neutral, portable, high-performance, multithreaded, and dynamic language”.

翻译: “Java是一门简单的,面向对象,分布式,解释性,健壮的,安全的,结构中立的, 便捷的, 高性能的, 多线程的, 动态的语言”。

Java语言特性列表如下:

简单(Simple)

面向对象(Object-Oriented)

方便,可移植(Portable)

平台独立(Platform independent)

安全(Secured)

强大,健壮(Robust)

体系结构中立(Architecture neutral)

动态(Dynamic)

解释执行(Interpreted)

高性能(High Performance)

多线程(Multithreaded)

分布式(Distributed)

1) 简单(Simple)

Java语言很简单,Java的语法是基于C++(程序员在学习C++之后更容易学习它)。

移除C++许多令人困惑或很少使用的特征,例如,显式指针,操作符重载等。

不需要删除未引用的对象,因为在Java中有自动垃圾收集。

2)面向对象(Object-Oriented)

一切皆对象,一个对象中包括了数据和行为。面向对象编程(OOP)是一种通过提供一些规则来简化软件开发和维护的方法,通常实践证明面向对象编程比面向过程编程(代表者c语言)更适合软件工程化的开发。

3)方便,可移植(Portable)

此特性也叫跨平台特性,通过Java语言编写的应用程序可以在不同的系统平台上都可以运行。

平台是程序运行的硬件或软件环境,系统平台主要是指操作系统,常见的操作系统有Windows、Linux、Android、Sun Solaris、Mac/OS等。

Java程序通过Java 虚拟机(JVM Java Virtual Machine)运行,只要在需要运行java应用程序的操作系统上先安装一个Java虚拟机即可,由JVM来负责Java程序在该系统中的运行,这就是跨平台的原理。

如下图是Java跨平台运行的示意图:

在这里插入图片描述

因为有了JVM所以同一个Java程序可以在三个不同的操作系统中都可以执行,这样就实现了Java程序的跨平台性。也称为Java具有良好的可移植性。

4)平台独立(Platform independent)

Java代码可以在多个平台上运行,Java代码由编译器编译并转换为字节码,它是一个独立于平台的代码,即字节码可以在多个平台上运行,达到一次编写和到处运行。

5)安全(Secured)

Java的安全体主要现在它的沙箱安全机制:

1.Java类装载器结构

2.Java字节码校验器

3.Java安全管理器

Java的安全还体现在它的其它功能特性:

1.类型安全的引用转换

2.结构化的内存訪问(无指针算法)

3.自己主动垃圾收集

4.数组边界检查

5.空引用检查

6)强大,健壮(Robust)

健壮意味着强大。Java使用强大的内存管理,从而避免有安全问题的指针。在java中有自动垃圾收集。 在java中有异常处理和类型检查机制。

7)体系结构中立(Architecture neutral)

这里的体系结构中立主要是指不同CPU的体系架构,Java编译器生成的是一个体系架构中立的对象文件格式(an architecture-neutral object file format)。通俗地讲,就是一个Java程序也能在许多不同的CPU下运行,当然前提必须有Java运行时系统(Java runtime system)在你的电脑上。

8)动态(Dynamic)

Java程序能够携带大量的运行时信息,这些运行时信息能够验证和访问程序运行时的各种对象。

9)解释执行(Interpreted)

Java的字节码是动态翻译成机器指令的,即边解释边执行,Java与其它解释型语言不同,Java是将.class文件先编译成字节码,然后由JVM对字节码进行解释执行。

10)高性能(High Performance)

Java的运行速度随着JIT(Just-In-Time)编译器技术的发展越来越接近于C++。

11)多线程(Multithreaded)

Java的多线程特性使得Java程序能够同时执行多项任务,这对于交互响应要求非常高的程序设计是至关重要的。

12)分布式(Distributed)

分布式是一种架构模式,是将模块进行抽取、单独构建、并部署在不同服务器上运行,比如天猫、京东等大型电商平台都是采用分布式架构,使用java可以创建分布式应用程序。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值