Java语言的特性
简单性
在java语言当中,真正操作内存的是:JVM(Java虚拟机)
所有的Java程序都是运行在Java虚拟机操作当中的。
而Java虚拟机执行过程中再去操作内存。
对于c或者c++来说程序员都是可以直接通过指针操作内存的。
C或者C++更灵活,可以直接程序员操作内存。
c语言或者c++更有驾驭感
Java语言屏蔽了指针的概念,程序员不能操作指针,或者说程序员不能直接操作内存。这种方式有优点也有缺点。
**优点:**不容易导致内存的泄露。(简单)
**缺点:**效率问题,包括驾驭感比较差。
举个栗子叭
飞机航行:
C语言:表示程序员是飞机上的驾驶员
java语言:表示程序员是飞机上的乘客
Java语言底层是C++,所以JVM是用C++语言写好的一个虚拟的电脑。
那么,JVM在哪里呢?
安装了JDK之后,JVM就代表安装好了。
内存是什么?
对于计算机来说:最主要的几个部件是什么?
CPU:中央处理器,它相当于是人类的大脑,负责发送并执行指令,是整个计算机的指挥官。
CPU是负责计算、运算的。
内存:程序运行过程当中的临时数据存储空间。
断电之后或者关机之后内存中的数据就消失了。
硬盘:持久化的设备。硬盘上的数据不会因为断电而丢失。
主板:相当于人类的躯干,是一个载体:
CPU、内存条、硬盘等主要的部件都是放在主板上的。
…
面向对象
java是堪称完全面向对象的。
面向对象更容易让人理解,人类通常是以面向对象的方式认知世界的。
采用面向对象的方式可以让复杂繁琐的问题简单化。
健壮性
主要是因为Java中有一种机制:
自动垃圾回收机制(GC机制)。
java语言是健壮的,相对于C语言来说,C语言没有java健壮。
java不容易导致内存的泄露。
C++或者C语言使用不当时很容易导致内存泄漏。
JVM负责调度GC机制,程序员不需要干涉。
可移植性/跨平台
java语言只要编写一次,可以做到到处运行。
例如:java程序编写完之后,可以运行在windows操作系统上,
不需要做任何改动可以直接运行在Linux操作系统上,同样也可以运行到MaC OS上面。
一次编写,到处运行。(平台改变了,程序不需要改)
JVM这种机制实现了跨平台,那么这种机制优点和缺点分别是什么?耐心点 继续往下看!
优点:一次编写到处运行,可以跨平台
缺点:麻烦。对于运行java程序来说必须先有一个JVM。
就像你要想在网上看视频,你必须安装一个flash是一样的、
Java语言可以编写病毒吗?
可以,完全OK,但很难让用户中毒。
中毒的一般都是java程序员。所以很少有人编写java的病毒脚本。
以上是我个人对Java特性的理解,如有补充建议,随时欢迎评论区大佬!