缓冲区溢出漏洞试验 一、实验准备 输入命令安装一些用于编译32位C程序的东西 输入命令“linux32”进入32位linux环境。此时你会发现,命令行用起来没那么爽了,比如不能tab补全了,所以输入“/bin/bash”使用bash 二、实验步骤 关闭使用地址空间随机化来随机堆(heap)和栈(st ...
分类:
其他好文 时间:
2018-05-13 23:13:15
阅读次数:
167
前言 本文介绍如何使用STL里的heap(堆)算法。第一次接触heap这种数据结构是在大学的数据结构教材上,它是一棵完全二叉树。在STL中,heap是算法的形式提供给我们使用的。包括下面几个函数: make_heap: 根据指定的迭代器区间以及一个可选的比较函数,来创建一个heap. O(N) pu ...
分类:
编程语言 时间:
2018-05-09 19:22:21
阅读次数:
215
这两天看了一下深入浅出JVM这本书,推荐给高级的java程序员去看,对你了解JAVA的底层和运行机制有比较大的帮助。废话不想讲了.入主题:先了解具体的概念:JAVA的JVM的内存可分为3个区:堆(heap)、栈(stack)和方法区(method) 堆区:1.存储的全部是对象,每个对象都包含一个与之 ...
分类:
其他好文 时间:
2018-05-03 13:33:09
阅读次数:
116
Java运行时的数据区包括:(其中前两个是线程共享的) 1.方法区(Method Area) 存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据 2.堆(Heap) 存放对象实例,几乎所有对象实例都在这里分配内存 3.虚拟机栈(VM Stack) 描述的是Java方法执行的内存 ...
分类:
编程语言 时间:
2018-04-30 21:10:27
阅读次数:
227
一、前言 Java 的 JVM 的内存一般可分为 3 个区:堆(heap)、栈(stack)和方法区(method)。 1.1 堆区 1)存储的全部是对象,每个对象都包含一个与之对应的 Class 的信息,Class 的目的是得到操作指令; 2)JVM 只有一个堆区(heap)被所有线程共享,堆中不 ...
分类:
编程语言 时间:
2018-04-29 22:40:27
阅读次数:
250
Java虚拟机的内存可以分为三个区域:栈stack、堆heap、方法区method area 栈 栈描述的是方法执行的内存模型,每个方法被调用都会创建一个栈帧 JVM为每个线程创建一个栈,用于存放该线程执行方法的信息 栈属于线程私有,不能实现线程间的共享 先进后出 栈是由系统自动分配,速度快!栈是一 ...
分类:
编程语言 时间:
2018-04-29 20:30:02
阅读次数:
141
通常我们定义一个基本数据类型的变量,一个对象的引用,还有就是函数调用的现场保存都使用内存中的栈空间;而通过new关键字和构造器创建的对象放在堆空间;程序中的字面量(literal)如直接书写的100、”hello”和常量都是放在静态区中。栈空间操作起来最快但是栈很小,通常大量的对象都是放在堆空间,理 ...
分类:
其他好文 时间:
2018-04-21 15:24:39
阅读次数:
167
JVM实用参数(五)新生代垃圾回收 原文链接 作者: PATRICK PESCHLOW ;译者:严亮 本部分,我们将关注堆(heap) 中一个主要区域,新生代(young generation)。首先我们会讨论为什么调整新生代的参数会对应用的性能如此重要,接着我们将学习新生代相关的JVM参数。 单纯 ...
分类:
其他好文 时间:
2018-04-13 11:27:27
阅读次数:
157
1、java中的栈(stack)和堆(heap)是java在内存(ram)中存放数据的地方 2、堆区 存储的全部是对象,每个对象都包含一个与之对应的class的信息。(class的目的是得到操作指令); jvm只有一个heap区,被所有线程共享,不存放基本类型和对象引用,只存放对象本身。 堆的优劣势 ...
分类:
编程语言 时间:
2018-04-12 15:36:50
阅读次数:
200
文件压缩与解压缩> 近期这段时间一直在学习树的这样的数据结构,也接触到了Huffman树以及了解了什仫是Huffman编码,而我们经常使用的zip压缩也是利用的Huffman编码的特性,那仫是不是能够自己实现一个文件压缩呢?当然能够了.在文件压缩中我实现了Huffman树和建堆Heap的代码,zip ...
分类:
其他好文 时间:
2018-04-06 12:26:55
阅读次数:
182