- 博客(7)
- 资源 (7)
- 收藏
- 关注
原创 面试算法题:二叉树的平衡性检测
二叉树由于其结构化清晰,并且变种多样,是面试中极为常见的考题。从本节开始,我们进入到有关二叉树面试题的研究中
2017-04-27 12:33:35 1148 1
原创 java开发C编译器:把C程序编译成java字节码
我们把C代码编译成java字节码,这样我们的C语言便具备了可跨品台属性。通过把C语言编译成java字节码,我们不但能够继续学习和掌握编译原理相关的算法技术,于此同时,还能深入理解java虚拟机的基本原理,此乃一举两得之妙
2017-04-25 11:24:51 3702 1
原创 java开发系统内核:运行第一个应用程序
上一节,我们已经能够成功的通过type命令,将文件的内容打印到控制台上。能够读取文件内容是相当重要的一步,试想如果我把一个能运行在我们系统上的应用程序的二进制代码作为一个文件存储在磁盘上,当系统运行时,这些二进制代码能够被系统读取,当系统把这些二进制数据当做代码执行的话,那不意味着,我们的操作系统变成了一个平台,能够运行独立于它的应用程序了吗
2017-04-20 12:16:48 880 1
原创 算法面试题:使用两个堆栈实现一个队列
队列的插入和删除遵循先入先出的原则,而堆栈元素的插入和删除遵循后进先出的原则。在很多应用场景下,我们需要使用堆栈来模拟队列,或者是使用队列来模拟堆栈。在数学上,已经能够严格证明,我们是不能使用含有n个元素的堆栈来模拟含有n个元素的队列的,这个证明非常复杂,详细证明可以参看论文: The Power of the queue.用一个堆栈来模拟一个队列是不可能的,但是用两个堆栈来模拟一个队列确是可能的。
2017-04-16 11:20:02 1136 1
原创 java开发C语言解释器:结构体内存与成员变量的一致性
本节,我们要实现的是,如果代码修改了动态内存头四个字节的数据,那么结构体的成员变量p的值也需要跟着改变。上一节做法的思路是,解释器监视结构体成员变量,每当结构体成员的值发生改变,那么解释器就把所有成员变量的值复制到内存中。这次,我们反其道而行之,在解释器读取结构体成本变量的数值之前,先把内存中的信息拷贝到每个结构体成员中
2017-04-11 16:36:27 725
原创 java开发系统内核:实现type命令读取文件内容
上一节,我们通过dir命令,能够列出存储在磁盘上的各个文件,当时我们只是把文件描述信息写入磁盘,但文件的内容并没有实际写入,本节,我们将在磁盘上写入文件的内容,同时实现type命令,通过type,我们可以把对应文件的内容在控制台上显示出来
2017-04-09 11:43:11 989
原创 面试算法:用队列计算滑动窗口内的最大网络流量
在网络流量的控制过程中,有时候需要找到从给定的某个时间点开始,往前倒退若干个时段内的最大网络流量m(t, w). 其中 t 是给定的某个时间节点,w就是滑动窗口大小,于是m表示的就是在时间段[t - w, t] 之间的最大网络流量。
2017-04-04 15:48:38 831
一个java实现的简易编译器
2016-02-18
一个android 文本比对app的实现代码
2015-11-16
Android 4.4 App Development Essential
2014-11-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人