【Java基础】关于Java基础的一些有趣的常识!

news/2024/6/3 22:48:38 标签: java, jvm, 开发语言, eclipse, java-ee

前言

今天看到了一篇文章,是关于茶余饭后的Java常识的一些有趣解答,我觉得写的很有趣很易懂,所以截取了其中我觉得比较有趣的问题分享给大家。原文:饭后茶余的java常识 - 知乎 (zhihu.com)

1. Java语言的特点有哪些?

1、*跨平台,平台是指操作系统(Windows、MacOS、Linux)。

2、*面向对象。

3、简单性,Java是模仿C++编写的一门语言,因为C++的多继承、指针、内存回收等等都属于比较难控制的东西,所以Java摒弃多继承、指针、内存回收,取而代之的是单继承、引用、GC,以降低程序开发复杂度。

3.、*大数据开发相关,一些大数据框架使用Java语言编写的,如Hadoop。


 

2. Java为什么可以跨平台?

因为有JVM虚拟机。

跨平台的理解:

一个中国人要去日本、美国、印度尼西亚旅游,但是这个中国人只会中文,所以他想要在语言上无障碍的话,必须要找一个翻译人员陪同,而这个翻译人员应该分别至少要会中日、中英、中印两语才行。这个的翻译人员就是JVM虚拟机的一个缩影,而日本、美国、印度尼西亚就是操作系统的一个缩影,因此一个操作系统应该有自己独立的JVM虚拟机。

3. 什么是JVM虚拟机?

JVM是Java Virtual Machine的英文首字母缩写。

Java虚拟机会在内存中开辟一块空间,专门用于运行字节码文件,JVM是在操作之前的一台虚拟的机器,用于屏蔽底层操作系统之间的差异,从而实现java源代码文件“一次编译、操作运行”的功能。


 

4. Java是一门计算机高级编程语言,如何理解?

语言是一种规范,是沟通交流的一种方式,那么计算机语言就是人和计算机交流的方式,是人们事先定义好一种规范,只要按照规范编写源文件,那么计算机就能识别。因此同理可得C、C++、PHP计算机语言都是有自己和计算机交互的一套规范,如关键字,通过关键字就能识别你想要计算机做什么。

计算机只认识两个数字:0和1。计算机由硬件组成,计算机通过电路元件的通电(1)和不通电(0)来记录信息。所以说最后编译成字节码文件是一长串只有0和1组成的数字。如果说让我们编写一长串0和1去让计算机执行当然是可以,还省去了编译环节,但是这种编码方式效率极其低,因为我们要记忆很多一长串0、1数字,然后再进行编程,相反如果我们使用日常语言去编写代码,那么我们不需要花费大量的时间在0、1码的记忆和查找中,我们只需要使用提炼后的日常语言(关键字)进行编码即可,提高了开发效率,当然提炼后的日常语言就是一套编程规范,即C、C++、PHP、Java、JS等等,C、C++、PHP、Java、JS只是一种命名,真正实现规范的一些大公司的开发人员。所以说,一门计算机编程语言越高级就意味着它的规范越贴近我们的日常生活的语言。

附上语言发展过程图:

5. 程序存储在哪里?

程序就是存储在一个计算机文件中的一堆英文。

我们写完的程序,计算机是不认识的,必须通过JVM虚拟机将编写好的源文件编译(翻译)成计算机所识别的字节码文件。

编译过程好比如有一个中国学生用中文写了10页纸的论文给一个外籍老师看,这个外籍老师不认识中文,只认识英文,所以此时这个中国学生就需要一名中英翻译的同学,帮它把这篇中文论文翻译成英文论文,内容完全一样,只不过是表现形式不一样。

因此,最终有两篇论文,一篇是中文论文,另一篇是英文论文,对应到编程中,最终有两个文件,一个是源文件,另一个字节码文件。

6. 源文件和字节码文件的命名规范是什么?

Java源文件命名为:源文件名.java

字节码文件命名为:字节码文件名.class。

7. 源文件和字节码如何打开?

Java源文件通过记事本打开。

字节码文件通过JRE打开,即Java Runtime Environment,Java运行环境,好比mp3要一个音乐播放器才可以打开,mp4要一个视频播放器才可以打开,doc文档需要WPS或者Office才可以打开。


 

8. JVM、JRE、JDK各是什么,有什么关系?

JVM

JVM,Java Virtual Machine,java虚拟机。

Java虚拟机会在内存中开辟一块空间,专门用于运行字节码文件,JVM是在操作之前的一台虚拟的机器,用于屏蔽底层操作系统之间的差异,从而实现java源代码文件“一次编译、操作运行”的功能。

JRE

