「java句柄数怎么理解」句柄的定义

博主:adminadmin 2022-12-09 14:27:08 63

本篇文章给大家谈谈java句柄数怎么理解,以及句柄的定义对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

资源管理器里的右边系统下面那个 句柄数 线程数和提交(MB)

一:总数中的

1):句柄数:所谓句柄,简单的说就是 Windows 用来标识被应用程序所建立或使用对象的一个长整型数据,Windows 使用各种各样的句柄来标识诸如应用程序实例、窗口、控制、位图和GDI对象等等,是一种指针的指针。

2):P线程数:指程序中能独立运行的部分。

3):进程数:运行的程序数目。

二:物理内存中的

1):总数:好理解,就是机子里所配置的,看得见摸得着的内存总量。若有内存256MB,即256×1024=262144KB,262144KB的内存减去512KB的高位内存,再减去系统内核占用的16KB,即为:实际内存总数261616KB。

2):可用数:物理内存中可被程序使用的空余量。但实际的空余量要比这个数值略大一些,因为物理内存不会在完全用完后才去转用虚拟内存的。也就是说这个空余量是指使用虚拟内存(Page File)前所剩余的物理内存。

3:系统缓存:被分配用于系统缓存用的物理内存量。主要来存放一些关键程序和数据等。一但系统或者程序需要,部分内存会被释放出来,也就是说这个值是可变的。

三:内存使用:

1):总数:是被操作系统和正运行程序所占用内存总和,包括物理内存和虚拟内存(Page File)。它和上面的PF使用率是一致的。

2):限制:指系统所能提供的最高内存量,是物理内存(RAM)和虚拟(Page File)内存。

3):峰值:指一段时间内系统曾达到的内存使用最高值。如果这个值超过本机物理内存的数量,则应当增加物理内存以提升计算机性能;若这个值接近上面的“限制”的时候,则意味着要同时增加物理内存和虚拟内存(Page File)。

四:核心内存:

1):总数:操作系统核心程序使用的物理内存总数。通常,这一数值总是越低越好些的。

2):分页数:可以复制到页面文件中的内存,一旦系统需要这部分物理内存的话,它会被“映射”到硬盘,由此可以释放部分物理内存。

3:未分页:保留在物理内存中的内存,这部分不会被映射到硬盘,即页面文件中

五:PF使用:

PF是页面文件 Page File 的简写。这个数字容易让人误解,被认为是系统当时使用的页面文件的大小。其正确的含义应为:正在使用的物理内存和虚拟内存之和。实际使用的页面文件大小可以使用第三方软件,如 PageFile Monitor 等查看,也可以通过 Windows 控制台来查看。

谁能给讲讲? 任务管理器下的pid和句柄数是什么意思,做什么用的,

PID是进程控制符的意思,是个电工电子类技术术语,PID就是各进程的身份标识,程序一运行系统就会自动分配给进程一个独一无二的PID。进程中止后PID被系统回收,可能会被继续分配给新运行的程序。

至于句柄,在Windows环境中,句柄是用来标识项目的,有哪些项目我就不说了,很多。。。

你了解这些就够了,再高深的你就不懂了

资源管理器上的那个句柄数是指什么?

句柄是一个标识符,是拿来标识对象或者项目的,它就象我们的姓名一样,每个人都会有一个,不同的人的姓名不一样,但是,也可能有一个名字和你一样的人。从数据类型上来看它只是一个16位的无符号整数。应用程序几乎总是通过调用一个WINDOWS函数来获得一个句柄,之后其他的WINDOWS函数就可以使用该句柄,以引用相应的对象。

如果想更透彻一点地认识句柄,我可以告诉大家,句柄是一种指向指针的指针。我们知道,所谓指针是一种内存地址。应用程序启动后,组成这个程序的各对象是住留在内存的。如果简单地理解,似乎我们只要获知这个内存的首地址,那么就可以随时用这个地址访问对象。但是,如果您真的这样认为,那么您就大错特错了。我们知道,Windows是一个以虚拟内存为基础的操作系统。在这种系统环境下,Windows内存管理器经常在内存中来回移动对象,依此来满足各种应用程序的内存需要。对象被移动意味着它的地址变化了。如果地址总是如此变化,我们该到哪里去找该对象呢?

为了解决这个问题,Windows操作系统为各应用程序腾出一些内存储地址,用来专门登记各应用对象在内存中的地址变化,而这个地址(存储单元的位置)本身是不变的。Windows内存管理器在移动对象在内存中的位置后,把对象新的地址告知这个句柄地址来保存。这样我们只需记住这个句柄地址就可以间接地知道对象具体在内存中的哪个位置。这个地址是在对象装载(Load)时由系统分配给的,当系统卸载时(Unload)又释放给系统。

句柄地址(稳定)→记载着对象在内存中的地址————→对象在内存中的地址(不稳定)→实际对象

本质:WINDOWS程序中并不是用物理地址来标识一个内存块,文件,任务或动态装入模块的,相反的,WINDOWS API给这些项目分配确定的句柄,并将句柄返回给应用程序,然后通过句柄来进行操作。

但是必须注意的是程序每次从新启动,系统不能保证分配给这个程序的句柄还是原来的那个句柄,而且绝大多数情况的确不一样的。假如我们把进入电影院看电影看成是一个应用程序的启动运行,那么系统给应用程序分配的句柄总是不一样,这和每次电影院售给我们的门票总是不同的一个座位是一样的道理。

