仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 470|回复: 8
打印 上一主题 下一主题

[学习教程] 了解下JAVA的怎样监控Java使用程序的Windows内存利用情形

[复制链接]
透明 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:11:30 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。Oracle收购Sun后Java前途未卜。
Java手艺最出名的一个长处是:与其他言语如C程序员分歧,Java程序员不必要对令人害怕的内存分派和开释卖力。Java运转库能够为您办理这些义务。每一个实例化的对象都自动在堆平分配内存,渣滓搜集程序按期发出不再利用的对象所占有的内存。可是您还不克不及完全放手不论。您仍旧必要监控程序的内存利用情形,由于Java历程的内存不单单包含堆中分派的对象。它还包含程序的字节码(JVM在运转时注释实行的指令)、JIT代码(已为方针处置器编译过的代码)、任何本机代码和JVM利用的一些元数据(非常表、行号表等等)。情形更加庞大的是,某些范例的内存(如本机库)能够在历程间共享,因而断定Java使用程序的内存占用多是一项十分困难的义务。
有大批在Windows监控内存利用的工具,但不幸的是没有一种可以供应您必要的一切信息。更糟的是,这些五花八门的工具乃至没有一个大众的辞汇表。但本文会助您落井下石,文中将先容一些最有效的、可收费取得的工具,并供应了怎样利用它们的技能。
Windows内存:一次旋风般的游览
懂得本文要会商的工具之前,必要对Windows怎样办理内存有基础的了解。Windows使用一种分页哀求假造内存体系,如今我们就来剖析一下这类体系。
假造地点空间
假造内存的观点在上个世纪五十年月就提出了,事先是作为办理不克不及一次装进实践内存的程序这一庞大成绩的计划提出的。在假造内存体系中,程序能够会见超越可用物理内存的更年夜的地点汇合,公用内存办理程序将这些逻辑地点映照到实践地点,利用磁盘上的一时存储保留超越的部分。
Windows所利用的古代假造内存完成中,假造存储被构造成巨细不异的单元,称为页。每一个操纵体系历程占用本人的假造地点空间,即一组能够读写的假造内存页。每一个页能够有三种形态:
自在:还没有历程利用这部分地点空间。假如妄图会见这部分空间,不管读写城市形成某种运转时生效。该操纵将招致弹出一个Windows对话框,提醒呈现了会见抵触。(Java程序不会形成这类毛病,只要用撑持指针的言语编写的程序才大概形成这类成绩。)
保存:这部分地点空间保存给历程,以供未来利用,可是在托付之前,不克不及会见该地点空间。良多Java堆在一入手下手处于保存形态。
提交:程序能够会见的内存,失掉了完整撑持,就是说已在分页文件平分配了页帧。提交的页只要在第一次被援用时才装进主存,因而成为哀求式分页。
申明了历程地点空间中的假造页怎样映照到内存中的物理页帧。
.历程地点空间中的假造页到物理页帧的映照

<p>
首先第一点:jsp,servlet,javabean这些最基本的,嘿嘿,就算你是高手的话,在大行的企业级应用的话还是需要框架的,一个好的框架确实能构解决许多问题。
不帅 该用户已被删除
9#
发表于 2015-3-21 14:09:19 | 只看该作者
Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。
莫相离 该用户已被删除
8#
发表于 2015-3-14 21:05:47 | 只看该作者
是一种使网页(Web Page)产生生动活泼画面的语言
活着的死人 该用户已被删除
7#
发表于 2015-3-7 10:25:51 | 只看该作者
《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。
第二个灵魂 该用户已被删除
6#
发表于 2015-2-23 23:32:20 | 只看该作者
是一种使用者不需花费很多时间学习的语言
飘飘悠悠 该用户已被删除
5#
发表于 2015-2-8 01:45:11 | 只看该作者
是一种语言,用以产生「小应用程序(Applet(s))
蒙在股里 该用户已被删除
地板
发表于 2015-2-5 05:31:47 | 只看该作者
一般学编程语言都是从C语开始学的,我也不例外,但还是可能不学过程语言而直接学面向对象语言的,你是刚接触语言,还是从C开始学比较好,基础会很深点,如果你直接学习JAVA也能上手,一般大家在学语言的时候都记一些语言的关键词,常有的包和接口等。再去做逻辑代码的编写,以后的学习过程都是从逻辑代码编写中提升的,所以这方面都是经验积累的。你要开始学习就从
老尸 该用户已被删除
板凳
发表于 2015-1-27 14:10:46 | 只看该作者
是一种将安全性(Security)列为第一优先考虑的语言
山那边是海 该用户已被删除
沙发
发表于 2015-1-20 16:26:49 | 只看该作者
[url]http://www.ckuyun.com/[/url]去下载,或到同济技术论坛的服务器[url]ftp://www.ckuyun.com[/url]去下,安装上有什么问题,可以到论坛上去提问。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-24 01:32

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表