社区
Java SE
帖子详情
freeMemory返回的是heap上还未使用的空间吗?
dreamhunter_lan
2011-09-14 09:33:22
1、在看点GC方面的东西,发现freeMemory返回虚拟机中的还能够分配给对象的大概值.是不是就是heap上的?
2、我用-Xms讲heap的初始大小置为1024M,但freeMemory只返回976M左右,其他的空间呢?用来放啥了?
3、permanent generation主要放的是描述类和方法的对象以及类和方法本身等这些,我有点搞不清描述类的对象是啥?是一个Class的实例吗?那类本身又是啥(难道是那些字节码?)?
...全文
129
3
打赏
收藏
freeMemory返回的是heap上还未使用的空间吗?
1、在看点GC方面的东西,发现freeMemory返回虚拟机中的还能够分配给对象的大概值.是不是就是heap上的? 2、我用-Xms讲heap的初始大小置为1024M,但freeMemory只返回976M左右,其他的空间呢?用来放啥了? 3、permanent generation主要放的是描述类和方法的对象以及类和方法本身等这些,我有点搞不清描述类的对象是啥?是一个Class的实例吗?那类本身又是啥(难道是那些字节码?)?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
dreamhunter_lan
2011-09-15
打赏
举报
回复
谢谢火龙果.以下两点是我对sun那份白皮书的一点点理解,是否是对的?
1、请问当做full gc的时候先在新生代执行新生代回收算法,然后在老生代和持久代执行老生代回收算法
2、因为在进行minor gc的时候会有可能把一些对象拷贝到老生代,但是如果此时老生代太满的话就停止执行新生代垃圾回收算法,直接就对整个堆执行老生代垃圾回收算法
安心逍遥
2011-09-14
打赏
举报
回复
Runtime#freeMemory 指的是堆内存
火龙果被占用了
2011-09-14
打赏
举报
回复
1: Runtime#freeMemory 指的是堆内存,也就是你所说的 heap
2:JRE 需要加载基本的对象,这些空间被这些对象所占用了
3:permanent generation 这块是 JVM 内存中的持久代,主要存放的是方法区的数据。方法区主要包括:类的元数据,以及方式的元数据。对于类来说,有很多数据啊,比如包名、类名、这个是类还是接口、类的修饰符、字段信息、方法信息等等类的元数据。
Django 3.x Web框架全解
Django框架概述Django 是用 Python 开发的一个免费开源的 Web 框架,提供了许多网站后台开发经常用到的模块,使开发者能够专注于业务部分。并且囊括的 Web 应用部分可以用于快速搭建高性能、优雅的网站。并且提供了通用 Web 开发模式的高度抽象,通过 DRY(Don't Repeat Yourself,不要重复自己)的理念为频繁进行的编程作业提供了快速解决方法。Django的特点1.自带管理后台 简单的几行代码就可以让目标网站拥有一个强大的管理后台,轻松对内容进行增加、删除、修改与查找操作,以及很方便地定制搜索、过滤等操作,因此特别适合用于内容管理平台。 2.灵活的路由系统 定义优雅的访问地址,还可伴随项目进行配置。 3.强大的数据库 ORM 强大的数据库操作接口(QuerySet API)可以轻松执行原生 SQL。 4.易用的模板系统 基于前后端分离系统可用 Django 开发 API,不
使用
模板系统,并也可以轻易替换成其他模板。 5.缓存系统 与 Memcached,Redis 等缓存系统联合
使用
,获得更快的加载速度,并且配置简单。 6.国际化支持 支持多语言应用,允许定义翻译的文字,轻松翻译成不同国家/地区的语言。 Django 发布情况功能版本(A.B,A.B+1,如 2.0,2.1 等)大约每 8 个月发布一次。这些版本将包含新功能以及对现有功能的改进等,也可能包含与上一个版本不兼容的功能,详细的说明在版本的发布日志(Release Notes)中可以查阅到。补丁版本(A.B.C,如 2.1.3)会根据需要发布,以修复错误和安全问题。这些版本将与相关的功能版本 100% 兼容,除非是出于安全原因或为了防止数据丢失而无法做到 100% 兼容。正因为如此,如果之前
使用
的是 Django 3.0,现在最新的版本是 Django 3.0.3,那么可以放心将 3.0 版本升级到 3.0.3版本。某些功能版本被指定为长期支持(LTS)版本,这种稳定版本通常自发布之日起 3 年以内,会持续发布安全和关键补丁,即所谓提供持续稳定的支持。从 Django 2.0 开始,它不再支持 Python 2。下图演示了 Django 各版本的发布情况和支持计划 Django 的 MVT 架构简介Django 是一个 Python Web 框架,和大多数框架一样支持 MVC模式。通过学习 MVC(Model-View-Controller)模式,了解 Django MVT(Model-View-Template)的不同之处。1.MVC 模式 MVC 是开发 Web 应用程序的一种软件设计模式,其中各部分功能如下: 模型(Model):位于模式底层,负责管理应用程序的数据。它处理来自视图的请求,并且响应来自控制器的指令以更新自身。 视图(View):负责向用户以特定格式呈现全部或部分数据。 控制器(Controller):控制模型和视图之间交互的代码。MVT 模式 MVT 与 MVC 区别在于 Django 本身已经实现了控制器(Controller)这部分的功能,暴露给开发者的是模板(Template)。所以可以简单认为 Django 中的模板是 HTML 文件,但其支持 Django 的模板语言。这种模板语言简单来说就是通过占位符、循环、逻辑判断等来控制页面上的内容展示。 Django 和其他 Python Web 框架的对比用于 Python Web 开发的框架有很多,比如 Flask、Bottle、Pyramid、Webpy 等。1. Django 和 Flask 的对比 Flask 是小而精的微框架(Micro Framework),它不像 Django 那样大而全。如果
使用
Flask 开发,开发者需要自己决定
使用
哪个数据库 ORM、模板系统、用户认证系统等,需要自己去组装这些系统。与 Django 开发相比,开发者在项目开始的时候可能需要花更多的时间去了解、挑选各个组件,正因为这样,Flask 开发的灵活度更高,开发者可以根据自己的需要去选择合适的插件。由于是自己一步步地将整个系统组装起来的,因此也比较容易了解各个组件部分。当然,Flask 历史相对更短,第三方 App 自然没有 Django 那么全面。2. Django 和 Tornado 的对比 Tornado 是一个 Python Web 框架和异步网络库,最初由 FriendFeed 开发,当初设计它的目的是为了解决 10000 个并发连接(C10K 问题)。传统的 Apache 服务器会为每个 HTTP 请求连接一个线程,而在大多数 Linux 发行版中默认线程堆(
Heap
)大小是 8MB,当连接数量过多时,这种线程池的方式极易耗光服务器上的所有资源。Tornado 会把等待资源的操作挂起,当数据准备好时,再回调相应的函数。通过
使用
非阻塞网络 I/O,Tornado 可以轻松应对数万个连接。因而 Tornado 也就成为长轮询,是 WebSocket 和其他需要与每个用户建立长期连接的应用程序的理想选择。和 Django 相比,
使用
Tornado 编写异步代码对于开发者来说,没有 Django 或 Flask 编写同步代码那么简单、直接和高效。
使用
Python 进行 Web 开发合适吗?Python 简单易学、上手快速,成为很多程序员喜爱的编程语言。
使用
Python 进行 Web 应用开发,无疑能够加快需求实现的速度,快速迭代和验证产品的原型。有些人可能会有疑问:Python 性能不够好,用来开发 Web 是不是不太合适?Python 在性能上确实无法和 C语言、Java 等语言相比,但在大部分情况下
使用
Python 开发是可以满足性能需求的,并且很多时候程序性能不够好,这不是语言本身的问题,而是架构设计、缓存设计、数据结构算法的选用以及开发人员编程水平等引起的问题。总之,
使用
Python 语言进行 Web 开发有独特的优势,通常能满足大部分应用场景的需求。
java system.
free
memory
()_关于java:什么是Runtime.getRuntime()。total
Memory
()和
free
Memory
()?...
我一直想知道Runtime.getRuntime()。total
Memory
(),Runtime.getRuntime()。
free
Memory
()和Runtime.getRuntime()。max
Memory
()的确切含义是什么。我的理解是,Runtime.getRuntime().total
Memory
()
返回
我的进程正在
使用
的总内存。 那是对的吗?
free
Memory
()和max
Memory
...
zephyr--堆内存池(
heap
memory
pool)
堆内存池 堆内存池(
heap
memory
pool) 是一个预定义的内存池对象,它允许线程像
使用
malloc() 那样从一段通用内存区动态地申请内存。 概念 堆内存池只能定义一个。与其它内存池不同的是,堆内存池不能通过内存地址对其引用。 堆内存池的大小是可配置的,支持如下大小:256 字节,1024 字节,4096 字节和 16384 字节。 线程可以调用函数 k_mallo
Free
RTOS基础二:堆内存管理之
heap
_4方案
简介
heap
_4方案也是要定义一个全局数组uc
Heap
,用于当做堆内存池,其大小在
Free
RTOSConfig.h中
使用
configTOTAL_
HEAP
_SIZE 来定义。
heap
_4方案在绝大多数情况下都优于标准库中的malloc()和
free
()函数。 /* Allocate the
memory
for the
heap
. */ #if( configAPPLICATION_ALLOCATED_
HEAP
== 1 ) /* The application writer has already
堆(
heap
)和栈(stack)、内存泄漏(
memory
leak)和内存溢出
简单的可以理解为:
heap
:是由malloc之类函数分配的
空间
所在地。地址是由低向高增长的。 stack:是自动分配变量,以及函数调用的时候所
使用
的一些
空间
。地址是由高向低减少的。 一、预备知识—程序的内存分配 一个由c/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中
Java SE
62,614
社区成员
307,326
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章