电脑的任务管理器中《PF使用率》《句柄数》《线程数》《物理内存》《核心内存》是什么意思?

CPU使用:很容易理解。左柱图表示即时CPU使用率,右曲线图记录过去一段时间CPU占用率。其中红线则表示系统内核使用率。

PF使用率:PF是页面文件page file的简写。但这个数字常常会让人误解,以为是系统当时所用页面文件大小。正确含义则是正在使用的内存之和,包括物理内存和虚拟内存。那么如何得知实际所使用的页面文件大小昵?一般用第三方软件,比如PageFile Monitor,也可以通过windows控制台来看。本人的页面文件预设了300MB,下图可以看到总内存使用207MB,通过控制台查到页面文件的使用率为24%,实际大小为72MB。

物理内存:

总数:好理解,就是机子里所插,看得见摸得着的内存总量。本人机子有内存256MB,换算成字节乘上1024后为262144,大体等于图中的261616。

可用数:物理内存中可被程序使用的空余量。但实际的空余量要比这个数值略大一点,因为物理内存不会在完全用完后才去转用虚拟内存的。也就是说这个空余量是指使用虚拟内存(pagefile)前所剩余的物理内存。

系统缓存:被分配用于系统缓存用的物理内存量。主要来存放程序和数据等。一旦系统或者程序需要,部分内存会被释放出来,也就是说这个值是可变的。

认可用量:呵呵,简直不知所云!

总数:其实就是被操作系统和正运行程序所占用内存总和,包括物理内存和虚拟内存(page file)。它和上面的PF使用率是相等的,212468除以1024约等于207M。

限制:指系统所能提供的最高内存量,包括物理内存(RAM)和虚拟(page file)内存。256M再加上我预设的300MPagefile,乘以1024等于569344,大致相等。

峰值:指一段时间内系统曾达到的内存使用最高值。如果这个值接近上面的“限制”的话,意味着要么你增加物理内存,要么增加pagefile,否则系统会给你颜色看的!

核心内存:

总数:操作系统核心程序使用的物理内存。42972除以261616等于16.4%,还不错,比较低,当然低了好啊!

分页数:一旦系统需要这部分物理内存的话,它会被映射到硬盘。

未分页:这部分不会被映射到硬盘。

句柄数:这个东东很专业的。会编程的人知道,我不懂,只知道被称作指针的指针。

线程数:指程序中能独立运行的部分。

进程数:简单理解就是运行的程序数目。

什么叫句柄数?多少是正常的?

句柄是...

一个32位无符号整数,其原始定义好像是unsigned long(记不清了),使Windows用来标识一些系统使用的资源的(例如图标、窗口等等),如果觉得不好理解可以把它当作指针来使,而且事实上大部分时候就是把他当指针使的

回复:啥叫句柄?

对于初涉Windows编程的兄弟来说,句柄的确是个令人摸不找头脑的概念。

指针你应该知道吧,句柄起的作用和指针大体相同,比如用你用API函数建了个窗口,函数返回一个句柄,或者你调用一个API函数,这个函数要求你传入父窗口的句柄。第一个例子中以后你要放问那个窗口的任何东西,就只有靠这个句柄了,第二个例子也一样,函数需要通过父窗口的句柄进一步访问父窗口的资源,以进行对新建窗口的设置。

哪为什么不返回窗口在内存中的指针呢?让用户直接操作内存是十分危险的,有可能导致难以预料的错误,所以操作系统就在API函数一层隐去了过于接近底层的指针,而代之以32位无符号整数DWORD,它相似于一个索引,由操作系统通过这个索引查到窗口资源在内存中的真实位置进行操作,避免了许多不必要错误的发生。

是一个操作系统中线程和资源共享的问题,打个比方吧:

在cpu中某种资源最大是150,有4个线程:a;最大需求是75,当前需求是45,b:50,40, c:40,25,d有两种情况1,d;50,25。2,50,35。用那种方法才能使线程安全呢,看看总的剩余的资源是:v=150-45-40-25=40,先看第一种当前线程是25,那么还有v1=40-25=15的剩余资源,恰好能够用于c线程的剩余部分,而c线程又可以释放出先前25的资源,再看b剩余线程还需要10个资源数,我们就可以满足它,然后再依次地把所有的线程完成。再看第二种方法,当前线程需要资源35,那么只剩余40-35=5的资源了,不能满足任何一个线程的剩余线程要求的资源数,这就可能导致死锁问题,这个就不能使线程安全了

什么叫进程?进程同程序有什么区别?

A:进程是程序在计算机上的一次执行活动。当你运行一个程序,你就启动了一个

进程。显然,程序是死的(静态的),进程是活的(动态的)。

进程可以分为系统进程和用户进程。凡是用于完成操作系统的各种功能的进程

就是系统进程,它们就是处于运行状态下的操作系统本身;用户进程就不必我

多讲了吧,所有由你启动的进程都是用户进程。

进程是操作系统进行资源分配的单位。在Windows

下,进程又被细化为线程,也就是一个进程下有多个能独立运行的

更小的单位。

java句柄数怎么理解的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于句柄的定义、java句柄数怎么理解的信息别忘了在本站进行查找喔。

The End

发布于:2022-12-09,除非注明,否则均为首码项目网原创文章,转载请注明出处。