今天继续在看Think in java .看到讲初始化这章,讲到System.gc();进行垃圾回收,强制进行终结动作(finilize()),一时兴起看了下System.gc()方法的源代码.如下
public static void gc() {
Runtime.getRuntime().gc();
}
继续去看Runtime类的gc()方法
public native void gc();
看了下上面方法的JAVADOC
/**
* Runs the garbage collector.
* Calling this method suggests that the Java virtual machine expend
* effort toward recycling unused objects in order to make the memory
* they currently occupy available for quick reuse. When control
* returns from the method call, the virtual machine has made
* its best effort to recycle all discarded objects.
* <p>
* The name <code>gc</code> stands for "garbage
* collector". The virtual machine performs this recycling
* process automatically as needed, in a separate thread, even if the
* <code>gc</code> method is not invoked explicitly.
* <p>
* The method {@link System#gc()} is the conventional and convenient
* means of invoking this method.
*/
native关键字 说明垃圾回收调用的是本地方法,JAVADOC说明垃圾回收是回收当占用内存空间的无用对象,垃圾回收只在需要的时候进行回收。和你调不调用垃圾回收没有啥关系,即使你不调用需要的时候JVM也会自动调用垃圾回收的方法
下面说下native关键字
Native方法一般用于两种情况:
1)在方法中调用一些不是由java语言写的代码。
2)在方法中用java语言直接操纵计算机硬件
如果使用了native方法也就丢失了java的方便性和安全性。Native方法的执行依赖于JVM的设计者,
在sun的JVM中,可以通过JNI(Java Native Interface) API接口来实现本地化。
关于JAVA垃圾回收机制的算法可参考 http://developer.51cto.com/art/201106/271896.htm
分享到:
相关推荐
由Java语言与C/C++对象在内存管理方式的不同,引出了Java语言的优势技术——垃圾处理技术。通过对GC工作原理的阐述及对一些传统的垃圾收集器的分析,提出了一种新的垃圾处理算法,一定程度上改善和提高了Java垃圾...
3.讲解Java技术的特点,和c语言等编程语言比较,并引出JVM、字节码等概念 4.给出平台的搭建步骤,重点讲解几个环境变量设置的意义 5.第1个Java程序:编程实例操作示范,向学生示范编写、编译与运行Java程序的3个...
EAS基础资料的引入引出流程和代码的实现应该对大家有用,共享一下。
由此引出消除闪烁的方法——双缓冲。双缓冲是计算机动画处理中的传统技术,在用其他语言编程时也可以实现。本文从实例出发,着重介绍了用双缓冲消除闪烁的原理以及双缓冲在Java中的两种常用实现方法(即在update...
7.1.1 引出问题:开动汽车 154 7.1.2 那么,方法到底是什么呢? 155 7.1.3 方法调用过程初探 156 7.2 Java普通方法的组成部分 157 7.2.1 访问控制符:public 158 7.2.2 返回值和关键字void 158 7.2.3 方法名...
7.1.1 引出问题:开动汽车 154 7.1.2 那么,方法到底是什么呢? 155 7.1.3 方法调用过程初探 156 7.2 Java普通方法的组成部分 157 7.2.1 访问控制符:public 158 7.2.2 返回值和关键字void 158 7.2.3 方法名...
文章主要描述的是java连接MYSQL数据库的正确操作步骤,在此篇文章里我们主要是以实例列举的方式来引出其具体介绍。先创建数据库: CREATE DATABASE SCUTCS; 接着,创建表: CREATE TABLE STUDENT ( SNO CHAR(7)...
本书从计算机软件设计员的角度出发,结合软件设计语言的发展趋势,就 Java 语言的应用与面向对象 ...从而引出 Java 面向对象程序设计思想。本书从 Java 语言和面向对象程序设计方法相结合入手,以大量实例
Java IO 体系 - Java IO 体系 ...Java IO 是一个庞大的知识体系,很多人学着学着就会学懵了,包括我在内也是如此,所以本文将会从 Java 的 BIO 开始,一步一步深入学习,引出 JDK1.4 之后出现的 NIO
金蝶K3凭证引入引出的指导,适合新手使用!欢迎大家下载
本PPT对java继承的基本概念,语法及应用进行了讲解。在继承的基础上进一步讲解了由继承引出的方法重写及上塑造性,最后引出多态的概念以及相关代码实例
synchronized关键字是JAVA中常用的同步功能,提供了简单易用的锁功能。这篇文章主要介绍了Java中synchronized关键字引出的多种锁问题,需要的朋友可以参考下
GBT 2423.60-2008 电工电子产品环境试验 第2部分:试验方法 试验U:引出端及整体安装件强度.pdf
由如下代码引出@Override的讲解: User类中的方法: public boolean equals(User other) { return name.equals(other.name); } 下面的代码执行时将有问题: User user1 = new User(); User user2 = new ...
欧姆龙小型导线引出型(非变调光) EE-SX91pdf,欧姆龙小型导线引出型(非变调光) EE-SX91:通过M3螺钉安装,满足客户对小型化传感器的需求。“入光时ON”和“遮光时ON”两种输出。尺寸小巧,有5种型号备选,故而应用...
利用当前先进的热交换器设备和控制技术,在不影响压风机正常运行的情况下,把高温冷却油路引出机体在交换器中和软化水进行热量交换,很好地把回收的热量用于加热生活用水,整个热回收流程连续且加热较快,产水量较大,采用...
网管qqcc 图文教程 K3_BOM单引出引入方法.doc
Java的强大特性让其在游戏编程和多媒体动画处理方面也毫不逊色。在Java游戏编程和动画编程中最常见的就是对于屏幕闪烁的处理。本文从J2SE的一个再现了屏幕闪烁的Java Appilication...由此引出消除闪烁的方法——双缓冲
(类的加载概述和加载时机) (类加载器的概述和分类) (获取class文件对象的三种方式) (通过反射获取无参构造方法并使用) (通过反射获取带参构造...(通过用户的增删改查和学生的登录注册引出中介) (动态代理的概述和实现)
利用低温甲醇洗洗涤塔上塔引出的甲醇与LNG进行换热,LNG气化,高品质冷能由甲醇带入低温甲醇系统,从而减少低温甲醇洗装置制冷系统的功耗,降低煤制天然气项目的运行成本;对于年产40亿m~3的煤制天然气项目,通过对LNG气化...