Java是一门面向对象编程语言,底层是C++语言。Java语言分为三大体系:

• Java SE(标准版)

• Java EE(企业版)

• Java ME(微型版)

Java语言的特点有以下几种:

1. 简单性

Java语言的底层是用C++写的,但是Java又将C++语言中一些特征去掉了,比如:不支持多继承,屏蔽掉指针,不支持go to语句,不使用主文件,免去了预处理程序。

拿指针举例,对于C++来说程序员是可以通过指针直接操作内存的,在Java语言中真正操作内存的是Java虚拟机(JVM)。所有的Java程序都是运行在Java虚拟机当中的,而Java虚拟机在执行过程中再去操作内存。当然,我们也得出结论,Java虚拟机是通过C++实现的。

Java语言屏蔽了指针的概念,程序员不能直接操作内存,这种方式既有优点也有缺点:

• 优点:不容易导致内存泄漏,程序员在开发过程中不需要每次都要想着释放内存,变简单了;

• 缺点:效率问题。

2. 完全面向对象

Java语言是一个面向对象的语言。对程序员来说,更容易理解,因为人类通常是以对象的方式认知世界的。采用面向对象的方式可以让复杂问题简单化。

3. 可移植性/跨平台

Java在安装完开发环境后,会自带一个Java虚拟机,它是用C++语言实现的虚拟的计算机,它提供了一个字节码到底层硬件平台和操作系统的屏障,直接屏蔽掉了操作系统之间的差异,Java虚拟机这种机制实现了跨平台,针对不同的操作系统具有不同的版本。

我们在编写完Java程序经过编译后生成的字节码文件是与平台(操作系统)无关的,是一种被Java虚拟机识别的字节码指令,这样,就可以做到,编写一次,到处运行。

4. 健壮性

Java的健壮性说的主要是Java中有一种机制:自动垃圾回收机制(GC机制),由于屏蔽了指针,不容易导致内存泄漏,Java虚拟机负责调度GC机制,不需要程序员干涉。

5. 安全性

Java的存储分配模型是防御恶意代码的主要方法之一。Java没有指针,所以程序员不能得到隐蔽起来的内幕和伪造指针去指向存储器。编译的Java代码中的存储引用在运行时由Java解释程序决定实际存储地址。

6. 多线程

Java是多线程语言,完美支持多线程并发。

以上是目前学习到的6大特点,在以后的持续学习中会继续完善!

java语言的特点简单性,Java语言的特点相关推荐

  1. c语言指针化简带分数,c语言带分数四则运算问题!!!要求被调函数,化简.

    满意答案 Lie囡 2013.02.03 采纳率:58%    等级:12 已帮助:8948人 #include long int a,b,c,d,x,y,z; char op; int f1(); ...

  2. java语言主要因为具备了,Java语言的魅力

    Java语言的简介Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承.指针等概念,因此Java语言具有功能强大和简单易用两个特征.Java语言作为静态面向 ...

  3. java面向_java是面向什么的语言?

    Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承.指针等概念,因此Java语言具有功能强大和简单易用两个特征.Java语言作为静态面向对象编程语言的代表 ...

  4. 【一天一门编程语言】Go 语言程序设计极简教程

    文章目录 Go 语言程序设计极简教程 Go 语言程序设计极简教程 第一章:Go 语言基础 1.1 Go 语言简介 1.2 Go 语言安装 1.2.1 下载安装包 1.2.2 安装 Go 语言 1.3 ...

  5. 【一天一门编程语言】R 语言程序设计极简教程

    R 语言程序设计极简教程 文章目录 R 语言程序设计极简教程 R语言简介 1.1 介绍 1.2 R 语言的基础知识 1.2.1 语法 1.2.2 数据类型 1.2.3 基本操作 1.3 R 语言的高级 ...

  6. 【C语言教程】1、C 语言简介

    C 语言简介 历史 C 语言最初是作为 Unix 系统的开发工具而发明的. 1969年,美国贝尔实验室的肯·汤普森(Ken Thompson)与丹尼斯·里奇(Dennis Ritchie)一起开发了 ...

  7. Java 学习笔记:第一章 Java入门

    Java 学习笔记:第一章 Java入门 1.1 计算机语言发展史以及未来方向 1.2 常见编程语言介绍 C语言 C++ 语言 Java语言 PHP 语言 Object-C和Swift 语言 Java ...

  8. Go 语言实战: 编写可维护 Go 语言代码建议

    Go 语言实战: 编写可维护 Go 语言代码建议 目录 1. 指导原则 1.1 简单性 1.2 可读性 1.3 生产力 2. 标识符 2.1 选择标识是为了清晰, 而不是简洁 2.2 标识符长度 2. ...

  9. java语言的主要特点有简单性,太厉害了!

    一. JVM内存区域的划分 1.1  java虚拟机运行时数据区 java虚拟机运行时数据区分布图: JVM栈(Java Virtual Machine Stacks): Java中一个线程就会相应有 ...

最新文章

  1. Spring 注解之@RestController与@Controller的区别
  2. RedHat下建立群集
  3. java服务器测试_正确的方法来测试服务器是否在Java中运行?
  4. 【mybatis】插入操作更新id
  5. 计算机网络-思维导图(1)概述
  6. href脱离iframe显示
  7. spring注入私有字段_Spring字段依赖注入示例
  8. [调试]Asp.Net常见问题
  9. Linux工作笔记-RabbitMQ的安装
  10. 鱼腥草可以随便吃吗?
  11. 爱数智慧荣获“阿里云2021年度优秀供应商” | 喜讯
  12. 相信大家看了这篇文章对Oracle如何工作有一个形象的了解!
  13. lisp取消选集选中状态_为什么对话框创建后是隐藏状态的
  14. [book]《超越感觉》
  15. 怎么建立局域网_win8系统如何建立局域网 win8建立局域网操作方法【步骤详解】...
  16. jieba中文分词组件的词性类型
  17. 服务机器人研究报告:产业链分析及投资前景预测
  18. python离线环境迁移_Python离线项目迁移部署
  19. 计算机自定义桌面,电脑桌面图标自定义摆放,如何自定义桌面图标
  20. VB中上传下载文件到SQL数据库

热门文章

  1. java键盘输入语句_java键盘输入语句怎么写
  2. Qt Line分割线宽度和颜色的设置
  3. jstack 命令详解
  4. Excel单元格输入文本敲下回车键后自动调整列宽
  5. [ 数据结构-C实现 ] 用堆解决TopK问题
  6. ERP绩效评价推动企业管理创新
  7. 六一发奖:大家说,书可以这么送
  8. php数值计算,PHP基础教程——PHP数值计算
  9. 自定义progressdialog
  10. C++/Python PAT 乙级 1039 到底买不买(20)