java入门(1) 程序运行机制及运行过程

首先我们来看一下java程序在底层是怎么工作的:

JAVA有两种核心机制:

Java虚拟机(Java Virtual Machine):

1、java虚拟机可以理解成一个以字节码为机器指令的CPU。

2、对于不同的平台,有不同的虚拟机。

3、java虚拟机机制屏蔽了底层运行平台的差别,实现了“一次编译,随处运行”。

垃圾收集机制(Garbage collection)

1、不再使用的内存空间应回收——垃圾收集

2、Java语言相对于C/C++而言消除了程序员回收无用内存空间的责任;提供了一种系统线程跟踪存储空间的分配情况。并在JVM的空闲时,检查并释放那些可被释放的存储器空间。

3、垃圾收集在Java程序运行过程中自动进行,程序员无法精确控制而后干预。

垃圾回收机制——Java与C/C++

 一、谁在做Garbage Collection? 

二、对象在啥时被丢弃?

三、丢弃就被回收?

四、没有引用变量指向的对象有用吗?

五、应用能干预垃圾回收吗?

六、对象被回收时要做的事

http://blog.csdn.net/yi_zz/article/details/7285637

 

时间: 2024-12-20 16:44:59

java入门(1) 程序运行机制及运行过程的相关文章

spring的运行机制或者运行原理

问题描述 最近碰到的这个问题,在网上搜了下,基本上的答案要么是说的SpringMVC的,要么说的是IOC跟AOP的概要,有没有准确一点的答案,望大神指点一二 解决方案 内部最核心的就是IOC了, 动态注入,让一个对象的创建不用new了,可以自动的生产,这其实就是利用java里的反射 反射其实就是在运行时动态的去创建.调用对象,Spring就是在运行时,跟xml Spring的配置 文件来动态的创建对象,和调用对象里的方法的 . Spring还有一个核心就是AOP这个就是面向切面编程,可以为某一类

java web-JAVA web程序在浏览器中运行

问题描述 JAVA web程序在浏览器中运行 JAVA web程序在浏览器中是以插件的形式运行吗? 解决方案 如果是web程序,是要服务器的 但是java的swing.GUI等程序可以不用服务器运行 解决方案二: Java web项目部署后分为由服务器解释执行的,而浏览器充当的是客户端.Javaweb工程的底层是socket,浏览器作为客户端向服务器端发生请求,服务器处理请求并返回响应结果以HTML网页形式呈现.

【朴灵评注】JavaScript 运行机制详解:再谈Event Loop

PS: 我先旁观下大师们的讨论,得多看书了~ 别人说的:"看了一下不觉得评注对到哪里去,只有吹毛求疵之感. 比如同步异步介绍,本来就无大错:比如node图里面的OS operation,推敲一下就可以猜到那是指同步操作(自然不走event loop了):至于watcher啥的,显然只是实现上的特色,即使用同一个queue实现也未尝不可" [原帖: http://www.ruanyifeng.com/blog/2014/10/event-loop.html 作者:阮一峰] 一年前,我写了

JavaScript 运行机制详解:再谈Event Loop

一年前,我写了一篇<什么是 Event Loop?>,谈了我对Event Loop的理解. 上个月,我偶然看到了Philip Roberts的演讲<Help, I'm stuck in an event-loop>.这才尴尬地发现,自己的理解是错的.我决定重写这个题目,详细.完整.正确地描述JavaScript引擎的内部运行机制.下面就是我的重写. 进入正文之前,插播一条消息.我的新书<ECMAScript 6入门>出版了(版权页,内页1,内页2),铜版纸全彩印刷,非常

JavaScript运行机制之事件循环(Event Loop)详解_javascript技巧

一.为什么JavaScript是单线程? JavaScript语言的一大特点就是单线程,也就是说,同一个时间只能做一件事.那么,为什么JavaScript不能有多个线程呢?这样能提高效率啊. JavaScript的单线程,与它的用途有关.作为浏览器脚本语言,JavaScript的主要用途是与用户互动,以及操作DOM.这决定了它只能是单线程,否则会带来很复杂的同步问题.比如,假定JavaScript同时有两个线程,一个线程在某个DOM节点上添加内容,另一个线程删除了这个节点,这时浏览器应该以哪个线

JS的运行机制

代码块: JS中的代码块是指由<script>标签分割的代码段.JS是按照代码块来进行编译和执行的,代码块间相互独立(即就算代码块1出错,但不影响代码块2的加载和执行),但变量和方法共享. 案例:2个代码块   <script type="text/javascript">      console.log("这是代码块一");  </script>     <script type="text/javascrip

《Java 开发从入门到精通》—— 2.4 Java的运行机制

2.4 Java的运行机制 知识点讲解:光盘:视频PPT讲解(知识点)第2章Java的运行机制.mp4 Java语言是一种特殊的高级语言,它不但有解释性语言的特征,也有编译性语言的特征,我们需要先编译Java程序,然后解释运行Java程序.在本章2.2节的内容中,通过一段Java程序了解了编译并运行Java程序的基本方法.我们只是从表面上了解了Java程序的编译和运行流程,为了加深对Java的理解,在本节将从根本上讲解Java程序的运行机制. 2.4.1 编译型/解释型运行机制 高级语言有两种执

Windows程序内部运行机制实例详解_C 语言

本文以孙鑫老师VC++教程中的程序为基础,详细讲解了Windows程序内部运行机制,相信可以帮助大家更好的理解Windows程序运行原理及相应的VC++程序设计.具体内容如下: 创建一个Win32应用程序步骤: 1.编写WinMain函数; 2.创建窗口(步骤如下):  a.设计(一个)窗口类(WNDCLASS)  b.注册(该)窗口类.  c.创建窗口.  d.显示并更新窗口. 3.编写消息循环. 4.编写窗口过程函数. //WinMain.cpp #include <windows.h>

Android SurfaceView运行机制剖析--处理切换到后台再重新进入程序时的异常

有不少朋友都遇到过这种问题,程序执行时切换到后台,然后再重新进入会报异常,本文就这种问题全面讲解下SurfaceView的运行机制,了解了这些原理你就能自己解决这些问题了. 我们通常会通过单击HOME按键或返回按键等操作切换到后台,之后可能会再次进入程序,这个时候就有可能报异常.这里SurfaceView可能报的异常主要有两点,如下: 一.提交画布异常.如下图(模拟器错误提示,以及Logcat Detail) Java代码 public void draw() { try { canvas =