博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java备忘录《语言特点》
阅读量:6392 次
发布时间:2019-06-23

本文共 1969 字,大约阅读时间需要 6 分钟。

1、Java语言经久不衰得益于他优秀的特点

简单:Java和C++一样都是面向对象的编程语言,但Java摈弃了C++复杂且容易引发错误的地方(指针,内存管理,运算符重载,多继承),所以C++开发者很容易迁入到Java开发, 初学者学习也很容易

面向对象:Java是彻底纯粹的面向对象语言,在Java中一切都是对象,具有封装、继承、多态三个面向对象的基本特质。封装体现了模块化和信息隐藏,继承实现了代码复用,用户可建立自己的类库,并且只支持单继承,多态是基于继承,子类重写父类方法,实现多种特有操作。

分布式:Java语言就是为分布式系统设计的,JDK包含了支持HTTP和FTP等基于TCP/IP协议的类库,Java可以凭借URL打开并访问网络上的对象,访问方式几乎和本地访问一样

结构中立:Java需要在多种不同设备不同操作系统上运行,Java编译器生成了与CPU和操作系统无关的字节码文件,只要可以运行Java虚拟机,字节码文件就可以在此设备上运行

可移植:Java针对于不同的CPU和操作系统有着多种版本的Java虚拟机,这样字节码文件就可以移植到多种不同平台上

解释执行:为了跨平台,Java设计成为解释执行的,Java源代码被编译成为字节码文件,字节码文件包含很多编译时生成的信息,在运行时Java解释器负责将字节码文件解释成不同的适应特定机型的机器码来运行

健壮:Java是强语言类型,在编译时进行代码检查,很多问题在编译期就被发现,不至于在运行期出现崩溃。Java摒弃了C++的指针,内存,等复杂操作,采用自动垃圾回收机制,减少了错误的发生,提高健壮性

安全:Java程序执行过程中,类装载器负责将字节码文件加载到Java虚拟机中,这个过程由字节码效验器检查代码中是否有非法操作,通过之后Java解释器才会将字节码文件转换成机器码进行执行,这种操作可以防止木马等病毒。同时Java虚拟机采用沙箱运行模式,将执行的Java程序限制在一定的内存空间,不允许访问外部内存

高性能:Java编译器编译时会对字节码文件进行优化,产生高质量的代码,同时Java字节码格式就是根据机器码设计的,转换简便。Java在解释运行时采用即时编译技术,提高运行速度

多线程:Java可以并发的处理多个任务,得益于Java支持的多线程编程。

动态:Java应用在运行中,可以动态的加载各种类库,即使是更新已有的类库也不需要重新编译这一类库的应用。

2、Java不仅是一种开发语言,更是一个开发平台,Java根据领域的不同将Java分为三个平台:Java SE、Java EE、Java ME

Java SE

Java Standard Edition,主要作为台式机和工作站桌面应用程序的版本,也是其他平台版本的基础。

Java SE中包括:JRE(Java SE Runtime Environment,Java SE运行环境)、JDK(Java Development Kit,Java开发工具包)和Java核心类库。如果只运行Java程序不需要开发Java程序,只需要安装JRE就可以了,因为JRE中包含了java程序运行所需要的Java虚拟机(JVM, Java Virtual Machine)。JDK中包含了JRE和一些开发工具:编译器,文档生成器,文件打包等工具。

Java SE中还提供了Java应用程序开发需要的基本核心类库:字符串、集合、输入输出、网络通信和图形用户界面,平时学习Java就是在学习Java语法和Java类库的使用。

Java EE

Java Enterprise Edition,为简化企业级系统的开发、部署、管理。以Java SE为基础,并提供了一套服务、API接口和协议,能够开发企业级分布式系统、Web应用程序和业务组件等。包含:JSP、Servlet、EJB、JNI、Java Mail等。

Java ME

Java Micro Edition,主要面向消费电子产品,为消费电子产品提供一个Java运行平台,使Java程序能够在手机,机顶盒,Pad等产品上运行。Java ME早先在塞班系统上用很多应用,现在iOS和Android都已经没有他的用武之地了。

3、Java虚拟机 Java应用程序能够做到一次编译到处运行的跨平台特性,主要是通过Java虚拟机实现的,Java虚拟机就像是Java程序和各种操作系统的一个桥梁。不同软硬件平台的Java虚拟机是不同的,使用或者开发时需要下载不同的JRE和JDL版本。

Java虚拟机中包含了Java解释器,Java程序运行过程中先由编译器将Java源码(.java)编译成字节码文件(.class),然后再由Java虚拟机中的解释器将字节码解释成为机器码去执行。

转载地址:http://hdpha.baihongyu.com/

你可能感兴趣的文章
2012 Autodesk开发者日开始注册啦
查看>>
ASP.NET 2.0 验证控件新的功能
查看>>
asp.net获取客户端的MAC地址
查看>>
CentOS下Zabbix安装部署及汉化
查看>>
判断两矩形是否相交
查看>>
第7章 "敏捷+"项目管理
查看>>
Sublime-text gitHub 问题收集
查看>>
UML 类图
查看>>
Unity Remote 无法连接
查看>>
linux下core file size设置笔记
查看>>
mysql 、redis的区别
查看>>
使用JPA中@Query 注解实现update 操作
查看>>
7.4. APC Cache (php-apc - APC (Alternative PHP Cache) module for PHP 5)
查看>>
Web 仪表盘
查看>>
我的Fedora 7硬盘安装过程
查看>>
18.4. FAQ
查看>>
Python——SSHClient.py
查看>>
MVC解决更新冲突问题
查看>>
江西理工大学南昌校区cool code竞赛
查看>>
[LeetCode] Trim a Binary Search Tree 修剪一棵二叉搜索树
查看>>