Java程序运行机制-学习笔记(1)

高级程序语言按照执行方式分为两种:编译型和解释型

1.编译型

针对一个运行系统,翻译成该系统能够认识的机器码,有的编译完还需要对其他编译好的目标代码进行连接,实现低层次的代码复用。

例:C、C++、FORTRAN、Pascal等高级语言

 

2.解释型

每次程序运行,都需要从新编译。

例:Ruby、Python等

 

伪编译型:VB  首先编译成P-代码,并将解释引擎封装到可执行程序中,当点击EXE文件时,启动解释引擎,解释并执行代码。

 

java编译运行原理:

java源码->java编译器->.class字节码文件->不同系统的JVM虚拟机->适应当前系统运行的机器码

 

      该原理实现了java语言的平台无关性,关键在于JVM虚拟机的实现:JVM是抽象的计算机,也同样有指令集并使用不同的存储空间。

      JVM虚拟机的运行需要依赖一些类加载器和字节码校验器等,这些都封装到JRM运行时环境中,所有说没有单独运行的JVM虚拟机。详细区别见http://blog.csdn.net/jojo52013145/archive/2010/08/10/5801916.aspx

 

java垃圾回收:

java程序中内存的分配和回收都是系统进行的,通常JRE会提供一条超级线程进行检查和控制,一般都会在CPU空闲或者内存不足的时候进行垃圾回收,开发人员不能控制。只能通过 对象=null/对象.finalize() /System.gc() 建议系统去回收,但是也只是建议,并不能精确的控制垃圾回收。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值