1. C#数据类型分为值类型,引用类型。其中基本的数据类型比如int,double等,以及struct是值类型;而object,class,string,dynamic属于引用类型。 C#中内存分为堆栈内存(相当于C++/C中的栈内存)和托管堆内存(相当于C++/C中的堆内存),堆栈内存随着程序调用 ...
反射 反向获取程序运行过程。 内存堆栈信息 保存运行时存放的内容。 debug_print_backtrace() 网页开发中,对html元素不了解的时候可以 想办法获取该元素属性以及 所拥有的事件函数。 每个html 元素都应该是一个对象。那么反射思想就可以实现。 让我们更加的熟悉该 元素。 ph ...
分类:
其他好文 时间:
2016-12-08 17:37:56
阅读次数:
212
tomcat服务突然无响应了,导出内存堆栈和线程堆栈,分析后发现是同步锁使用不合理导致的。 [root@prd-dtb-web-01 ~]# pgrep java10472[root@prd-dtb-web-01 ~]# jmap -heap 10472Attaching to process ID ...
分类:
其他好文 时间:
2016-11-27 16:28:13
阅读次数:
235
很多tomcat进程退出(或者进程假死),都是由于频繁的抛出OutOfMemeoryError导致的。 为了让tomcat退出前或者发生OutOfMemeoryError时自动dump堆栈信息,方便事后排查问题,我们可以做如下操作: 1、 在tomcat启动参数中加入两个参数 -XX:+HeapDu ...
分类:
其他好文 时间:
2016-11-19 23:21:11
阅读次数:
257
在进一步解读String类时,先了解下内存分配和数据存储的。 数据存储 1.寄存器:最快的存储区,位于处理器的内部。由于寄存器的数量有限,所以寄存器是按需分配。 2.堆栈:位于RAM中,但是通过堆栈指针可以从处理器哪里获得直接支持。堆栈指针向下移动,则分配新的内存;堆栈指针向上移动释放内存。 注:堆 ...
分类:
其他好文 时间:
2016-09-01 02:12:44
阅读次数:
177
链接属性1.extern 关键字用于标识符第二次或以后的声明并不会改变第一次声明所指定的属性。
2.static 防止被访问 (和java完全不同)
存储类型1.变量存储地方:普通内存,堆栈,硬件寄存器
2.代码块外声明的是静态变量,存于静态内存(普通内存),程序运行-前-存在,始终存在
3.自动变量
4.代码块内变量 + static --> 静态变量
运算符1. i+++ ++i 这种5个加号的...
分类:
其他好文 时间:
2016-07-13 16:13:02
阅读次数:
178
链接属性1.extern 关键字用于标识符第二次或以后的声明并不会改变第一次声明所指定的属性。
2.static 防止被访问 (和java完全不同)
存储类型1.变量存储地方:普通内存,堆栈,硬件寄存器
2.代码块外声明的是静态变量,存于静态内存(普通内存),程序运行-前-存在,始终存在
3.自动变量
4.代码块内变量 + static --> 静态变量
运算符1. i+++ ++i 这种5个加号的...
分类:
其他好文 时间:
2016-07-13 16:11:24
阅读次数:
180
点击进入_更多_Java千百问1、JVMTI提供哪些功能了解JVMTI看这里:JVMTI是什么
编写JVMTI程序看这里:如何编写JVMTI agent程序
JVMTI 的功能非常丰富,包含了虚拟机中线程、内存堆/栈、类/方法/变量、事件/定时器处理、代码调试等多种功能,这里我们介绍一些常用的功能。调试功能调试功能是JVMTI的基本功能之一,这主要包括了设置断点、调试等,在JVMTI里面,设置断...
分类:
编程语言 时间:
2016-07-02 12:01:32
阅读次数:
301
成员变量 和 局部变量 位置 类中方法外 方法中或方法声明上内存 堆 栈初始值 有初始值 没有,使用前需要初始化生命周期 随着对象的存在而存在.随着对象的消失而消失 随着方法的加载而加载.随着方法的结束而消失. ...
分类:
其他好文 时间:
2016-04-24 15:36:30
阅读次数:
145
Java把内存划分成两种:一种是栈内存,一种是堆内存。 堆栈的概念逻辑上的,在完全符合Java规范的Java处理器面世之前,所有Java虚拟机提供的内容都是由软件模拟出来的。 在函数中定义的一些基本类型的变量和对象的引用变量都在函数的栈内存中分配。 当在一段代码块定义一个变量时,Java就在栈中为这 ...
分类:
编程语言 时间:
2016-04-16 10:49:52
阅读次数:
149