[TOC] Java程序在内存中运行详解 Java语言是一门编译型语言,需要将编写的源代码(.java文件)编译之后(.class字节码文件),通过 jvm 才能正常的执行,下面的内容记录了一个程序从编写到执行整个过程在内存中是怎么一个变的。 一、JVM的内存分布 先了解下 JVM 的内存分布,因为 ...
分类:
编程语言 时间:
2019-11-24 09:45:27
阅读次数:
89
多线程编程的基础相关认识 基本概念 进程 一个正在执行的程序,程序运行时系统会创建一个正在执行的程序,程序运行时,系统会创建一个进程,并且给每个进程分配独立的内存地址空间保证每个进程地址不会相互干扰。同时,在cup对进程做时间片的切换时,保证进程切换过程中仍然做进程切换之时运行的位置开始执行。所以进 ...
分类:
编程语言 时间:
2019-11-23 14:26:01
阅读次数:
83
二叉树|集合1(简介) ======== 树 :与数组、链表、堆栈和队列不同,它们是线性数据结构,树是分层数据结构。 树的概念 :最上面的节点称为树的根。直接位于元素下的元素称为其子元素。某物正上方的元素称为其父元素。例如,‘a’是‘f’的子代,‘f’是‘a’的父代。最后,没有子元素的元素称为叶子( ...
分类:
其他好文 时间:
2019-11-22 10:23:55
阅读次数:
103
一、概述 List继承了Collection,是有序的列表。 可重复数据 实现类有ArrayList、LinkedList、Vector、Stack等 ArrayList是基于数组实现的,是一个数组队列。可以动态的增加容量! LinkedList是基于链表实现的,是一个双向循环列表。可以被当做堆栈使 ...
分类:
其他好文 时间:
2019-11-22 00:52:27
阅读次数:
161
一、基础篇 JVM JVM内存结构 堆、栈、方法区、直接内存、堆和栈区别 Java内存模型 内存可见性、重排序、顺序一致性、volatile、锁、final 垃圾回收 内存分配策略、垃圾收集器(G1)、GC算法、GC参数、对象存活的判定 JVM参数及调优 Java对象模型 oop-klass、对象头 ...
分类:
编程语言 时间:
2019-11-22 00:34:49
阅读次数:
72
main函数的堆栈的大小默认为1mb 如果把数组int x[1000][1000]定义在main函数里 则int为4byte,8bit为1byte,1024byte为1kb,1024kb为1mb 4*1000*1000/1024/1024=3.814697265625mb大于1mb, 所以定义在ma ...
分类:
编程语言 时间:
2019-11-21 13:41:12
阅读次数:
99
今天稍微熟悉了一点汇编语法,并就一个案例试验了一下 VS里常见的汇编指令请见:https://blog.csdn.net/sinat_27382047/article/details/72810788 我就目前一个api做解释 CaptureStackBackTrace: 通过在堆栈上走动并记录每一 ...
分类:
其他好文 时间:
2019-11-20 15:32:29
阅读次数:
86
简介 调试应用程序时,调试器必须加载可执行模块的符号,以便能够显示有意义的调用堆栈、当前源代码行、变量值等。如果您曾经调试过在另一个系统上创建的小型转储,那么您已经知道除了符号之外,调试器还需要访问创建转储时由应用程序加载的相同版本的模块。如果调试器找不到与模块完全相同的版本(即匹配的模块),则无法 ...
分类:
其他好文 时间:
2019-11-20 13:02:03
阅读次数:
78
.队列和栈的特性。在什么实际案例中见过?Stack(堆栈): 堆栈是一种后进先出(LIFO)的数据结构, 只能在一端进行插入(压栈)或者删除数据(出栈)的操作。Queue(队列):队列就是一个先入先出(FIFO)的数据结构。更新队列时在不同端进行压入(入队)和弹出(出队)的数据操作。应用实例:imp ...
分类:
其他好文 时间:
2019-11-18 12:42:14
阅读次数:
87
stackError实现类似于 java中的exception类,里面可以存储堆栈数据,并且通过单向链表记录error的触发嵌套关系,使日志追踪变的更加容易 ...
分类:
其他好文 时间:
2019-11-18 12:38:57
阅读次数:
244