iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Java Runtime类详解_动力节点Java学院整理
  • 734
分享到

Java Runtime类详解_动力节点Java学院整理

javaruntime 2023-05-31 16:05:36 734人浏览 安东尼
摘要

一、概述      Runtime类封装了运行时的环境。每个 Java 应用程序都有一个 Runtime 类实例,使应用程序能够与其运行的环境相连接。一般不能实例化一个Runtime对象,应

一、概述

      Runtime类封装了运行时的环境。每个 Java 应用程序都有一个 Runtime 类实例,使应用程序能够与其运行的环境相连接。一般不能实例化一个Runtime对象,应用程序也不能创建自己的 Runtime 类实例,但可以通过 getRuntime 方法获取当前Runtime运行时对象的引用。一旦得到了一个当前的Runtime对象的引用,就可以调用Runtime对象的方法去控制Java虚拟机的状态和行为。 当不被信任的代码调用任何Runtime方法时,常常会引起SecurityException异常。

二、常见的应用

1、内存管理:

Java提供了无用单元自动收集机制。通过totalMemory()和freeMemory()方法可以知道对象的堆内存有多大,还剩多少。Java会周期性的回收垃圾对象(未使用的对象),以便释放内存空间。但是如果想先于收集器的下一次指定周期来收集废弃的对象,可以通过调用GC()方法来根据需要运行无用单元收集器。一个很好的试验方法是先调用gc()方法,然后调用freeMemory()方法来查看基本的内存使用情况,接着执行代码,然后再次调用freeMemory()方法看看分配了多少内存。下面的程序演示了这个构想。

//此实例来自《java核心技术》卷一 class MemoryDemo{     public static void main(String args[]){         Runtime r = Runtime.getRuntime();         long mem1,mem2;         Integer someints[] = new Integer[1000];         System.out.println("Total memory is :" + r.totalMemory());         mem1 = r.freeMemory();         System.out.println("Initial free is : " + mem1);         r.gc();         mem1 = r.freeMemory();         System.out.println("Free memory after garbage collection : " + mem1);         //allocate integers         for(int i=0; i<1000; i++) someints[i] = new Integer(i);          mem2 = r.freeMemory();         System.out.println("Free memory after allocation : " + mem2);         System.out.println("Memory used by allocation : " +(mem1-mem2));          //discard Intergers         for(int i=0; i<1000; i++) someints[i] = null;         r.gc(); //request garbage collection         mem2 = r.freeMemory();         System.out.println("Free memory after collecting " + "discarded integers : " + mem2);     } }

--结束END--

本文标题: Java Runtime类详解_动力节点Java学院整理

