自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 资源 (7)
  • 收藏
  • 关注

原创 java开发系统内核:使用一个中断实现多个API调用

当前,我们使用一个中断来对应一个API, 问题是内核导出的API不可能只有一个,如果始终保持一个中断对应一个API的话,那么CPU只支持两百多个中断,也就是说,按照上一节的办法,我们内核最多只能导出两百个API, 显然,随着内核功能的增强,导出的API肯定越来越多,最后超出两百多个是肯定的,为了能够支持内核导出足够多的API接口,我们需要对原有机制进行相应修改。

2017-05-31 16:43:51 495 1

原创 java开发系统内核:像Linux一样使用中断实现内核API

我们必须想出新的API提供办法。常用的做法是,仿照Linux 将API当做一个中断调用,由此应用程序在使用API时,只需要记住API对应的中断号,然后使用指令int 即可。

2017-05-31 10:58:43 688

原创 java开发C编译器:把函数调用编译成字节码

本节,我们研究如何把函数声明和函数调用转换成可执行的java 字节码,在完成本节代码后,我们的编译器能把下面代码编译成可被java 虚拟机执行的字节码,示例代码如下:void f() { printf("execute function f()");}void main() { f();}

2017-05-27 17:09:47 697

原创 文章标题

如果你喜欢编译原理,请参看视频 用java开发C语言编译器如果你喜欢面试算法,请参看视频 如何进入google,算法面试技能全面提升指南如果你对机器学习感兴趣,请参看一下链接: 机器学习:神经网络导论如果你喜欢操作系统内核,请参看视频 Linux kernel Hacker, 从零构建自己的内核对二叉树节点的遍历一般来说有中序,后序,和前序三种遍历方法,如果二叉树的高用h来表示,那三种遍历

2017-05-27 15:46:15 351

原创 二叉树面试算法:空间复杂度为 O(1)的Morris遍历法

本节要讲的Morris遍历法,能以O(1)的空间复杂度实现二叉树的中序遍历

2017-05-22 11:56:11 3076

原创 java开发系统内核:实现应用程序和内核间的控制权切换

在上节,我们实现了让第三方应用程序调用系统内核提供的接口,但遗留下的一个问题是,应用程序调用完API后,它自己进入死循环,由于CPU的控制权交给了应用程序,如果它在进入死循环前关闭了硬件中断的话(执行CLI指令),那么整个系统就会被锁死了。本节,我们看看,应用程序调用完API后,如何将控制权再次归还给系统内核

2017-05-15 12:50:39 767

原创 java开发C语言编译器: JVM的基本原理

上一节,我们把C语言编译成了可以被java虚拟机加载执行的java汇编语言。这节,我们就jvm的基本机制进行深入了解,如果不理解java虚拟机的体系结构,那么我们不可能把C语言转换成能顺利在虚拟机上执行的字节码

2017-05-11 12:07:35 1966

原创 面试算法:镜像二叉树的检测

有一种特殊的二叉树具备镜像特性,如果你从二叉树的中间切一刀,然后把左边反转到右边,你会发现左右是能够重合的,算法要求是,给定一颗二叉树的根节点,判断该二叉树是否具备镜像特性。

2017-05-09 13:06:06 526

原创 java开发系统内核:实现系统API调用

本节的功能,就是从系统内核导出一个接口,最为API,让外部程序调用。我们导出的这个API的功能,是让外部程序能在控制台窗口上显示字符。我们现在内核编写这个接口的功能,然后再把接口开放出来

2017-05-05 16:59:09 1148

一个java实现的简易编译器

这是一个用java实现的简易的编译器,他能将一个具有加法和乘法的算术表达式编译成类汇编语言,这是我博文对应的代码,具体请参看我的博文: http://blog.csdn.net/tyler_download/article/details/50668983 例如输入 1+2*3+4; end end是必须的,表示输入结束,然后程序输出: t0 = 1 t1 = 2 t2 = 3 t1 *= t2 t0 += t1 t1 = 4 t0 += t1

2016-02-18

一个android 文本比对app的实现代码

这是一个android版的beyond comparer, 它的功能是找出两个文本的最大共同子串,其算法思想是LCS, 但我利用Hirschberg 的动态规划算法将存储复杂度由O(n^2)改为O(n), 具体详情请参看我的博文: http://blog.csdn.net/tyler_download/article/details/49820515

2015-11-16

Android 4.4 App Development Essential

亚马逊上五星级的android开发入门书,它将android开发的概念,流程娓娓道来,详细讲解了开发环境的搭建,调试,并逐步讲解开发的各个知识点,并提供动手实践的实例和程序,极大地降低了学习曲线,是想进入android移动开发的绝佳入门资料

2014-11-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除