`

JAVA垃圾回收引出的NATIVE

 
阅读更多

今天继续在看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 垃圾回收新算法刍探

    由Java语言与C/C++对象在内存管理方式的不同,引出了Java语言的优势技术——垃圾处理技术。通过对GC工作原理的阐述及对一些传统的垃圾收集器的分析,提出了一种新的垃圾处理算法,一定程度上改善和提高了Java垃圾...

    Java基础教案\JAVA精讲入门

    3.讲解Java技术的特点,和c语言等编程语言比较,并引出JVM、字节码等概念 4.给出平台的搭建步骤,重点讲解几个环境变量设置的意义 5.第1个Java程序:编程实例操作示范,向学生示范编写、编译与运行Java程序的3个...

    EAS模板引入引出

    EAS基础资料的引入引出流程和代码的实现应该对大家有用,共享一下。

    Java双缓冲技术.doc

    由此引出消除闪烁的方法——双缓冲。双缓冲是计算机动画处理中的传统技术,在用其他语言编程时也可以实现。本文从实例出发,着重介绍了用双缓冲消除闪烁的原理以及双缓冲在Java中的两种常用实现方法(即在update...

    JAVA入门1.2.3:一个老鸟的JAVA学习心得 PART1(共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入门1·2·3:一个老鸟的Java学习心得.PART3(共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

    文章主要描述的是java连接MYSQL数据库的正确操作步骤,在此篇文章里我们主要是以实例列举的方式来引出其具体介绍。先创建数据库: CREATE DATABASE SCUTCS; 接着,创建表: CREATE TABLE STUDENT ( SNO CHAR(7)...

    java程序设计教程

    本书从计算机软件设计员的角度出发,结合软件设计语言的发展趋势,就 Java 语言的应用与面向对象 ...从而引出 Java 面向对象程序设计思想。本书从 Java 语言和面向对象程序设计方法相结合入手,以大量实例

    Java IO 体系.md

    Java IO 体系 - Java IO 体系 ...Java IO 是一个庞大的知识体系,很多人学着学着就会学懵了,包括我在内也是如此,所以本文将会从 Java 的 BIO 开始,一步一步深入学习,引出 JDK1.4 之后出现的 NIO

    K3标准凭证引入、引出

    金蝶K3凭证引入引出的指导,适合新手使用!欢迎大家下载

    java继承及多态概念PPT

    本PPT对java继承的基本概念,语法及应用进行了讲解。在继承的基础上进一步讲解了由继承引出的方法重写及上塑造性,最后引出多态的概念以及相关代码实例

    Java中synchronized关键字引出的多种锁 问题

    synchronized关键字是JAVA中常用的同步功能,提供了简单易用的锁功能。这篇文章主要介绍了Java中synchronized关键字引出的多种锁问题,需要的朋友可以参考下

    引出端及整体安装件强

    GBT 2423.60-2008 电工电子产品环境试验 第2部分:试验方法 试验U:引出端及整体安装件强度.pdf

    Java 高级特性.doc

    由如下代码引出@Override的讲解: User类中的方法: public boolean equals(User other) { return name.equals(other.name); } 下面的代码执行时将有问题: User user1 = new User(); User user2 = new ...

    欧姆龙小型导线引出型(非变调光) EE-SX91.pdf

    欧姆龙小型导线引出型(非变调光) EE-SX91pdf,欧姆龙小型导线引出型(非变调光) EE-SX91:通过M3螺钉安装,满足客户对小型化传感器的需求。“入光时ON”和“遮光时ON”两种输出。尺寸小巧,有5种型号备选,故而应用...

    矿井压风机热能回收综合利用的研究和应用

    利用当前先进的热交换器设备和控制技术,在不影响压风机正常运行的情况下,把高温冷却油路引出机体在交换器中和软化水进行热量交换,很好地把回收的热量用于加热生活用水,整个热回收流程连续且加热较快,产水量较大,采用...

    K3_BOM单引出引入方法.doc

    网管qqcc 图文教程 K3_BOM单引出引入方法.doc

    java双缓冲消除闪烁

    Java的强大特性让其在游戏编程和多媒体动画处理方面也毫不逊色。在Java游戏编程和动画编程中最常见的就是对于屏幕闪烁的处理。本文从J2SE的一个再现了屏幕闪烁的Java Appilication...由此引出消除闪烁的方法——双缓冲

    JAVA反射机制详解视频

    (类的加载概述和加载时机) (类加载器的概述和分类) (获取class文件对象的三种方式) (通过反射获取无参构造方法并使用) (通过反射获取带参构造...(通过用户的增删改查和学生的登录注册引出中介) (动态代理的概述和实现)

    LNG冷能由煤制天然气低温甲醇洗装置回收利用的可行性研究

    利用低温甲醇洗洗涤塔上塔引出的甲醇与LNG进行换热,LNG气化,高品质冷能由甲醇带入低温甲醇系统,从而减少低温甲醇洗装置制冷系统的功耗,降低煤制天然气项目的运行成本;对于年产40亿m~3的煤制天然气项目,通过对LNG气化...

Global site tag (gtag.js) - Google Analytics