微信扫码,开启公司订阅服务
面试等最新动态
微信扫码,开启公司订阅服务
微信扫一扫
问java、python都是解释型语言么?有什么区别?
答 总的来说,如今编译型语言、解释性语言的分界线不再那么明显,应该避免把语言简单归类为“编译型”和“解释型”。 我们最开始说C/C++是编译型语言,原因是相对于Ruby这样的解释性语言,C/C++需要通过编译器,把源代码编译成中间文件(.o和.obj),然后通过连接器和汇编器生成机器码,即一系列基本操作序列,可以直接让计算机执行。这些机器码也就是我们通常的exe文件。 我们以Ruby为例谈一下解释型的语言,程序从源代码到被计算机执行,也要经历上述步骤。不同的地方在于,C/C++会把那些从源代码“变”来的机器码(即exe文件)保存起来,而Ruby直接将这些生成的基本操作序列(Ruby虚拟机)指令丢给Ruby虚拟机执行然后产生动作了。这就是我们所说的解释型语言。 所以我们看到的现象是,编译型语言要先编译再运行,而解释性语言直接“运行”源代码。 回到最开始的问题,如果以是“否保存机器码为exe文件”为区分,那么Java和Python都属于解释型语言。 但具体来讲,Java和Python是有很大不同的。Java代码从源程序到执行,要经过的过程是:编译器(javac)把源代码转化为字节码,然后解释器(Java.exe)把字节码转换为计算机理解的机器码来执行,其过程中没有把“机器码保存为exe”的行为(这样讲也不完全准确,下面会讲到)。其中编译器和解释器都是Java虚拟机(JVM)的一部分,由于针对不同的硬件与OS,Java解释器有所不同,因此可以实现“一次编译、到处执行”。所以JVM是Java跨平台特性的关键所在。 Java虚拟机(JVM)一种用于计算机设备的规范,可用不同的方式(软件或硬件)加以实现。编译虚拟机的指令集与编译微处理器的指令集非常类似。Java虚拟机包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域 对于Python,其源代码到执行也要经过如下过程:源代码--->字节码--->机器码。跟Java相同的是,其过程中也没有把“机器码保存为exe”的行为。与Java不同的是,Python使用的虚拟机是基于其他语言实现的,比如我们一般使用的Python实际为Cpython,也就是其虚拟机由C实现,这个虚拟机负责把Python源码编译为字节码,再解释执行。另外,还有Jypython、Ironpython等。
面试结果: 感觉靠谱
面试难度: 有难度
面试感受: 很好
面试结果: 未通过
面试难度: 一般
面试感受: 一般
面试结果: 确定通过
面试难度: 有难度
面试感受: 很好
走了一遍简历,感觉只要阐述得清就行
登录后可以解锁查看当前内容
微信扫码进入「看准」小程序 全站内容无限畅读
面试结果: 感觉靠谱
面试难度: 有难度
面试感受: 一般
电话面试,没有考算法,就是一些专业相关的知识点
登录后可以解锁查看当前内容
微信扫码进入「看准」小程序 全站内容无限畅读
面试结果: 感觉靠谱
面试难度: 未评价
面试感受: 很好
过程特别复杂,几乎持续三个月,因为headcount的原因。...
问遇到过困难的事情是什么,如何解决?
登录后可以解锁查看当前内容
微信扫码进入「看准」小程序 全站内容无限畅读
面试结果: 确定通过
面试难度: 有难度
面试感受: 很好
IBM找猎头找到我,人事1个人面试我,过了3天通知我WW来人...
问1、为什么辞职 2、过去经理的最困难的事情,你是怎么处理的 3、工作经历
登录后可以解锁查看当前内容
微信扫码进入「看准」小程序 全站内容无限畅读
面试结果: 确定通过
面试难度: 很容易
面试感受: 一般
由于IBM连续通知了两条信息,一条是9:00参加笔试,然后接...
问说说自己做的东西,为什么要这么做? 感觉他们更看重人的分析问题解决问题的能力,而不是你现在能做什么?
登录后可以解锁查看当前内容
微信扫码进入「看准」小程序 全站内容无限畅读
面试结果: 确定通过
面试难度: 有难度
面试感受: 很好
微信扫码
下载看准App
微信扫码下载看准App
打开App搜索"腾讯"
Karlie等54位老鸟等你来
12