- 博客(8)
- 收藏
- 关注
翻译 简单数据结构
数据结构简单的可分为线性结构(主要是线性表)和非线性结构(主要是树和图)。线性表定义:由n个数据元素(节点)组成的有限序列。 线性表中数据元素之间的关系是一对一的关系,即除了第一个和最后一个数据元素之外,其它数据元素都是首尾相接的(注意,这句话只适用大部分线性表,而不是全部。比如,循环链表逻辑层次上也是一种线性表(存储层次上属于链式存储),但是把最后一个数据元素的尾指针指向了首位结点)。
2017-05-21 09:42:44
676
翻译 内部排序
排序算法的优劣指标: 时间复杂度:比较次数和移动次数 空间复杂度:需要多少辅助内存 稳定性:若A和B关键字相等,排序后先后次序没变则称之为稳定的,否则是不稳定的。 内部排序和外部排序: 需不需要辅助内存。 内部排序分类:选择排序(直接选择排序、堆排序) 交换排序(冒泡排序、快速排序) 插入排序(直接插入排序、折半插入排序、shell排序) 归并排序 桶式排
2017-05-06 16:06:17
304
翻译 线程
进程(Process): 当一个程序进入内存运行时,即变成一个进程。 独立性:时系统中独立存在的实体。 动态性:程序是静态的,而每一个进程都拥有自己私有的地址空间。 并发性:多个进程可以在单个处理器上并发执行。线程(Thread): 也被称为轻量级进程。多线程拓展了多进程的概念,使得同一个进程可以同时并发处理多个任务。线程是进程的执行单元。 一个
2017-05-05 18:14:33
485
翻译 集合
Java集合大致可以分为set、List、Queue、和Map四种体系,其中set代表无序不可重复的集合;List代表有序、可重复的集合;Map代表具有映射关系的集合;Jdk5增加的Queue体系集合代表一种队列集合的实现。 数组可以存放基本数据类型和对象,但是集合只能保存对象(引用)(Java支持自动装箱)。Set集合类似一个罐子,把一个对象添加到Set集合时,无法记住添加顺序,所以元素不能重复
2017-05-05 17:00:09
283
翻译 虚拟机类加载机制
代码编译的结果从本地机器码转变为字节码,是存储格式发展的一小步,确实编程语言发展的一大步。虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的java类型,这就是虚拟机类加载机制。类型的加载和连接过程都是在程序运行期间完成的,这样会在类加载时稍微增加一些性能开销,但提高了灵活性。例如如果编写一个使用接口的应用程序可以等到运行时在指定其具体
2017-04-30 16:19:19
291
翻译 垃圾的收集
GC需要完成的三件事:哪些内存需要回收、什么时候回收、如何回收堆在几乎存放着所有实例对象,在回收之前首先要确定哪些对象还存活,哪些已经死去(即不可能再被使用)如何确定对象已死: 引用计数算法: Reference Counting给对象中添加一个引用计数器,每当一个地方引用它时计数器值加1;当应用失效时,计数器值就减1;任何时刻计数器都为0的对象就是不可能再被使用的。 实现简单,判定
2017-04-30 14:21:56
258
翻译 JVM之运行时数据区域
Java虚拟机在执行java程序过程中会把它所管理的内存划分为若干不同的数据区域。线程独占区程序计数器 Program Counter Register:空间较小,作用可以看成是当前线程所执行的字节码的信号指示器。 字节码解释器的工作就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,分支、循环、跳转、异常处理、线程恢复等。 由于并发的存在,在任一时刻,
2017-04-29 15:14:16
227
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人