编译型和解释型
Java程序运行机制
-
编译型
-
解释型
到底什么是编译型、解释型?
从字面上来说编译和解释都有翻译的意思。但是唯一的区别就是"时机"不同!!!
举例:
一个中国人,一个美国人
他们俩之间国家的文字和语言都是不一样的,比如中国人写了一本小说,美国人想看怎么办?可以想到两种方式,第一种:美国人要想看中国人的书,他不懂,我们可以把中国人的这本书全部翻译成一本英文书,这时美国人就能看得懂这本书了。第二种:这个美国人有钱,他雇佣了一名翻译官,这个美国人看一段这位翻译官就给他翻译一段,跟着他的进度走。但是这位翻译官,某天不再了或者美国人又想回去看以前的章节,这时翻译官需要在翻译一遍。这两种方式都可以让这个美国人看完这本书。这两种方式都有好处,但是第一种美国人拿到了全部翻译成英文的这本书,这时这位中国人又更新了这本书的内容,所以这位美国人需要在花一份钱去买这本书。但是有一名翻译官,不管这位中国人何时更新这本书的内容,这名翻译官都可以及时翻译给美国人。
回到概念
编译型就是指将中文书直接翻译成英文版进行出售,在程序中的感觉就是它有一个负责翻译的程序,将我们自己写的源代码转换成计算机可执行的代码,这个过程称为编译型(compile),在程序中负责编译的程序称为编译器。
解释型就是指翻译官,我想读哪篇内容你就给我翻译哪篇内容,用一下编译一下,会导致性能损失。
编译型的执行速度更快,因为它把所有东西都编译好了,电脑只管去执行就好了,对操作系统要求比较低。所以一般操作系统都是编译型,还就是C语言、C++均为编译型。
解释型可以理解成一个网页,假如这个网页的脚本对速度的要求不高,比如Java,JavaScript,python。
程序运行机制
每日三道Java面试题(基础篇)
1.public,private,protected,默认的区别?
修饰符 | 当前类 | 同包 | 子类 | 其他包 |
---|---|---|---|---|
public | √ | √ | √ | √ |
protected | √ | √ | √ | × |
default | √ | √ | × | × |
private | √ | × | × | × |
类的成员不写访问修饰时默认位default,默认对于同一个包中的其他类相当于公开(public),对于不是同一个包中的其他类相当于私有(private)。
受保护(protected)对子类相当于公开,对不是同一包中的没有父子关系的类相当于私有。
Java中,外部类的修饰符只能是public或默认,类的成员(包括内部类)的修饰符可以是以上四种。
2.this和super有什么区别?
this:代表当前对象本身:
this(...):调用本类的构造方法;
this.成员变量:调用当前对象的成员变量(包括从父类继承的);
this.成员方法(...):调用本类的成员方法(包括从父类继承的);
super:代表当前对象的父类;
super(...):调用父类的构造方法;
super.成员变量:调用父类的成员变量;
super.成员方法(...):调用父类的成员方法;
3.Java中的运算符都有哪些?
Java中的运算符有以下几类:
运算符 | 示例 |
---|---|
算术运算符 | + - * / % ++ -- |
关系运算符 | == != > < >= <= |
位运算符 | & ^ ~ >> << >>> |
逻辑运算符 | && || ! |
赋值运算符 | = += -= *= /= (%) = << = >> & = ^= |= |
三目运算符 | ?: |
优先级从高到低排列:
类别 | 操作符 | 关联性 |
---|---|---|
后缀 | () [] . | 从左到右 |
一元 | i++ i-- | 从左到右 |
一元 | ++i --i + - ~ ! | 从右到左 |
乘性 | * / % | 从左到右 |
加性 | + - | 从左到右 |
移位 | >> >>> << | 从左到右 |
关系 | > >= < <= | 从左到右 |
相等 | == != | 从左到右 |
按位与 | & | 从左到右 |
按位异或 | ^ | 从左到右 |
按位或 | | | 从左到右 |
逻辑与 | && | 从左到右 |
逻辑或 | || | 从左到右 |
条件 | ?: | 从右到左 |
赋值 | = + = - = * = / = % = >> = << = & = ^ = | = | 从右到左 |
逗号 | , | 从左到右 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!