JAVA语言编译后产生的是虚拟机可以理解的字节码,虚拟机运行在一个解释器上,每一个操作系统均有一个解释器,这样一来,JAVA就成了与平台无关的语言,它的这种跨平台的特性非常适用于网络上,所以JAVA表现出的优越性倍受关注。

JAVA的特点:

1、简单:由于JAVA的结构类似于C或C++,比如变量声明、操作符形式、参数传递、流控等方面与C语言相同,所以如果会C语言的会稍加学习就可掌握JAVA的编程技术了。同时也C语言相比,JAVA不支持运算符重载、多继承及广泛的自动强制等易混淆和较少用的特性,而增加了内存空间自动垃圾收集功能。对复杂特性的省略和对实用功能的增加使开发变得简单而可靠。

2、平台无关性:JAVA引进虚拟机(JVM)概念,并运行于虚拟机,实现不同平台之间的JAVA接口。JAVA虚拟机建立在硬件和操作系统之上,用于实现JAVA字节码的解释和执行等功能,为不同平台提供统一的JAVA接口。我们说,只要计算机中有JAVA环境(JVM),JAVA字节码就可以在那台计算机上运行,总结来说就是“一次编译,随处运行”

3、面象对象:JAVA是一种面象对象的程序语言,它具有“数据封装、继承、抽象化、多形式、可重用性”五方面向对象的特性。另外我们要知道,在JAVA中,类的继承关系是单一的、非多重的,一个子类只有一个父类,子类的父类又只有一个父类。

4、安全性:JAVA的设计目的是提供一个用于网络/分布式的计算机环境,因此,特别强调安全性,通过多个层次的措施使安全性得到保证。首先,JAVA不允许用户利用程序强制对内存进行存取操作;第二JAVA编译器没有对内存布局的决定权,而是通过系统所在的软件硬件平台决定的;第三JAVA通过字节码检验来保证安全,不合法的字节码是无法被解释和运行的。

5、解释执行:这一点不同于C语言,其原因在于JAVA程序经过编译后并不直接产生机器码,而是被编译成字码码,再通过JVM将字节码转换成机器码来运行

6、跨平台移植:这是JAVA最吸引人的地方,因为我们知道网络由很多不同机型的计算机组合而成的,因此如何使一个应用程序可以在任何一种计算机上执行是一个难题。而JAVA的虚拟机技术就解决了这个问题。另外JAVA严格规定数据类型和类结构标准;链接库还定义了一些可移植的接口以及这些类在不同的计算机平台上的定义结构,这些均使JAVA具有良好的可移植性。

7、多线程:它的多线程机制使程序可以并行运行,可以非常轻松的实现网络上的实时交互行为,我们在使用JAVA开发出来的多线程程序比传统的单一线程程序所占用的CPU资源少,减少了CPU资源被占据而导致计算机死机的情况。

8、动态:JAVA在设计加载对象时并不是在程序一开始运行时就将所需对象全部加载,而是在程序运行的过程中一一加载,这程序设计者可以在类库中自由地加入新的方法和实例变量,而不影响用户程序的执行,不会因程序库的更新,而必须重新编译程序。

