maxMemory()这个方法返回的是java虚拟机(这个进程)能构从操作系统那里挖到的最大的内存,以字节为单位,如果在运行java程序的时候,没有添加-Xmx参数,那么就是64兆,也就是说maxMemory()返回的大约是64*1024*1024字节,这是java虚拟机默认情况下能从操作系统那里挖到的最大的内存。如果添加了-Xmx参数,将以这个参数后面的值为准,例如java -cp ClassPath -Xmx512m ClassName,那么最大内存就是512*1024*0124字节。
totalMemory()这个方法返回的是java虚拟机现在已经从操作系统那里挖过来的内存大小,也就是java虚拟机这个进程当时所占用的所有内存。如果在运行java的时候没有添加-Xms参数,那么,在java程序运行的过程的,内存总是慢慢的从操作系统那里挖的,基本上是用多少挖多少,直挖到maxMemory()为止,所以totalMemory()是慢慢增大的。如果用了-Xms参数,程序在启动的时候就会无条件的从操作系统中挖 -Xms后面定义的内存数,然后在这些内存用的差不多的时候,再去挖。
freeMemory()是什么呢,刚才讲到如果在运行java的时候没有添加-Xms参数,那么,在java程序运行的过程的,内存总是慢慢的从操作系统那里挖的,基本上是用多少挖多少,但是java虚拟机100%的情况下是会稍微多挖一点的,这些挖过来而又没有用上的内存,实际上就是 freeMemory(),所以freeMemory()的值一般情况下都是很小的,但是如果你在运行java程序的时候使用了-Xms,这个时候因为程序在启动的时候就会无条件的从操作系统中挖-Xms后面定义的内存数,这个时候,挖过来的内存可能大部分没用上,所以这个时候freeMemory()可能会有些大。
分享到:
相关推荐
### Java基础知识点详解 #### 一、Java语言的历史与地位 - **计算机语言的历史:** - **第一代语言(机器语言)**:基于0和1的二进制代码,直接与硬件交互,例如早期的打孔机。 - **第二代语言(汇编语言)**:...
"java基础知识点归纳总结" java是一种广泛应用的编程语言,以下是java基础知识点的归纳总结: 一、java 概述 * java是由Sun公司的James Gosling等人开发的语言,最初名称为Oak,1994年更名为Java。 * java有三种...
Java作为一门广泛使用的编程语言,...综上所述,Java的知识体系包括但不限于JVM运行机制、内存管理、垃圾回收、并发编程、IO/NIO、类加载机制等多个方面,Java开发者在学习过程中需要对这些知识点有系统的理解和掌握。
"Java 必备基础知识" Java 是一种高级的面向对象的编程语言,也是一个平台,Java 技术是基于 Java 虚拟机(Java Virtual Machine,JVM)的概念。JVM 是语言和底层软件和硬件之间的一种转换器,Java 语言的所有实现...
在计算机科学的世界里,Java技术作为一种高级的面向对象编程语言,不仅提供了一种编程...通过学习和掌握Java基础知识,开发者能够更好地编写出结构清晰、逻辑严谨、易于维护的代码,从而在软件开发领域中占据一席之地。
### Java基础知识 #### 1. Java核心特性 - **面向对象编程**:Java是一种完全的面向对象编程语言,这意味着所有代码都是围绕“对象”来构建的。对象是类的实例,具有状态(属性)和行为(方法)。面向对象编程的...
基础知识】课程是针对初学者设计的最新第7版本,旨在帮助学员系统学习Java面向对象编程语言,从而成为一名熟练的Java程序员,并为获取SCJP(Sun Certified Java Programmer)证书打下基础。本课程参考了经典书籍...
【Java基础知识总结】 Java是一种高级的面向对象编程语言,它基于Java虚拟机(JVM)的概念,能够在任何支持JVM的系统上运行。这得益于JVM的跨平台性,它是软件模拟的计算机,能安全地执行.class字节码。Java语言既...
### Java基础知识总结大全 #### 一、Java内存区域划分 Java程序运行时,根据不同的功能需求,被划分为几个不同的内存区域,主要包括: 1. **寄存器**:寄存器是CPU的一部分,用于存放计算过程中的临时数据,通常...
Java是一种广泛使用的面向对象的编程语言,其设计目标是提供高可靠性、跨平台兼容性和高效的代码执行。Java的特点包括: ...通过学习这些基础知识,开发者能够更好地理解和掌握Java编程,从而进行深入的开发工作。
Java 基础知识 Java 是一种由 Sun Microsystems(现归 Oracle 公司所有)开发的高级编程语言,诞生于1991年,旨在创建一种可移植、高效且易于理解的语言,尤其适合电视、机顶盒和录像机等设备的开发。随着技术的...
java的优势? 1:跨平台(平台:指的是操作系统) 常见的操作系统:Windows Unix Linux Solaris(Sun) 跨平台:用java开发出来的应用程序不受底层操作系统的限制 底层的功臣:JVM = java虚拟机 = 1 + 2 + 3 = ...
这篇博客“java一些基础知识资料”提供了一些关于Java学习的基础资源,涵盖了从语法基础到进阶概念的多个方面。作为标签,"源码"和"工具"表明了资料可能包括实际的Java代码示例以及用于辅助开发的工具或框架的相关...
【JAVA面试题基础知识】 在Java面试中,基础知识点通常涵盖了语言特性和编程实践。以下是根据提供的部分内容提炼的一些关键点: 1. **异常处理机制**:Java中的异常处理是通过`try-catch-finally`结构来实现的。当...
JAVA基础知识点总结 Java是一种广泛使用的面向对象的编程语言,其设计目标是具有跨平台的能力,这主要得益于Java平台的特性。Java平台由两大部分组成:Java应用编程接口(API)和Java虚拟机(JVM)。API是一系列...
"Java基础知识点总结" 本文总结了Java面试基础知识的重要概念和技术点,涵盖了异常处理机制、接口和虚类、垃圾回收机制、线程同步、析构函数和虚函数、Error和Exception的区别、final类型的类、编程风格、堆和栈的...
### Java基础知识总结与详解 #### 一、Java概述 Java是一种广泛使用的面向对象的编程语言,由Sun Microsystems的James Gosling等人于1991年开始开发,并最初命名为Oak。随着时间的发展,Java逐渐成为了一种非常...
在Windows系统中,可以通过`set classpath= "绝对路径"`来设置,确保Java虚拟机能找到你需要执行的`.class`文件。 - `path` 设置则是为了添加Java编译器`javac`和执行器`java`到系统环境变量,以便在任意目录下可以...
### Java的基础知识总结 #### 一、访问控制与类成员 在Java中,有四种访问控制符:`public`、`protected`、`default`(无关键字)和`private`。 - `public`:最开放的访问级别,任何类都可以访问。 - `protected`...
当程序违反Java语义规则,如数组下标越界或空指针异常,Java虚拟机会抛出异常。异常是`java.lang.Throwable`类的子类,如`NullPointerException`和`ArrayIndexOutOfBoundsException`。通过`try-catch-finally`块,...