分析一下Java中对象创建和初始化过程中涉及的相关概念问题,java中栈(stack)与堆(heap),对象、引用、句柄的概念。@Author:ZJ 06-11-25Blog: [url]http://zhangjunhd.blog.51cto.com/[/url] 1.Java中的数据类型 Jav ...
分类:
编程语言 时间:
2020-03-18 09:39:51
阅读次数:
68
Java 堆内存被划分为新生代和老年代两部分,因此 JVM 通常采用分代回收算法。新生代主要使用复制和标记 清除垃圾回收算法 ,老年代主要使用标记 整理垃圾回收算法。JVM 中针对新生代和年老代分别提供了多种不同的垃圾收集器。 根据线程特点,可以将收集器分为三类: 1. 串行收集器 :Serial ...
分类:
其他好文 时间:
2020-03-14 20:12:46
阅读次数:
69
Java虚拟机的内存可以分为三个区域:栈stack、堆heap、方法区method area。 栈的特点如下: 1. 栈描述的是方法执行的内存模型。每个方法被调用都会创建一个栈帧(存储局部变量、操作数、方法出口等) 2. JVM为每个线程创建一个栈,用于存放该线程执行方法的信息(实际参数、局部变量等 ...
分类:
编程语言 时间:
2020-03-12 20:24:26
阅读次数:
92
堆排序是一种树形选择排序,特点:L[1...n]视为一颗完全二叉树的顺序存储结构,利用完全二叉树中双亲与孩子节点的内在关系,在当前无序区中选择关键字(最大或最小)元素。 大顶堆:L(i)>L(2i) && L(i)>L(2I+1) 小顶堆:L(i)<L(2i) && L(i)<L(2I+1) 例: ...
分类:
编程语言 时间:
2020-03-12 10:03:57
阅读次数:
75
就是秀一波操作辣 1 #include <iostream> 2 using namespace std; 3 const int N=1e3+20; 4 int ans[N],cnt=1; 5 struct heap{ 6 int a[N],n; 7 int top(){return a[1];} ...
分类:
编程语言 时间:
2020-03-10 11:46:39
阅读次数:
52
JVM的内存划分: 方法区:是线程共享的,常量静态变量的JIT(即时编译器)编译后代码也在方法区存放。用来存储已被虚拟机加载的类信息,常量,静态变量,即时编译器编译后的代码等数据。虽然Java虚拟机规范把方法区描述为堆得一个逻辑部分,但是他却有个别名Non-Heap(非堆),目的是为了与Java堆区 ...
分类:
其他好文 时间:
2020-03-09 01:25:48
阅读次数:
56
zmq的基本功能: (1)将消息快速高效地发送给其他节点,这里的节点可以是线程、进程、或是其他计算机; (2)zmq为应用程序提供了一套简单的套结字API,不用考虑实际使用的协议类型(进程内、进程间、TPC、或广播); (3)当节点调动时,zmq会自动进行链接或者重连; (4)无论是发送消息还是接收 ...
分类:
其他好文 时间:
2020-03-08 17:52:30
阅读次数:
98
堆 优先队列 前置知识:二叉树。 参考资料 暂无 堆就是优先队列,可以用来解决动态区间查询最值问题。 堆就是一个完全二叉树,可以插入节点,删除根节点(也可以删除特定节点)。 为了方便,普通的堆节点 $i$ 的父亲就是 $[i\div2]$ ($[x]$ 表示不超过 $x$ 的最大整数)。 节点 $i ...
分类:
其他好文 时间:
2020-03-08 09:19:45
阅读次数:
60
[LeetCode]632. Smallest Range Covering Elements from K Lists 你有 k 个升序排列的整数数组。找到一个最小区间,使得 k 个列表中的每个列表至少有一个数包含在其中。 我们定义如果 b-a < d-c 或者在 b-a == d-c 时 a < ...
分类:
其他好文 时间:
2020-03-06 23:40:33
阅读次数:
69
判断是否是插入排序的部分与 1035 插入与归并一样。 本题主要考察 堆排序的实现。 首先,把所有双亲结点进行向下调整; 然后,重复 n-1 次操作,即 把堆顶元素与待排序区的最后一个元素交换并对堆顶元素向下调整。 1 #include<iostream> 2 #include<algorithm> ...
分类:
其他好文 时间:
2020-03-05 13:11:47
阅读次数:
66