从一个例子说起: <?php $foo = 1; $bar = $foo; echo $foo + $bar; 变量 foo 赋值给变量foo赋值给变量bar,这两个变量具有相同的值,没有必要新申请内存空间,他们可以共享同一块内存。在很多场景下PHP 的 COW 对内存进行优化。比如:变量的多次赋值 ...
分类:
Web程序 时间:
2020-12-07 11:58:59
阅读次数:
9
这是Java建设者的第86篇原创长文在Java中的基本理念是结构不佳的代码不能运行,发现错误的理想时期是在编译期间,因为你不用运行程序,只是凭借着对Java基本理念的理解就能发现问题。但是编译期并不能找出所有的问题,有一些NullPointerException和ClassNotFoundException在编译期找不到,这些异常是RuntimeException运行时异常,这些异常往往在运行时才
分类:
其他好文 时间:
2020-12-05 10:42:13
阅读次数:
4
概述 pystack 用于查看 python 的调用栈信息,与 C 语言的 pstack 和 gstack 功能相似。 使用 pystack 4747 # 查看进程 4747 调用栈的信息,不打印线程号 pystack 4747 -v # 查看进程 4747 调用栈的详细信息,打印线程号。如下所示, ...
分类:
编程语言 时间:
2020-12-04 11:40:34
阅读次数:
10
XFS文件系统是硅谷图形公司(Silicon Graphics Inc,简称SGI)开发的用于IRIX(一个UNIX操作系统)的文件系统,后将XFS移植到Linux操作系统上。XFS是高级日志文件系统,其特点极具伸缩性,同时也很健壮。2000年5月XFS通过GNU通用公共许可证移植到Linux系统上 ...
分类:
系统相关 时间:
2020-12-01 11:56:52
阅读次数:
12
简介 MAT 是Memory Analyzer的简称,他是一宽功能强大的Java堆内存分析器。多用于查找内存泄露以及查看内存消耗情况。 基于Eclipse开发,是一款免费的Java性能分析功能 下载安装 https://www.eclipse.org/mat/downloads.php 分析dump ...
分类:
编程语言 时间:
2020-11-30 16:10:09
阅读次数:
11
Programming Concepts Series: The Stack and the Heap Compiled and Interpreted Languages Concurrency Static vs. Dynamic Type Checking Type Introspection ...
分类:
其他好文 时间:
2020-11-26 15:03:39
阅读次数:
6
Programming Concepts Series: The Stack and the Heap Compiled and Interpreted Languages Concurrency Static vs. Dynamic Type Checking Type Introspection ...
分类:
其他好文 时间:
2020-11-26 15:02:41
阅读次数:
5
一:heap dump 1、heapdump:记录内存信息的,heap dump文件是一个二进制文件,它保存了某一时刻JVM堆中对象使用情况, heapdump文件是指定时刻的Java堆栈的快照,是一种镜像文件。 2、产生heapdump(内存溢出)错误原因一般出于以下原因: 1)JVM内存过小。 ...
分类:
其他好文 时间:
2020-11-24 12:19:42
阅读次数:
8
void Main() { Process.GetCurrentProcess().Id.Dump(); getProcessOwnerName(Process.GetCurrentProcess().Id).Dump(); } public string getProcessOwnerName(i ...
堆的应用场景堆(heap)又被为优先队列(priorityqueue)。尽管名为优先队列,但堆并不是队列。回忆一下,在队列中,我们可以进行的限定操作是dequeue和enqueue。dequeue是按照进入队列的先后顺序来取出元素。而在堆中,我们不是按照元素进入队列的先后顺序取出元素的,而是按照元素的优先级取出元素。这就好像候机的时候,无论谁先到达候机厅,总是头等舱的乘客先登机,然后是商务舱的乘客
分类:
编程语言 时间:
2020-11-23 12:27:45
阅读次数:
6