自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

on_1y

只有那些有目标,有爱, 有激情,能坚持到底的灵魂,才能走出一路不断的生机盎然,活出一个越来越大的世界

  • 博客(102)
  • 资源 (4)
  • 收藏
  • 关注

原创 架构风格与基于网络的软件架构设计

如今许多服务都采用了 RESTful API, 而 REST 这一架构风格,最早即来源于 Roy Thomas Fielding 的博士论文 Architectural Styles andthe Design of Network-based Software Architectures, 本文重点介绍了前三章,基于网络的软件设计架构时,应该考虑哪些因素,不同的因素会会导致哪些结果,并给出大量实例。

2017-03-04 22:30:49 9076 1

原创 生产环境 JDK6 升级 JDK8

由于 Oracle 已经不对 JDK6 和 JDK7 进行支持,同时为了利用 G1 收集器。所以我们在生产环境中,将项目从 JDK6 升级至 JDK8,并将垃圾收集器由 CMS 换成了 G1。下面对这次升级作一个总结,并且给出一些大家可能需要用到的资源。

2016-02-11 13:03:36 8737

原创 JDK8 中的类型推断与重载解析

通过一个例子,从 javac 源代码的角度解析了 JDK6 与 JDK8 在类型推断与重载解析方面的不同。

2016-02-10 17:32:17 4162 2

原创 Jinja2 源代码分析

介绍了 Jinja 2.0 的源代码结构,以及 Jinja 2.0 要解决的核心问题,并举例说明了如何将 HTML 模板转化为 Python 代码的过程。

2015-04-24 22:36:57 7192 2

原创 JVMTI 中的JNI系列函数,线程安全及调试技巧

主要写了使用 JVMTI 中需要的几个关键问题,包括 jni functions 的使用,线程安全,调试技巧。

2015-03-15 11:34:54 4037

原创 程序设计中的抽象

总结了 SICP 第一章学到的与抽象相关的内容,通过简单函数及高阶函数的例子,介绍了对抽象的理解。

2015-01-20 21:25:55 4318

原创 程序设计语言中的语法糖

通过在 SICP 上学到的知识,结合 Scheme 中的 lambda 及 let,介绍了对语法糖的理解。

2015-01-18 22:35:16 2783

原创 对递归的新认识

通过在 SICP 上学到的知识,阐述了对递归新的理解,主要是尾递归与普通递归区别。

2015-01-17 21:39:32 2984

原创 程序员都需要学习什么

从程序设计语言,领域知识,通用知识三个方面回顾了程序员需要学习的一些知识

2014-12-14 17:00:18 9926

原创 Java IO机制

介绍了Java的IO机制,包括基于流的字节IO,字符IO中各种类的作用; 同时介绍了新IO中的重要概念,包含Buffer原理,Channel与Buffer如何配合使用,Selector与Channel如何配合使用,以及内存映射文件,文件锁。

2014-09-25 20:21:50 4688 1

原创 Java 虚拟机内部类静态字段的初始化与访问

从 HotSpot 源代码的角度,阐述了虚拟机内部是如何创建,表示一个 Java 类的,静态变量存储在哪里,如何初始化,虚拟机如何访问到这些静态变量。并给出实验佐证。

2014-09-04 17:14:03 4570

原创 Java 中的垃圾回收策略

介绍了 Java 虚拟机中,如何判断一个对象是否存活,各种垃圾回收算法的原理,以及HotSpot中的各种垃圾回收器的特点。

2014-08-28 17:01:15 6175 1

原创 Java虚拟机的启动与程序的运行

从 openjdk8 源代码的角度, 介绍了 java.exe 如何启动虚拟机并执行Java程序的过程。

2014-08-22 20:37:09 10269

原创 在Ubuntu 12.04 上编译调试 OpenJDK8

介绍如何在 ubuntu 12.04 上下载 openjdk8 代码,并编译,调试。

2014-08-22 20:34:08 11785 2

原创 Data Race Free 的前世今生

Data Race Free 概念诞生的背景,基本思想,及其对 Java 与 C++ 内存模型的影响。

2014-08-17 21:39:51 7300

原创 对 Data Race Free 的理解

阐述了对 Data Race Free 的理解,包含其基本思想与设计理念,有助于对 Java 内存模型的理解。

2014-08-17 21:36:37 6391

原创 对 Java 内存模型的理解

阐述了自己对 Java 语言规范中内存模型的理解,介绍了之前较少被提及的 Causality Requirements.

2014-08-17 21:24:30 2914

原创 单例模式

介绍了单例模式的定义,示例,需要注意的地方,并给出了扩展阅读材料。

2014-07-31 21:33:16 2633

原创 外观模式

介绍了观察者模式的定义,自己的理解,以及Tomcat中对观察者模式的使用。

2014-07-31 21:30:23 2917

原创 观察者模式

介绍了观察者模式的定义,示例,为什么要使用观察者模式。

2014-07-31 21:28:46 2531 1

原创 OpenJDK 源码阅读之 Java 字节流输出类的实现

通过阅读 OpenJDK 源代码,描述了 Java IO 中,字节输出系列6个类的实现方式,并简单介绍了与压缩解压缩相关的几个类。

2014-07-12 20:00:27 2784

原创 OpenJDK 源码阅读之 Java 字节流输入类的实现

简要分析了 OpenJDK 的Java IO 中,字节流输入系列的8个类的源代码实现,给出了Java IO的基本设计思路。