本文链接: https://www.lsjlt.com/news/226888.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java Runtime类详解_动力节点Java学院整理
    一、概述      Runtime类封装了运行时的环境。每个 Java 应用程序都有一个 Runtime 类实例,使应用程序能够与其运行的环境相连接。一般不能实例化一个Runtime对象,应...
    99+
    2023-05-31
    java runtime
  • Java Scaner类详解_动力节点Java学院整理
    Java.util.Scanner是Java5.0的新特征,主要功能是简化文本扫描。这个类最实用的地方表现在获取控制台输入,其他的功能都很鸡肋,尽管Java API文档中列举了大量的API方法,但是都不怎么地。 一、扫描控制台输入...
    99+
    2023-05-31
    java scaner
  • Java System类详解_动力节点Java学院整理
    System类是jdk提供的一个工具类,有final修饰,不可继承,由名字可以看出来,其中的操作多数和系统相关。其功能主要如下:• 标准输入输出,如out、in、err• 外部定义的属性和环境变量...
    99+
    2023-05-31
    java system类 sys%
  • Java内部类_动力节点Java学院整理
    内部类是指在一个外部类的内部再定义一个类。类名不需要和文件夹相同。内部类可以是静态static的,也可用public,default,protected和private修饰。(而外部顶级类即类名和文件名相同的只能使用public和defau...
    99+
    2023-05-31
    java 内部类 ava
  • Java类的继承实例详解(动力节点Java学院整理)
    一.你了解类吗?  在Java中,类文件是以.java为后缀的代码文件,在每个类文件中最多只允许出现一个public类,当有public类的时候,类文件的名称必须和public类的名称相同,若不存在public,则类文件的名称可以为任意的名...
    99+
    2023-05-31
    java 类继承 继承
  • Java反射机制详解_动力节点Java学院整理
    Java 反射机制介绍Java 反射机制。通俗来讲呢,就是在运行状态中,我们可以根据“类的部分已经的信息”来还原“类的全部的信息”。这里“类的部分已经的信息”,可以是“类名”或“类的对象”等信息。“类的全部信息”就是指“类的属性,方法,继承...
    99+
    2023-05-31
    java 反射 机制
  • Java多态(动力节点Java学院整理)
    什么是多态 面向对象的三大特性:封装、继承、多态。从一定角度来看,封装和继承几乎都是为多态而准备的。这是我们最后一个概念,也是最重要的知识点。 多态的定义:指允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象...
    99+
    2023-05-31
    java 多态 ava
  • Java死锁_动力节点Java学院整理
    死锁是两个甚至多个线程被永久阻塞时的一种运行局面,这种局面的生成伴随着至少两个线程和两个或者多个资源。在这里我已写好一个简单的程序,它将会引起死锁方案然后我们就会明白如何分析它。Java死锁范例ThreadDeadlock.javapack...
    99+
    2023-05-31
    java 死锁 ava
  • Java中的clone方法详解_动力节点Java学院整理
    Java中对象的创建clone顾名思义就是复制, 在Java语言中, clone方法被对象调用,所以会复制对象。所谓的复制对象,首先要分配一个和源对象同样大小的空间,在这个空间中创建一个新的对象。那么在java语言中,有几种方式可以创建对象...
    99+
    2023-05-31
    java clone 方法
  • redis哈希类型_动力节点Java学院整理
    redis中的hash也是我们使用中的高频数据结构,它的构造基本上和编程语言中的HashTable,Dictionary大同小异,如果大家往后有什么逻辑需要用Dictionary存放的话,可以根据场景优先考...
    99+
    2022-06-04
    节点 类型 动力
  • redis集合类型_动力节点Java学院整理
    我们来看看Redis五大类型中的第四大类型:“集合类型”,集合类型还是蛮有意思的,先看redis手册,如下: 上面就是redis中的set类型使用到的所有方法,还是老话,常用的方法也就那么四个(CURD)...
    99+
    2022-06-04
    节点 类型 动力
  • redis列表类型_动力节点Java学院整理
    据说60%的人使用redis看重的是redis中的list类型,那这个list有什么用呢???不用我说大家都明白,做队列使用呗,为什么用它呢,很简单呗,因为有了它我就不需要专门的MQ产品啦,比如说Rabbi...
    99+
    2022-06-04
    节点 类型 动力
  • redis数据类型_动力节点Java学院整理
    Redis支持5种数据类型,它们描述如下: Strings - 字符串 Redis的字符串是字节序列。在Redis中字符串是二进制安全的,这意味着他们有一个已知的长度,是没有任何特殊字符终止决定的,所以可...
    99+
    2022-06-04
    节点 数据类型 动力
  • Sax解析xml_动力节点Java学院整理
    JAVA 解析 XML 通常有两种方式,DOM 和 SAX。DOM 虽然是 W3C 的标准,提供了标准的解析方式,但它的解析效率一直不尽如人意,因为使用DOM解析XML时,解析器读入整个文档并构建一个驻留内存的树结构(节...
    99+
    2023-05-31
    java sax 解析
  • Dom4j解析XML_动力节点Java学院整理
    dom4j是一个Java的XML API,类似于jdom,用来读写XML文件的。dom4j是一个非常非常优秀的Java XML API,具有性能优异、功能强大和极端易用使用的特点,同时它也是一个开放源代码的软件,可以在SourceForge...
    99+
    2023-05-31
    dom4j 解析 xml
  • Java Set简介_动力节点Java学院整理
    1. 概述           Java 中的Set和正好和数学上直观的集(set)的概念是相同的。Set最大的特性就是不允许在其中存放的元素是重复的...
    99+
    2023-05-31
    java set ava
  • Java Map简介_动力节点Java学院整理
    Map简介将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值。此接口取代 Dictionary 类,后者完全是一个抽象类,而不是一个接口。 Map 接口提供三种collection 视图,允许以键集、值集或键-值映射关...
    99+
    2023-05-31
    java map ava
  • Java 线程池_动力节点Java学院整理
    线程池系统启动一个新线程的成本是比较高的,因为它涉及到与操作系统的交互。在这种情况下,使用线程池可以很好的提供性能,尤其是当程序中需要创建大量生存期很短暂的线程时,更应该考虑使用线程池。与数据库连接池类似的是,线程池在系统启动时即创建大量空...
    99+
    2023-05-31
    java 线程池 ava
  • Java FileDescriptor总结_动力节点Java学院整理
    FileDescriptor 介绍FileDescriptor 是“文件描述符”。FileDescriptor 可以被用来表示开放文件、开放套接字等。以FileDescriptor表示文件来说:当FileDescriptor表示某文件时,我...
    99+
    2023-05-31
    java filedescriptor ava
  • Java链接redis_动力节点Java学院整理
    要在Java程序中使用使用操作Redis,需要确保有Redis的Java驱动程序和Java设置在机器上。现在,让我们来看看如何设置Redis的Java驱动程序。 需要下载jedis.jar。请一定要下载它的最新版本。 需要包括jedis...
    99+
    2023-05-31
    java redis 链接
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作