作者:CHAITANYA SINGH

来源:https://www.koofun.com//pro/kfpostsdetail?kfpostsid=3

JAVA由Sun Microsystems Inc于1991年开发,后来被Oracle Corporation收购。它由James Gosling和Patrick Naughton开发。它是一种简单的编程语言。在java中编写,编译和调试程序很容易。它有助于创建模块化程序和可重用代码。

Java术语

在我们开始学习Java之前,让我们熟悉常见的Java术语。

Java虚拟机(JVM)

这通常称为JVM。之前,我们讨论JVM让我们看看程序执行的各个阶段。阶段如下:我们编写程序,然后编译程序,最后运行程序。

1)程序的编写当然是由像你我这样的java程序员完成的。

2)程序的编译由javac编译器完成,javac是java开发工具包(JDK)中包含的主要java编译器。它将java程序作为输入并生成java字节码作为输出。

3)在第三阶段,JVM执行编译器生成的字节码。这称为程序运行阶段。

所以,现在我们知道JVM的主要功能是执行编译器生成的字节码。每个操作系统都有不同的JVM,但是在执行字节码后它们产生的输出在所有操作系统中都是相同的。这就是我们将java称为平台无关语言的原因。

字节码

如上所述,JDK的javac编译器将java源代码编译成字节码,以便它可以由JVM执行。字节码由编译器保存在.class文件中。

Java开发工具包(JDK)

在解释JVM和字节码时,我使用了JDK这个术语。我们来讨论一下。顾名思义,这是完整的Java开发工具包,包括JRE(Java运行时环境),编译器和各种工具,如JavaDoc,Java调试器等。为了创建,编译和运行Java程序,您需要在计算机上安装JDK。

Java运行时环境(JRE)

JRE是JDK的一部分,这意味着JDK包含JRE。如果在系统上安装了JRE,则可以运行java程序,但无法编译它。JRE包括JVM,浏览器插件和applet支持。当您只需要在计算机上运行java程序时,您只需要JRE。

这些是使java中的初学者感到困惑的基本java术语。有关完整的java词汇表,请参阅此链接:https://docs.oracle.com/javase/tutorial/information/glossary.html

JAVA的主要特点

Java是一种独立于平台的语言

编译器(javac)将源代码(.java文件)转换为字节代码(.class文件)。如上所述,JVM执行编译器生成的字节码。此字节代码可以在任何平台上运行,例如Windows,Linux,Mac OS等。这意味着在Windows上编译的程序可以在Linux上运行,反之亦然。每个操作系统都有不同的JVM,但是在执行字节码后它们产生的输出在所有操作系统中都是相同的。这就是我们将java称为平台无关语言的原因。

Java是面向对象的语言

面向对象编程是一种将程序组织为对象集合的方法,每个对象都代表一个类的实例。

面向对象编程的4个主要概念是:

抽象化

封装

继承

多态

简单

Java被认为是一种简单的语言,因为它没有像运算符重载,多重继承,指针和显式内存分配这样的复杂功能。

健壮的语言

稳健意味着可靠。Java编程语言的开发方式非常强调早期检查可能的错误,这就是为什么java编译器能够检测其他编程语言中不易检测的错误的原因。使其健壮的java的主要特性是垃圾收集,异常处理和内存分配。

安全

我们没有指针,我们无法访问超出绑定的数组(如果你试图这样做,你会得到ArrayIndexOutOfBoundsException)。这就是为什么在Java中无法利用堆栈损坏或缓冲区溢出等几个安全漏洞的原因。

Java是分布式的

使用java编程语言我们可以创建分布式应用程序 RMI(远程方法调用)和EJB(Enterprise Java Bean)用于在java中创建分布式应用程序。简单来说:java程序可以分布在多个使用Internet连接相互连接的系统上。一个JVM(java虚拟机)上的对象可以在远程JVM上执行过程。

多线程

Java支持多线程。多线程是一种Java功能,允许并发执行程序的两个或多个部分,以最大限度地利用CPU。

便携性

如上所述,在一台机器上编写的java代码可以在另一台机器上运行。平台无关的字节代码可以被携带到任何平台以便执行,从而使java代码可放到不同平台上运行。

