java特性基本研究


前言

最近在系统的学习java,简单总结一些java和其他语言的不同和其特性,内容参考java核心技术卷一


一、java是什么?

示例:java不仅仅是一种语言,它是一个完整的平台,有庞大的类库,以及java程序执行环境。不同于c++,java拥有一个好的语法,并且好理解的语义,并在库中提供了各种实现庞大功能实现,如网络连接、绘图。并提供可移植性、垃圾回收。

二、特性简介

1、简单性

上面指出,java语言的语义语法较为简单。与c++对比,去除了头文件、指针运算、结构体、联合、操作符重载、虚基类等麻烦的特性,这使得java易于理解,事实上,c++的开发者可以轻松的转到java,java除了上面的去除,很多c++的语法在java里都有保存。但事实上,要使用java进行实际问题的解决,并不简单。

2、面向对象

面向对象 = 对象+分类+继承+通过消息的通信。面向对象的思想是将开发的重点放在数据和对象的接口上,举个例子,假如造一个汽车,面向对象会先考虑汽车的样子构造,面向过程会先考虑使用那种高新的技术制作。二者的应用环境不同,并无谁好谁坏。此外java提供多继承,即一个子类可以继承多个父类,这点和c++是不一样的。

3、健壮性

java的编译器能够在编译阶段就检测出运行时的问题,并抛出异常。这在很多语言中是做不到的。即java的问题检测能力很强!

4、安全性

java适用于网络/分布式环境,所以java构建了防病毒、放篡改的系统。
在Java语言中删除了类似于C语言中的指针和内容释放等语法,有效的避免了非法操作内存,代码要经过校验之后才能够运行,所以未经允许的Java程序不可能出现损害系统平台的行为,最大的好处就是,Java可以编写防病毒和可修复的系统,Java通常被用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻击,从而可以提高系统的安全性。对于java代码,无论来自哪里,最终运行都在jvm中。这点提供了很高的安全性。

5、可移植性

举个例子,java中的int永远是32位的整型数,C\C++中int只要在shortint和langint间,它可以是16位也可以是32位,甚至可以是任何大小,代码在移植的时候二进制格式的存储传输问题在这里得到解决。除了用户界面相关部分,java的大部分类库在各个操作系统平台上也是通用的。

6、多线程

处理器的速度现在已经非常快了,对于计算机,更要把眼光放在多处理器的使用。java在并发执行这一块相对与其他语言,有一定的领先。可以很好的进行并发操作。

7、动态性

对于程序的设计和运行,java可以很容易的设计自己的方法和类加入库中,
由于java的反射机制,我们可以在程序进行简单的修改,即可实现程序对象,功能的改变。反射机制也为各种框架提供了基础。

三、补充说明java

1、java程序的运行过程

java文件首先经过javac编译生成字节码。将字节码保存在.class文件中。.class文件是跨平台的基础。在由不同平台的JVM进行解析,java语言在不同的平台上运行时不需要进行重新编译,java虚拟机在执行字节码的时候,把字节码转换成具体平台上的机器指令。

2、java虚拟机简介

虚拟机是一种抽象化的计算机,通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机有自己完善的硬体架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。JVM屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。
在这里插入图片描述

在这里插入图片描述
举个例子,helloworld程序的运行,java命令首先启动虚拟机进程,虚拟机进程成功启动后,读取参数“HelloWorld”,把他作为初始类加载到内存,对这个类进行初始化和动态链接,然后从这个类的main方法开始执行。

3、其他

高性能
作为解释性语言,java运行并不慢,得力于jvm的即时编译机制,

分布式
分布性主要包括两大方面,分别是操作分布和数据分布,其中操作分布指的是在多个不同的主机上布置相关操作,数据分布是将数据分别存放在多个网络中不同的主机上,借助的是URL(统一资源定位符)访问网络对象,访问方式和访问本地系统相似。
Java语言具有一个强大的,易于使用的网络能力,这是非常适合于分布式计算程序的。


javaScript和java没有关系,只是语法和名字类似,javaScript原名LiveScript;
在网页中运行的java程序叫applet。执行需要web浏览器启用java。
对于语言,ios端开发常用swift和Object c;浏览器处理常javaScript;windows程序则常用C/C++;java用于服务器端编程和跨平台领域。
java9引入了jshell,即你可以直接在dos窗口进行编程。这种编程有一个优点:使编程快捷而具有探索性。

4、java应用领域

服务器
嵌入式
大数据
网站

猜你喜欢

转载自blog.csdn.net/qq_44830792/article/details/109799449