Java基础回顾 : Runtime类和System类

2023-10-27

1、 Runtime 类的使用,Runtime 类的定义特点 : 

★ . Runtime类的介绍 :

Runtime 指的是运行时,当每一个JVM 进程启动的时候,都会存在有一个Runtime 类的实例化对象,它是随着JVM 的存在而存在的。通过查看APi可以知道,Runtime类是一个单例模式,构造器被私有化了,并提供了一个方法getRuntime()来获得实例化对象.

★ . Runtime 类的下述方法可以用来取得以下内容:

· 空余内存:
public long freeMemory()
· 总共的内存:
public long totalMemory()
· 最大的可用内存:
public long maxMemory()
在Runtime 类里面有一个重要的方法用于释放垃圾空间:
public void gc()

★ . GC 是什么?如何操作?

· GC 指的是垃圾收集器;
· GC 会由JVM 不定期自动执行,或者直接调用Runtime 类中的gc()方法手工释放。


2、 System 类的基本使用 :

★ . System类常用的方法:

① . 数组的拷贝,但是现在给出的参数类型是Object,Object 可以接收数组类型(因为数组属于引用数据类型)

public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)


② . 在System 类里面有一个取得当前日期时间的方法:
public static long currentTimeMillis()


③ . 另外在System 类里面也可以发现以下的一个方法:
public static void gc()
这个gc()方法并不是一个新实现的方法,而是继续调用了Runtime 类中的gc()方法。


那么下面就根据此GC 方法做一个关于对象回收的实现。例如:在对象创建的时候可以使用构造方法完成一些对象的初始化操作,但是当对象不再使用的时候,发现没有给我们编写对象收尾处理的地方。如果要想在对象收尾前做一些处理,那么必须覆写Object 类之中的一个方法:

④ . protected void finalize() throws Throwable
此方法有可能抛出的是Error 也有可能抛出的是Exception。实际上要知道,不管收尾的时候是否出
现了问题,实际上都不会影响程序运行。

★ . 关于final、finally、finalize 的区别?

· final:是一个关键字,定义不能被继承的类、不能被覆写的方法、常量;
· finally:是异常处理的统一出口,关键字;
· finalize:是Object 类的一个方法,用于执行对象回收前的处理操作。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java基础回顾 : Runtime类和System类 的相关文章

