编程语言
on_1y
这个作者很懒,什么都没留下…
展开
-
OpenJDK 源代码阅读之 Arrays
概要类继承关系java.lang.Objectjava.util.Arrays定义public class Arraysextends Object要点此类主要是提供了一些操作数组的方法,比如排序啊,搜索啊。也提供一个工厂,用于将数组当成一个 List。实现quick sortpublic static voi原创 2014-06-05 20:44:58 · 1613 阅读 · 0 评论 -
「深入理解计算系统」从Hello World开始
根据《深入理解操作系统》,记录了hello world程序从源代码到编译到执行的整个过程,对底层的执行过程进行了深入描述。原创 2013-09-18 17:19:48 · 2945 阅读 · 0 评论 -
字符指针与字符数组真正的区别
本文从字符串指针与字符串数组的例子开始,讲述了C语言中使用内存的不同方式,以及他们与Linux内存布局的关系。并使用Linux下的工具对想法进行了验证。原创 2013-10-25 20:46:15 · 18598 阅读 · 7 评论 -
GCC 简介
介绍了GCC的基本使用,包括查看编译中间结果,指定语言标准,指定优化程度,另外对C语言编译过程,各个标准也进行了介绍。原创 2014-02-22 14:20:04 · 2523 阅读 · 0 评论 -
Python包管理不同方式的区别
介绍了Python包管理工具,distutils,setuptools,distribute, easy_install, pip之间的区别和使用方法。原创 2013-11-01 16:38:52 · 6930 阅读 · 1 评论 -
SetWindowsHookEx 的资料整理 与 内部机理 的深入分析
问题: 在使用Hook的过程中,经常会遇到SetWindowsHookEx返回NULL的情况,GetLastError或者在监视窗口$err,hr后可以看到错误代码及解释,例如87号参数错误,但是参数错误又分好多种情况,到底我们在哪一步出错了很难知道,比如之前我通过CreateProcess创建了一个子进程,然后使用返回的线程Id传入SetWindowsHookEx,一直返回的错误代码都是87,调原创 2012-05-17 17:23:11 · 10254 阅读 · 0 评论 -
「学习笔记——Python」Python 的错误和异常处理
8 错误和异常(Errors and Exceptions)到现在为止,还没怎么提过错误消息,不过如果你试过一些示例,可能会看到一些。有两种不同类型的 错误:语法错误和例外Table of Contents1 语法错误2 异常(Exceptions)3 处理异常4 raise 异常5 用户自定义异常6 定义清除(clean-up)操作7 预定义的 清除(Clean-up)翻译 2013-03-03 17:13:19 · 49194 阅读 · 1 评论 -
「学习笔记——Python」Python输入和输出
7 Python 输入和输出呈现程序输出结果的方式有很多,可以以可读方式打印出来,也可以写入文件以便将来使用。这一章,将会讲述这些可能的方式。Table of Contents1 输入格式2 读写文件1 输入格式很多时候,我们不仅仅想只打印出结果,还对输出格式有所需求。有两种方式可以完成这一点,一是使用字符串的分割,合并,等 功能自己确定输出格式,你翻译 2013-03-02 16:17:49 · 5938 阅读 · 1 评论 -
「学习笔记——Python」Python非正式导引
3 Python非正式导引在本节的例子中,以提示符>>>, … ,开始的是输入,否则为输出, #后为python的注释Table of Contents1 把Python当作计算器1.1 数字1.2 字符串1.3 Unicode 编码的字符串1.4 List2 初步程序设计1 把Python当作计算器1.1 数字首先进入交互模翻译 2013-02-26 13:50:00 · 2079 阅读 · 0 评论 -
「学习笔记——Python」Python流程控制
4 Python 流程控制Table of Contents1 if 语句2 for 语句3 range函数4 break 和 continue 语句,循环时使用else5 pass语句6 定义函数7 编程风格1 if 语句>>> x = int(raw_input("Please input a number: "))Please input a n翻译 2013-02-26 13:53:18 · 2848 阅读 · 0 评论 -
「学习笔记——Python」Python 常用数据结构
5 Python常用数据结构Table of Contents1 List1.1 List 的使用1.2 将List当作栈(Stack)1.3 将List当作队列1.4 函数式程序设计工具1.5 List Comprehensions2 del 语句3 Tuples 和 序列4 Sets5 Dictionaries6 循环技术7 更多的条件操作8 比较序列操作翻译 2013-02-28 12:20:27 · 3425 阅读 · 0 评论 -
「学习笔记——Python」Python解释器的使用
2 Python解释器的使用Table of Contents1 调用解释器1.1 参数传递1.2 交互模式2 解释器及其环境2.1 错误处理2.2 执行Python脚本2.3 源代码编码(Source Code Encoding)2.4 交互式模式的启动文件2.5 定制模块1 调用解释器在Linux里,如果安装过python,在翻译 2013-02-22 17:13:24 · 9577 阅读 · 0 评论 -
使用JVMTI获取Java多线程程序指令执行次序
在Java多线程程序中,由于线程调度,指令间的次序在每次运行时都可能不相同,有时候,我们需要得到指令次序,用来分析程序的行为。这样细粒度的底层行为用一般方法很难完成,我们需要借助 JVM Tool Interface,即JVMTI,来帮助我们获取Java虚拟机执行时的信息。本文先介绍编写JVMTI程序的基本框架,然后介绍如何使用JVMTI来获取多线程程序中指令之间的次序。原创 2014-04-28 18:13:48 · 3741 阅读 · 0 评论 -
OpenJDK 源码阅读之 Java 字节流输入类的实现
简要分析了 OpenJDK 的Java IO 中,字节流输入系列的8个类的源代码实现,给出了Java IO的基本设计思路。原创 2014-07-11 20:07:50 · 3282 阅读 · 0 评论 -
OpenJDK 源码阅读之 Java 字节流输出类的实现
通过阅读 OpenJDK 源代码,描述了 Java IO 中,字节输出系列6个类的实现方式,并简单介绍了与压缩解压缩相关的几个类。原创 2014-07-12 20:00:27 · 2827 阅读 · 0 评论 -
OpenJDK 源代阅读之 ArrayDeque
概要类继承关系java.lang.Object java.util.AbstractCollectionE> java.util.ArrayDequeE>定义public class ArrayDequeE>extends AbstractCollectionE>implements DequeE>, Cloneable, Seri原创 2014-06-04 19:26:20 · 1521 阅读 · 0 评论 -
OpenJDK 源代码阅读之 LinkedList
概要类继承关系java.lang.Object java.util.AbstractCollection java.util.AbstractList java.util.AbstractSequentialList java.util.LinkedList定义public class L原创 2014-05-30 17:35:31 · 2144 阅读 · 5 评论 -
OpenJDK 源代码阅读之 ArrayList
概要类继承关系java.lang.Object java.util.AbstractCollection java.util.AbstractList java.util.ArrayList定义public class ArrayListE> extends AbstractListE> implemen原创 2014-05-28 17:03:23 · 1978 阅读 · 0 评论 -
OpenJDK 源代码阅读之 String
概要类继承关系java.lang.Object java.lang.String定义public final class Stringextends Objectimplements Serializable, ComparableString>, CharSequence要点一旦创建就不可改变实现storage原创 2014-05-28 17:01:11 · 3201 阅读 · 2 评论 -
OpenJDK 源代码阅读之 BitSet
概要类继承关系java.lang.Object java.util.BitSet定义public class BitSetextends Objectimplements Cloneable, Serializable要点BitSet 类用来支持位操作,给它一个 size ,就会返回一个对象,代表 size 个位。可以完成“与原创 2014-06-07 19:42:51 · 1482 阅读 · 0 评论 -
OpenJDK 源代码阅读之 Collections
概要代码路径为: jdk/src/share/classes/java/util/Collections.java类继承关系java.lang.Object java.util.Collections定义public class Collectionsextends Object实现sortpublic stati原创 2014-06-08 19:44:40 · 2282 阅读 · 0 评论 -
OpenJDK 源代码阅读之 TimSort
概要这个类在 Oracle 的官方文档里是查不到的,但是确实在 OpenJDK 的源代码里出现了,Arrays 中的 sort 函数用到了这个用于排序的类。它将归并排序(merge sort) 与插入排序(insertion sort) 结合,并进行了一些优化。对于已经部分排序的数组,时间复杂度远低于 O(n log(n)),最好可达 O(n),对于随机排序的数组,时间复杂度为 O(n原创 2014-06-11 21:32:39 · 10232 阅读 · 7 评论 -
Java IO机制
介绍了Java的IO机制,包括基于流的字节IO,字符IO中各种类的作用; 同时介绍了新IO中的重要概念,包含Buffer原理,Channel与Buffer如何配合使用,Selector与Channel如何配合使用,以及内存映射文件,文件锁。原创 2014-09-25 20:21:50 · 4728 阅读 · 1 评论 -
程序设计中的抽象
总结了 SICP 第一章学到的与抽象相关的内容,通过简单函数及高阶函数的例子,介绍了对抽象的理解。原创 2015-01-20 21:25:55 · 4376 阅读 · 0 评论 -
Java 中的垃圾回收策略
介绍了 Java 虚拟机中,如何判断一个对象是否存活,各种垃圾回收算法的原理,以及HotSpot中的各种垃圾回收器的特点。原创 2014-08-28 17:01:15 · 6246 阅读 · 1 评论 -
Java 虚拟机内部类静态字段的初始化与访问
从 HotSpot 源代码的角度,阐述了虚拟机内部是如何创建,表示一个 Java 类的,静态变量存储在哪里,如何初始化,虚拟机如何访问到这些静态变量。并给出实验佐证。原创 2014-09-04 17:14:03 · 4616 阅读 · 0 评论 -
「学习笔记——Python」Python开胃菜
1 Python开胃菜这一节的内容是让你喜欢上Python,或者说有学习Python的欲望。如果你经常用电脑工作,你常常会有许多重复性的工作要做,比如批量修改文件名,或者处理文本。如果你是一个程序员, 你可能经常要写程序,这样就要常常在编码,编译,测试之间周而复始,当程序非常大,尤其是需要将很多操作整合到一起时, 手工操作就会变得非常地枯燥,这时候你可能需要一点儿自动化的操作。当然,你可能翻译 2013-02-22 17:11:54 · 2007 阅读 · 0 评论 -
「学习笔记——Python」Google's Python Class 学习笔记
Google's Python Class 学习完了《The Python Tutorial》后,又学习了一下Google's python class,感觉比前者要好。关键是提供了一些习题,让你通过这些习题了解Python的特性,让你尽快用Python去解决一些问题,做完这些习题,感觉比看完整本书还有感觉。这给我提了个醒,学完一个东西要主动找一些练习去做,不然看多少原创 2013-03-10 20:26:33 · 5402 阅读 · 0 评论 -
Haskell Platform安装过程
Haskell 是一种纯函数式编程语言。Haskell Platform 是Haskell的一个整合的开发环境。本文主要介绍Haskell Platform的安装过程。操作系统:Ubuntu 12.04.1 LTS; Linux 3.2.0-29-generic-pae1 下载Haskell Platform和GHChttp://www.haskell.org/原创 2012-10-04 12:27:01 · 14099 阅读 · 1 评论 -
SetWindowsHookEx 失败的一个隐晦的错误原因(思路为主,解决为辅)
我在上一篇博客《SetWindowsHookEx 的资料整理与内部机理的深入分析》中详细介绍了SetWindowsHookEx的失败原因,今天又发现了一个隐晦的错误原因,这也是我这么多天来一直在寻找的东西。起因是我想为一个进程的所有线程都调用SetWindowsHookEx,现象是有些线程可以调用成功,有些线程不能调用成功。前些天一直在看windows,ReactOS相关的源代码,反汇编单步跟踪S原创 2012-05-19 19:29:20 · 13001 阅读 · 1 评论 -
Hook API 原理 解析
1 什么是Hook API简单的说,一个应用程序要调用一个API函数,例如CreateFileW,那么应用程序必须要知道函数的地址,才能调用它,我对Hook API的理解是,把这个函数地址替换为另一个函数MyCreateFileW的地址,那么每当程序调用CreateFileW时,就会调用MyCreateFileW2 Hook API有什么用在《Rootkits——Windows原创 2012-05-23 19:27:42 · 7289 阅读 · 0 评论 -
学习钩子(Hook)过程中遇到的一些问题
1 . AFX_EXT_CLASS 是什么扩展DLL使用 AFX_EXT_CLASS 宏导出类;链接到扩展 DLL 的可执行文件使用该宏导入类。 用于生成扩展 DLL 的相同头文件可通过 AFX_EXT_CLASS 宏与链接到 DLL 的可执行文件一起使用。在写钩子类的时候需要用到这个关键字。参考资料:MSDN:使用AFX_EXT_CLASS 导出和导入原创 2012-04-30 17:37:20 · 1878 阅读 · 0 评论 -
「学习总结-Haskell-1」Haskell 基础知识
Haskell基础知识Table of Contents1 Haskell 基本知识 1.1 Haskell 开发环境安装 1.2 Haskell 代码如何运行 1.3 Haskell 函数定义和使用 1.4 Haskell 基本语句和编程模式 1Haskell 基础知识1.1Haskell 开发环境安装见《Haskell Platform安装过程》1.2...原创 2013-01-31 23:05:58 · 6113 阅读 · 6 评论 -
「学习总结-Haskell-4」Haskell数据类型
Haskell 数据类型Table of Contents1 Haskell 基本知识2 Haskell 重要数据结构-List3 Haskell 常用数据结构4 Haskell 类型4.1 数据类型的查看与表示4.1.1 查看数据类型4.1.2 函数类型的表示4.1.3 基本数据类型4.2 类型类(Type class)4.2.1 为什么要有类型类原创 2013-02-03 21:32:13 · 11137 阅读 · 0 评论 -
「学习总结-Haskell-2」Haskell重要数据结构:List
Haskell 重要数据结构 - ListTable of Contents1 Haskell 基本知识2 Haskell 重要数据结构 - List2.1 List基本知识2.2 List 相关函数2.3 利用List特性编写程序1 Haskell 基本知识2 Haskell 重要数据结构 - List2.1 Lis原创 2013-02-01 22:13:53 · 4760 阅读 · 0 评论 -
「学习笔记——Python」《The Python Tutorial》学习结束语
12 《The Python Tutorial》学习结束语 花了差不多半个月,终于自己翻译完了Python官方给出的一份教程,同时也对Python有了一个初步的了解。 这份教程之前就有人翻译过,之所以选择自己翻译,就是为了强迫自己认真学习,想清楚里面每一句话的意思。 教程里面还有三篇,讲的是下一步应该做些什么,交互式环境的配置和浮点运算,就不翻译了。 Python给我原创 2013-03-08 16:07:31 · 2348 阅读 · 0 评论 -
「学习笔记——Python」Python标准库简明教程II
11 Python标准库简明教程 IITable of Contents1 输出格式2 模板3 处理二进制数据4 多线程5 日志(Logging)6 弱引用(Weak References)7 与List配合使用的工具8 十进制浮点数据运算1 输出格式repr 模块提供了一个定制版本的repr(),用于得到有大量内容的容器的缩写形式>>> impor翻译 2013-03-08 15:40:17 · 2534 阅读 · 0 评论 -
「学习笔记——Python」Python 的模块(Modules)
6 Python的模块 (Modules)Table of Contents1 关于模块1.1 更多关于模块的故事1.2 将模块作为脚体执行1.3 模块搜索路径1.4 “编译过的” Python 文件2 标准模块3 dir 函数4 包(Package)4.1 Import * from package1 关于模块如果你退出了交互模翻译 2013-03-01 17:06:16 · 3950 阅读 · 0 评论 -
「学习笔记——Python」《The Python Tutorial》学习笔记
《The Python Tutorial》学习笔记这是学习《The Python Tutorial》的一份笔记,理想的学习方式是先学习基本的概念,语法和特性,然后再学习 文件操作,网络操作等等应用,然后根据自己的需求在一个领域经常使用Python,慢慢地在应用中掌握。资源:汇总:http://www.python.org/ 这个网站中包含了python的原创 2013-02-22 09:11:42 · 2745 阅读 · 1 评论 -
「学习笔记——Python」Python标准库简明教程
10 Python标准库简明教程Table of Contents1 操作系统接口2 文件通配符3 命令行参数4 错误输出重定向和程序终止5 字符串模式匹配6 数学7 Internet访问8 日期和时间9 数据压缩10 性能测量11 质量控制1 操作系统接口os 模块提供了一系列与系统交互的模块:>>> os.getcwd() # Return t翻译 2013-03-07 17:40:04 · 3499 阅读 · 0 评论