JRE,Java Runtime Environment,Java运行环境

JRE中包含了JVM,因此java源文件才能运行在JRE中,并且在运行之前,源文件需要翻译成字节码文件,随后才将字节码文件放在JVM上运行。

因此下载JRE的时候就间接下载了JVM。所以如果想要运行别人写好的java程序,只需在电脑上安装JRE即可。但是开发人员仅仅只有JRE还不够,我们是做开发的,是一个从无到有的过程,是我们写好了java程序,交给别人来运行,所以我们还需要JDK。

JDK

JDK,Java Development Kit,Java开发工具包

JDK涵盖了很多在开发时需要用到的工具。因为JDK是开发人员使用的,开发出来的java程序需要立即执行看下是否有bug或者其他问题,所以JDK中包含了JRE,即也包含了JVM。所以我们Java开发人员只需要安装JDK,安装完JDK就可以进行开发了。

9. 记事本和IDE的区别?

IDE是Integrated Development Environment是首字母缩写,记事本和IDE都可用于开发java程序,记事本仅仅只有记录java代码的功能,而IDE除了可以记录java代码之外,还有关键字拼写错误高亮、代码出错异常、编译时异常高亮提示、自动导包、快捷键功能等等一系列辅助咱们开发者进行软件开发,因此我们有理由拒绝使用IDE吗?答案很显然。

建议在学习javaSE阶段使用记事本进行开发,学习到集合、IO等常用类再切换IDE进行开发,因为常用类有很多异常以及包要导入,在我们通过一段时间的纯记事本开发之后,我们可以开始使用IDE,感受IDE带给我们的快感。

java开发常用的IDE:Eclipse、MyEclipse、IDEA。


http://www.niftyadmin.cn/n/5367384.html

相关文章

运维必会篇-日志(错误日志,二进制日志,查询日志,慢查询日志)

日志 错误日志 错误日志是 MySQL 中最重要的日志之一,它记录了当 mysqld 启动和停止时,以及服务器在运行过 程中发生任何严重错误时的相关信息。当数据库出现任何故障导致无法正常使用时,建议首先查看此日 志。 该日志是默认开启的&#x…

【动态规划】【字符串】【行程码】1531. 压缩字符串

作者推荐 视频算法专题 本文涉及知识点 动态规划汇总 LeetCode 1531. 压缩字符串 II 行程长度编码 是一种常用的字符串压缩方法,它将连续的相同字符(重复 2 次或更多次)替换为字符和表示字符计数的数字(行程长度)…

管理类联考-复试-全流程演练-导航页

文章目录 整体第一步:学校导师两手抓——知己知彼是关键学校校训历史 导师你对导师的研究方向有什么认知。 第二步:面试问题提前背——押题助沟通英文面试经典问题——出现概率:100%自我介绍——出现概率:100%为什么选择这个专业&…

LabVIEW多功能接口卡驱动

LabVIEW多功能接口卡驱动 随着自动化测试系统的复杂性增加,对数据采集与处理的需求不断提高。研究基于LabVIEW开发平台,实现对一种通用多功能接口卡的驱动,以支持多通道数据采集及处理功能,展现LabVIEW在自动化和测量领域的强大能…

设计模式-行为型模式(上)

行为型模式用于描述程序在运行时复杂的流程控制,即描述多个类或对象之间怎样相互协作共同完成单个对象都无法单独完成的任务,它涉及算法与对象间职责的分配。 行为型模式分为类行为模式和对象行为模式,前者采用继承机制来在类间分派行为&…

PMP考试成绩如何查询?

PMP考试成绩已经陆续出来了,出成绩时间大概一周左右,没收到的别着急,先把如何查询成绩路径弄清楚。 【如何查询成绩】 1、输入网址(PMI官网,不知道网址的私戳),点击 Log In 如果忘记 PMI 的账…

【SAR成像】基于RD、CS和ωk算法的合成孔径雷达成像算法原理与实现

基于RD、CS和ωk算法的合成孔径雷达成像算法实现 前言SAR基本概念雷达获取数据的几何关系低斜视角下的回波信号模型 RADARSAT-1主要参数数据预处理数据读取与再封装数据补零 成像算法坐标轴的产生RD算法距离压缩距离徙动矫正方位压缩 CS算法第一次相位相乘 变标后的信号第二次相…

Nginx限流设置

1.反向代理(建议先看正向代理,反向代理则是同样你要与对方服务器建立连接,但是,代理服务器和目标服务器在一个LAN下,所以我们需要与代理服务器先建交,再由他获取与目标服务器的交互,好比一个带刀侍卫守护着目标服务器) 屏蔽目标服务器的真实地址,相对安全性较好&am…