Java编程简介的更多相关文章

  1. Hadoop学习笔记: MapReduce Java编程简介

    概述 本文主要基于Hadoop 1.0.0后推出的新Java API为例介绍MapReduce的Java编程模型.新旧API主要区别在于新API(org.apache.hadoop.mapreduce ...

  2. 一、Android NDK编程预备之Java jni简介

    转自:  http://www.eoeandroid.com/thread-264384-1-1.html 游戏开发 视频教程 博客 淘帖     论坛›eoe·Android应用开发区›Androi ...

  3. 《编程简介(Java) ·10.3递归思想》

    <编程简介(Java) ·10.3递归思想> 10.3.1 递归的概念 以两种方式的人:男人和女人:算法是两种:递归迭代/通知: 递归方法用自己的较简单的情形定义自己. 在数学和计算机科学 ...

  4. Java RMI 简介及其优劣势总结

    今天,帮别人看UDAS配置问题时,看到采用的是RMI方式的调用,如:rmi://10.20.134.140:2299/DataServer,而且这个端口是被直接硬编码在UDAS的代码中的.既然看到了, ...

  5. 《Java编程的逻辑》终于上市了!

    2018年1月下旬,<Java编程的逻辑>终于出版上市了! 这是老马过去两年死磕到底.无数心血的结晶啊! 感谢"博客园"的广大读者们,你们对老马文章的极高评价.溢美之词 ...

  6. Java异常简介、异常捕获还是上抛总结

    概要 本章对Java中的异常进行介绍.内容包括:1.Java异常简介2.Java异常框架 一.Java异常简介 Java异常是Java提供的一种识别及响应错误的一致性机制. Java异常机制可以使程序 ...

  7. 《Java编程思想第四版完整中文高清版.pdf》-笔记

    D.2.1 安插自己的测试代码 插入下述“显式”计时代码,对程序进行评测: long start = System.currentTimeMillis(); // 要计时的运算代码放在这儿 long ...

  8. Java Script 简介

    Java Script 简介 JavaScript 是世界上最流行的编程语言. 这门语言可用于 HTML 和 web,更可广泛用于服务器.PC.笔记本电脑.平板电脑和智能手机等设备.JavaScrip ...

  9. Java编程兵书

    <Java编程兵书> 基本信息 作者: 桂颖 任昱衡 丛书名: 程序员藏经阁 出版社:电子工业出版社 ISBN:9787121207419 上架时间:2013-8-26 出版日期:2013 ...

随机推荐

  1. 简单数位DP

    https://cn.vjudge.net/problem/HDU-4722 懒得写看,代码注释吧;主要存板子 #include <cstdio> #include <cstring ...

  2. [HNOI 2010] 弹飞绵羊

    [题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=2002 [算法] LCT动态维护森林连通性 时间复杂度 : O(NlogN ^ 2) ...

  3. bzoj 2194 快速傅立叶之二 —— FFT

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2194 如果把 a 序列翻转,则卷积得到的是 c[n-i],再把得到的 c 序列翻转即可. 代 ...

  4. bzoj 2655 calc —— 拉格朗日插值

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2655 先设 f[i][j] 表示长度为 i 的序列,范围是 1~j 的答案: 则 f[i][ ...

  5. 蓝桥杯 2014本科C++ B组 六角填数 枚举排列

    标题:六角填数 如图[1.png]所示六角形中,填入1~12的数字. 使得每条直线上的数字之和都相同. 图中,已经替你填好了3个数字,请你计算星号位置所代表的数字是多少? 请通过浏览器提交答案,不要填 ...

  6. py-day2-sys模块、os模块、运算符、列表、字典

    一.sys 模块 import sys print (sys.path)#打印环境变量 print(sys.aegv) #打印脚本的名字相对路径 print(sys.aegv)1 2 3 4 prin ...

  7. SpringMVC注解说明

    @controller 通过@controller标注即可将class定义为一个controller类. @RequestMapping value 表示需要匹配的url的格式. method 表示所 ...

  8. ASP.NET Core会议管理平台实战_2、基本概念的理解

    id Token携带用户的信息 AccessToken:是否有权限访问资源 看数据库的表,Client相关的表,api的相关的表 Resources把用户的简介抽象出来到IdentityClaims表 ...

  9. Identity Server 4 原理和实战(完结)_----选看 OAuth 2.0 简介(下)

    https://www.yuque.com/yuejiangliu/dotnet/asu0b9 端点 Endpoint Authorization Endpoint,授权端点 在浏览器里面和用户交互 ...

  10. Golang : flag 包简介

    在 Golang 程序中有很多种方法来处理命令行参数.简单的情况下可以不使用任何库,直接处理 os.Args:其实 Golang 的标准库提供了 flag 包来处理命令行参数:还有第三方提供的处理命令 ...