Java语言的主要特点
Java语言有很多的优点,可靠、安全、编译和解释型语言、分布式、多线程、完全面向对象、与平台无关性等等。
与平台无关性
Java语言最大的优势在于与平台无关性,也就是可以跨平台使用。
绝大多数的编程语言都是不可以跨平台使用的。所谓的平台,我们可以理解为操作系统。比如,C语言Windows系统下编译的*.exe文件在其他系统下是无法运行的。在不同的操作系统下可运行文件是不同,所以同样功能的软件我们需要编写出多份适用于不同平台上的代码,造成重复开发,严重影响了开发效率。
但是Java语言不同,因为Java程序不是直接运行在操作系统上,而是在JVM中运行。
JVM是Java Virtual Machine(Java虚拟机)的缩写,它是虚构出来的计算机,是通过模仿实际计算机的各种功能实现的。也就是说实际计算机中的某些功能,JVM也可以实现。JVM是Java跨平台使用的根本。
所以Java的编译程序只需要在JVM中生成目标代码(字节码)文件,就可以在不同的平台上不用修改直接运行了,当然我们的操作系统中必须要有适合该系统的Java虚拟机。JVM在执行字节码时,它会把字节码解释为具体平台的机器指令,这也说明了Java既是编译型语言(编译为字节码)也是解释型语言。
可靠安全
Java语言是强类型语言,要求变量必须定义之后才能使用,一旦一个变量被指定了某种数据类型,如果不强制转换,那么它永远是该数据类型。这样Java可以在编译时进行检查语法是否正确。
Java取消了强大而又危险的指针,指针可以直接操作内存,这是十分危险的,很可能导致程序崩溃。Java取消了指针,增加了引用类型的概念,用来代替指针。
Java的解释型特性,字节码加载进虚拟机后,解释器会对每行指令进行检查。
Java有异常处理机制,程序员可以把某些可能出现错误的代码,进行异常检查。
完全面向对象
Java语言支持封装、继承、多态,面对对象编程,让程序的耦合度更低,内聚性更高。每一个模块执行自身的功能,和不干扰通过公开的接口互相联系。
多线程
进程是操作系统中分配内存资源的最小单位,每一个进程可以同时拥有两个或更多的线程,让它们并发执行。它提供了Rannable接口和他的实现类Thread,并提供了大量的方法来控制线程的运行,以及线程的同步控制。
Java语言的主要特点的更多相关文章
- JAVA语言中的修饰符
JAVA语言中的修饰符 -----------------------------------------------01--------------------------------------- ...
- Atitit onvif协议获取rtsp地址播放java语言 attilx总结
Atitit onvif协议获取rtsp地址播放java语言 attilx总结 1.1. 获取rtsp地址的算法与流程1 1.2. Onvif摄像头的发现,ws的发现机制,使用xcf类库1 2. 调用 ...
- AVL树原理及实现(C语言实现以及Java语言实现)
欢迎探讨,如有错误敬请指正 如需转载,请注明出处http://www.cnblogs.com/nullzx/ 1. AVL定义 AVL树是一种改进版的搜索二叉树.对于一般的搜索二叉树而言,如果数据恰好 ...
- Java语言中的面向对象特性总结
Java语言中的面向对象特性 (总结得不错) [课前思考] 1. 什么是对象?什么是类?什么是包?什么是接口?什么是内部类? 2. 面向对象编程的特性有哪三个?它们各自又有哪些特性? 3. 你知 ...
- JAVA语言搭建白盒静态代码、黑盒网站插件式自动化安全审计平台
近期打算做一个插件化的白盒静态代码安全审计自动化平台和黑盒网站安全审计自动化平台.现在开源或半开源做黑盒网站安全扫描的平台,大多是基于python脚本,安全人员贡献python脚本插件增强平台功能.对 ...
- 关于Java语言和面向对象记录
本科时常用的c语言是面向过程的语言,而Java是面向对象的语言 Java语言的11个关键术语 简单性.可移植性.面向对象.分布式.高性能.解释型.健壮性.多线程.安全性.动态性.体系结构中立 面向对象 ...
- 用Java语言编写一个简易画板
讲了三篇概博客的概念,今天,我们来一点实际的东西.我们来探讨一下如何用Java语言,编写一块简易的画图板. 一.需求分析 无论我们使用什么语言,去编写一个什么样的项目,我们的第一步,总是去分析这个项目 ...
- 【百度文库课程】Java语言基础与OOP入门学习笔记一
一. Java的历史与由来 原名Oak,针对嵌入式系统开发设计,语法与C/C++基本一致 二. Java语言特点 Java由四方面组成:Java编程语言.Java类文件格式.Java虚拟机和Java应 ...
- 0031 Java学习笔记-梁勇著《Java语言程序设计-基础篇 第十版》英语单词
第01章 计算机.程序和Java概述 CPU(Central Processing Unit) * 中央处理器 Control Unit * 控制单元 arithmetic/logic unit /ə ...
- [Java入门笔记] Java语言基础(二):常量、变量与数据类型
常量与变量 什么是常量和变量 常量与变量都是程序在运行时用来存储数据一块内存空间 常量: 常量的值在程序运行时不能被改变,Java中声明常量必须使用final关键字.常量还可以分为两种意思: 第1种意 ...
随机推荐
- dig命令详解
dig命令是常用的域名查询工具,可以用来测试域名系统工作是否正常 语法 dig(选项)(参数) 选项 @<服务器地址>:指定进行域名解析的域名服务器: -b<ip地址>:当主机 ...
- Customizing docker
Customizing docker The Docker systemd unit can be customized by overriding the unit that ships with ...
- Python模块: 命令行解析optionparser
Python 有两个内建的模块用于处理命令行参数:一个是 getopt,<Deep in python>一书中也有提到,只能简单处理 命令行参数:另一个是 optparse,它功能强大,而 ...
- Jquery特殊属性
val():获取或设置元素的值,主要用于input. 参数:string 字符串 设置元素的值: 不写参数:获取元素的值: 其实这个属性 我们也可以用attr操作,但是没有这个方便 添加类 ...
- 找xpath好用的工具(Firefox插件)
WebDriver Element Locator 安装 打开firefox浏览器,进入网址https://addons.mozilla.org/en-US/firefox/ 在搜索框里输入WebDr ...
- 转 C#反编译后的一些错误改正
Xenocode反编译及代码整理记录1.Xenocode中设置输出数字为十进制 2.输出后中文文本为\uXXXX,可采用编码工具转成中文 3.new ()改成null; 4.反编译后代码中嵌套数组ne ...
- JUC源码阅读参考文章
(飞哥)http://brokendreams.iteye.com/blog/2252081 (熊猫)http://blog.csdn.net/xiaoxufox/article/details/51 ...
- 【Linux】编辑文件时,箭头按键还有BACKSPACE按键不能正常使用的解决办法
需要安装vim sudo apt-get remove vim-common sudo apt-get install vim
- Java 支付宝支付,退款,单笔转账到支付宝账户(支付宝订单退款)
上一篇写到支付宝的支付,这代码copy下来就能直接用了, 我写学习文档时会经常贴 官方参数文档的案例地址, 因为我觉得 请求参数,响应参数说明 官方文档整理的很好,毕竟官方不会误导大家. 我学一个 ...
- java自动探测文件的字符编码
Mozilla有一个C++版的自动字符集探测算法代码,然后sourceforge上有人将其改成java版的~~ 主页:http://jchardet.sourceforge.net/ jchardet ...