2014-07-11 20:07:50 3220

原创 OpenJDK 源代码阅读之 TimSort

概要这个类在 Oracle 的官方文档里是查不到的,但是确实在 OpenJDK 的源代码里出现了,Arrays 中的 sort 函数用到了这个用于排序的类。它将归并排序(merge sort) 与插入排序(insertion sort) 结合,并进行了一些优化。对于已经部分排序的数组,时间复杂度远低于 O(n log(n)),最好可达 O(n),对于随机排序的数组,时间复杂度为 O(n

2014-06-11 21:32:39 10116 7

原创 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 2201

原创 OpenJDK 源代码阅读之 BitSet

概要类继承关系java.lang.Object java.util.BitSet定义public class BitSetextends Objectimplements Cloneable, Serializable要点BitSet 类用来支持位操作,给它一个 size ,就会返回一个对象,代表 size 个位。可以完成“与

2014-06-07 19:42:51 1442

原创 OpenJDK 源代码阅读之 Arrays

概要类继承关系java.lang.Objectjava.util.Arrays定义public class Arraysextends Object要点此类主要是提供了一些操作数组的方法,比如排序啊,搜索啊。也提供一个工厂,用于将数组当成一个 List。实现quick sortpublic static voi

2014-06-05 20:44:58 1572

原创 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 1490

原创 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 2100 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 1932

原创 OpenJDK 源代码阅读之 String

概要类继承关系java.lang.Object java.lang.String定义public final class Stringextends Objectimplements Serializable, ComparableString>, CharSequence要点一旦创建就不可改变实现storage

2014-05-28 17:01:11 3164 2

原创 OpenJDK 源代码阅读之 HashMap

概要类继承关系java.lang.Object java.util.AbstractMap java.util.HashMap定义public class TreeMapextends AbstractMapimplements NavigableMap, Cloneable, Serializable要点1) 与 Hasht

2014-05-27 20:50:05 1975

原创 OpenJDK 源代码阅读之 TreeMap

概要类继承关系java.lang.Object java.util.AbstractMap java.util.HashMap定义public class TreeMap extends AbstractMap implements NavigableMap, Cloneable, java.io.Serializable

2014-05-27 20:46:49 2542

原创 开始OpenJDK源代码阅读

开始OpenJDK源代码阅读在阅读了一周的 OpenJDK 源代码后,我才写这篇文章。因为除非你已经开始阅读,否则是不知道自己是不是应该读下去的。所以,不要贸然说自己要干嘛,先做一段时间,觉得感觉还好,再决定做下去。这一周,主要是看 java.util 中和容器相关的几个文件,虽然还没看太多,但是已经有一些收获了。看到了以前学过的数据结构在Java的标准库中是如何被实现的。也明

2014-05-27 20:42:03 7499 2

原创 使用JVMTI获取Java多线程程序指令执行次序

在Java多线程程序中,由于线程调度,指令间的次序在每次运行时都可能不相同,有时候,我们需要得到指令次序,用来分析程序的行为。这样细粒度的底层行为用一般方法很难完成,我们需要借助 JVM Tool Interface,即JVMTI,来帮助我们获取Java虚拟机执行时的信息。本文先介绍编写JVMTI程序的基本框架,然后介绍如何使用JVMTI来获取多线程程序中指令之间的次序。

2014-04-28 18:13:48 3658

原创 对C语言中的static关键字的深入理解

通过对static关键字的解析,讲述了其背后与编译,链接相关的原理。

2014-04-22 09:53:58 16816 7

原创 C语言中的int类型的范围是由什么决定的

从C语言中int类型讲起,引入了字长的概念,描述了计算机体系结构中与字长相关的方方面面。

2014-03-06 22:49:33 6661 1

原创 控制台,终端,虚拟终端,tty,shell等概念的区别

从历史的角度介绍了,控制台,终端,虚拟终端,tty,shell, bash , sh, csh等概念的区别

2014-03-01 10:09:28 16301 3

原创 GCC 简介

介绍了GCC的基本使用,包括查看编译中间结果,指定语言标准,指定优化程度,另外对C语言编译过程,各个标准也进行了介绍。

2014-02-22 14:20:04 2479

原创 使用 GitHub, Jekyll 打造自己的免费独立博客

讲述了使用 GitHub 和 Jekyll 搭建免费独立博客的过程,包括入门指引,工作机制,网站源代码介绍,以及分类,归档,评论,分页的实现。

2014-02-15 23:07:41 77429 45

原创 wsgiref 源代码分析

介绍了Python Web 开发标准 WSGI 的官方参考实现 wsgiref 的源代码,对源代码结构,层次关系,最重要代码进行了介绍。

2014-01-27 18:20:43 8948 15

高质量C/C++编程

林锐的高质量C/C++质量编程 PDF格式 非常清楚 注重细节,养成良好编程习惯

2010-10-03

Programming Windows Fifth Edition

作者,Charles Petzold。windows程序设计圣经级别的经典书籍,chm格式

2010-10-02

elisp 入门指南(叶文彬)

叶文彬的elisp入门,介绍了elisp最基本的知识,对初学emacs的同学很实用!

2010-05-07

emacs 生存指南

介绍了emacs最基本的生存知识,对初学者很有用,来自水木社区emacs版

2010-05-07

空空如也

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

TA关注的人

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