java独行风格 行尾_JAVA的特点相关推荐

  1. java调用命令行命令_Java命令行界面(第4部分):命令行

    java调用命令行命令 我的Java命令行解析系列的第四部分介绍了Commandline ,它被描述为 "用于解析命令行参数的Java库",它"基于使用注释从命令行参数到 ...

  2. java main命令行参数_java使用命令行参数

    有时你想在运行程序时将信息传递到一个程序中.这通过将命令行参数(command-line arguments )传递给main() 来实现.命令行参数是程序执行时在命令行中紧跟在程序名后的信息.在Ja ...

  3. java按钮按行放置_java 放置按钮

    JAVA学习Swing章节按钮组件JButton的简单学习 package com.swing; import java.awt.Container; import java.awt.Dimensio ...

  4. java txt 按行读取_java读取按行txt文件

    import java.io.BufferedReader; import java.io.FileInputStream; import java.io.InputStreamReader; pub ...

  5. java 多线程 串行 加锁_Java多线程(2)线程锁

    多线程访问同一个资源进行读写操作,就很容易出一些问题(比如我们常见的读者写者,生产者消费者模型)所以我们会选择对他们设置信号量或者加锁,来限制同一个时刻只有一个线程对某个对象进行操作. 多线程是一个蛮 ...

  6. java pdf 首行缩进_java使用iText生成pdf文档的对齐方式

    一.前言 在企业的信息系统中,报表处理一直占比较重要的作用,本文将介绍一种生成PDF报表的Java组件--iText.通过在服务器端使用Jsp或JavaBean生成PDF报表,客户端采用超级连接显示或 ...

  7. java nio 按行读取_JAVA之NIO按行读写大文件,完美解决中文乱码问题

    packagecom.chillax.imp; importjava.io.File; importjava.io.IOException; importjava.io.RandomAccessFil ...

  8. Java mysql获取行数_java – MySQL查询获取球体中的行(X,Y,Z坐标)?

    我正在制作一个名为Minecraft with Bukkit API的游戏插件. 我有一个名为Reinforcements的数据库表,其中包含以下字段:x integer,y integer,z in ...

  9. java 显示多行歌词_Java Swing制作多行滚动歌词显示控件 | 学步园

    首先上图一张,为最终制作的效果图,不喜欢或感到失望的朋友可以先行离开 大家已经看到效果图了.那么下面就介绍设计思路和源代码 首先要想显示歌词,就要对歌词文件进行抽象.下面这个类是对某一行歌词文件进行了 ...

  10. java 接收命令行参数_java中的命令行参数_Java中的命令行参数

    java中的命令行参数 Command-line arguments in Java are used to pass arguments to the main program. If you lo ...

最新文章

  1. 携程App for Apple Watch探索
  2. R语言ggplot2可视化使用vjust和hjust参数对齐图像中的文本注释信息(左对齐、右对齐、居中)实战
  3. Google 顶级论文:机器学习系统,隐藏多少技术债?
  4. Intel发布神经网络压缩库Distiller:快速利用前沿算法压缩PyTorch模型
  5. 戴尔塔式服务器各型号,戴尔_PowerEdge T440_塔式服务器_网络存储服务器_服务器 | Dell 中国大陆...
  6. [LeetCode] 86. Partition List Java
  7. 关于更新系统后CocoaPods不能使用的问题
  8. [Winodows Phone 7控件详解]控件基础
  9. java-jdk各版本特性概述
  10. 和老婆在MSN上面的涂鸦
  11. 如何跨服务器复制表中数据
  12. 《高效能程序员的修炼》——程序员的八种境界
  13. Android API 实验记录 (二)
  14. 运行Arcgis和SWAT模型遇到Error Number 91和Error Number -2147467259报错怎么办?
  15. java日期字符串排序_Java 8 字符串日期排序
  16. 人工智能中常用的词汇
  17. 全球与中国激光共焦扫描显微镜市场深度研究分析报告
  18. 15天助你掌握问卷统计与Spss实战
  19. 基于matlab摄像毕业设计,基于MATLAB的车牌识别毕业设计
  20. 凡事预则立,不预则废。做事提前5分钟,更多主动权。

热门文章

  1. Oracle 转 PG- ERROR: recursive query “t“ column 2 has type character varying(150) in non-recursive t
  2. python 图片中的表格识别
  3. PJzhang:如何在裸奔的年代找到一些遮羞布
  4. Linux基础:破解root密码(rd.break)
  5. H5 的直播协议和视频监控方案
  6. JS中every()和some()的对比使用丨蓄力计划
  7. 5G C-V2X技术介绍
  8. POJ 1392 Ouroboros Snake
  9. 红米note4 android8.0,红米Note 4首个安卓8.0刷机包放出,开发者:可日常使用
  10. Elasticsearch干货(九):queryString中检索词加不加引号?