随机推荐

  • Linux 将本地文件上传Linux服务器, 即ssh 命令上传本地文件

    利用ssh传输文件 在linux下一般用scp这个命令来通过ssh传输文件 1 从服务器上下载文件scp username servername path filename var www local dir 本地目录 例如scp root
  • supervisor托管配置nginx

    前言 阅读本文档前 请先了解如何安装配置supervisor和nginx 以下是相关学习文档 超全面 CentOS7 安装及配置supervisor CentOS 安装及配置nginx 配置 1 创建supervisor托管配置文件 详细如
  • oracle导库报959,IMP-00003: 遇到 ORACLE 错误 959

    导入前先要建好表空间和用户 建议你导出的时候按用户导出 不要用sys全部导出来还有在导入的时候需要指定导入到哪个用中去 给个操作手顺吧 我今天刚弄完的 1 导出 exp user user dbname owner user file pa
  • opencv之初学

    浅浅地记录一下自己学习opencv的过程吧 我有想毕业之后从事图像处理方面的工作 所以就从现在学起 争取明年秋招时能拿到offer吧 1 下载opencv opencv有很多的版本 我大概在网上搜了一下它的下载过程 需要在Visual St
  • UE4中文本文件配置文件Json文件XML文件的读写

    虚幻引擎中提供了与平台无关的文件读写与访问接口 通过调用 可以完成一些文件的读写 比如文本文件 配置文件 json文件 xml文件等 完成文件读写 首先需要获取文件路径等相关信息 对调用这些操作 我们需要包含头文件PlatformFilem
  • stm32水质检测系统(TDS检测,水温检测,PH检测,wifi上传,上位机显示)

    一 硬件材料清单 1 STM32核心板 2 OLED显示屏 3 PH传感器 4 TDS传感器 5 DS18B02水温传感器 6 ESP8266 二 实现的功能 1 数据的实时检测 2 本地OLED数据实时刷新 3 远程终端上位机数据显示刷新
  • Flask系列 路由系统

    Flask路由系统细分 from flask import Flask app Flask name app route def index return ok if name main app run 从这个简单的代码入口 来剖析一下路由
  • SpringIOC和AOP概念原理

    springIOC概念和原理 控制反转 把对象创建和对象之间的调用过程 交给Spring进行管理 使用IOC目的 为了耦合度降低 IOC思想是基于IOC容器完成 IOC容器底层就是对象工厂 Spring提供了IOC容器2中实现方式 俩个接口
  • 利用强化学习进行股票操作实战(一)

    利用强化学习进行股票操作实战 今天开始利用强化学习实现股票操作 我在网上找了一个简单的强化学习进行股票操作的例子 并在此基础上进行了小改动 首先讲下建模的思路 当模型发出买入指令时 我们一次性全部买入 当模型发出卖出指令时则一次性全部卖出
  • Swift 中 10 个震惊小伙伴的单行代码

    作者 uraimo 原文链接 原文日期 2016 01 06译者 bestswifter 校对 numbbbbb 定稿 小锅 几年前 函数式编程的复兴正值巅峰 一篇介绍 Scala 中 10 个单行函数式代码的博文在网上走红 很快地 一系列
  • qnx 设备驱动开发_2021年起奥迪车将换装Linux系统 此前为QNX

    车东西5月21日消息 外媒Forbes报道 奥迪官方宣布到2021年 会对旗下多款车型的信息娱乐系统进行升级换代 此前 奥迪旗下车型的信息娱乐系统基于QNX研发而来 未来将更换为Linux系统 升级后的奥迪信息娱乐系统 最大的亮点在于增加的
  • xcode,ios单元测试网络请求 AFNetworking 无法引入

    单元测试引入AFNetworking 同需要在 Podfile 引入 platform ios 7 0 target MyDemoTests do pod AFNetworking gt 2 5 0 end 否则无法引入
  • C++11中enum class的使用

    枚举类型 enumeration 使我们可以将一组整型常量组织在一起 和类一样 每个枚举类型定义了一种新的类型 枚举属于字面值常量类型 C 包含两种枚举 限定作用域的和不限定作用域的 这里主要介绍限定作用域的 不限定作用域的使用可以参考 h
  • [亲测有效]QT生成项目时候,右下角显示红色构建进度条,但是不报错,且无法生成UI界面 的解决方法。

    最近用QT5 9时候 发现生成项目莫名的慢 即使是生成过的项目也要十几秒钟才能弹出UI界面 于是我就想换一个版本用一下 于是我选择了QT 5 6 1版本 但是我发现完成项目后 点击左下角的运行按钮 右下角显示红色进度条的构建过程 更为诡异的
  • OpenLayers绘制图形

    OpenLayers的显示构成由外向内为 ol Map 地图对象 ol layer Vector 图层对象layer Map含有多个layer 最终的显示效果是由多个layer叠加而成 ol source Vector和ol style S
  • FreeRTOS系列

    1 多任务系统 1 1 前后台系统 单片机裸机开发时 一般都是在main函数里面用while 1 做一个大循环来完成所有的处理 循环中调用相应的函数完成所需的处理 有时也需要在中断中完成一些处理 相对于多任务系统而言 这就是单人单任务系统也
  • 银河麒麟V10 + 飞腾D2000(ARM64) 安装Qt

    近期有个需求是在一个特定的硬件和系统组合下开发和发布软件 具体配置是 操作系统 银河麒麟V10桌面版 CPU 飞腾D2000 ARM64 折腾了很长时间 综合了多个网络资料 最终把Qt5装好了 记录如下 Qt版本选择5 9 9 一开始选择了
  • 推送服务本地通知频次及分类管控通知

    尊敬的华为开发者 为了给用户提供更好的消息通知体验 营造清朗网络空间 从2023年9月15日开始 华为推送服务将基于 华为消息分类标准 对本地通知进行灰度管控 主要包括对应用发送的本地通知进行分类管理 以及对资讯营销消息统一进行频次管控 注
  • kibana启动失败:server is not ready yet

    kibana启动失败 server is not ready yet 这篇文章主要是解决黑马项目 学成在线 的p106中的kibana无法正常启动 首先我们在虚拟机上查看kibana启动日志 docker logs f kibana 发现报
  • Java基础回顾 : Runtime类和System类

    1 Runtime 类的使用 Runtime 类的定义特点 Runtime类的介绍 Runtime 指的是运行时 当每一个JVM 进程启动的时候 都会存在有一个Runtime 类的实例化对象 它是随着JVM 的存在而存在的 通过查看APi可