编译原理读后感想

转入Java方向后,一切重头再来,从基础到标准组件,一路走来,重新进入计算机学科的魅力。

在快速阅读rt.jar包后,发现java的底层确实很基础,主要数数据结构/各个方向的通用算法/以及相关协议与标准的实现。为了进一步了解java的原理,接着对jvm8与jls8进行了梳理。整体来看java的整体内容与c#类似,只是jvm的不同版本让jls能在不同的机器上运行。而c#近年来也在打破window专用的局面,.net core 让c#语言进入了跨平台行列....

基于当下的需求,主要方向将暂时在java方向......

作为在08年毕业的我们,一直工作在软件开发的一线,借着对语言的扩张。重新来认识下惜惜相伴的计算机.

软件与计算机之间的关系大体如下:

作为软件开发人员,主要在计算机语言与应用软件层进行工作推进,大分工模型下,确实也只需要把本职工作干好就行....

由于近日我们工作流产品初步成型,在短时间内不会再大改,并且在这过程中对java存在了很多疑问,如:虚拟机配置优化/运行过程中内存分析/JVM内存管理等内容。所以进入到了编译原理的分析。

编译原理是对编译器的原理进行全面的讲解,编译器核心是把计算机语言解析为目标机器语言,是目标机器能运行相应的程序。

整体执行过程大概如下:

经过这些步骤处理后,形成最终目标机器能运行的代码。

编译器本身也是用特定的程序语言编写的.......所以编译器本身就是一个应用程序....

应用程序编译后最终需要加载到内存中,内存的存储模型大概如下:

 代码区与静态区在程序编译完成后已经确定,栈区一般存储程序运行过程中的调用栈与上下文信息,堆区用于存储运行过程中的具体对象。

程序运行上下文对象存在在栈中,叫做 活动记录或调用栈帧。大体的结构如下:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值