- Docker：在ubuntu image里面安装packages. January 21, 2018.
- OpenLDAP的安装与基本使用方法（六）. January 19, 2018.
- docker在macos上的安装. January 18, 2018.
- 使用wildfly-swarm生成jax-rs项目. January 17, 2018.
- RESTEasy：「javax.ws.rs.ext.Providers」文件的加载. January 17, 2018.
- Gradle学习笔记・03・Gradle的Task. January 17, 2018.
- Opentracing：「ThreadLocalActiveSpanSource」和「ThreadLocalActiveSpan」. January 16, 2018.
- 日语学习笔记・16. January 16, 2018.
- OpenLDAP的安装与基本使用方法（五）. January 16, 2018.
- 试玩opentracing-examples. January 15, 2018.
- 日语学习笔记・15. January 12, 2018.
- Docker学习笔记・04. January 12, 2018.
- 日语学习笔记・14. January 11, 2018.
- Java 8里面的「try-with-resources clause」和「Autoclosable」接口. January 11, 2018.
- 试玩opentracing-walkthrough. January 10, 2018.
- 日语学习笔记・13. January 10, 2018.
- opentracing.io的API分析. January 09, 2018.
- 软件试用（二）. January 07, 2018.
- 日语学习笔记・12. January 07, 2018.
- Docker学习笔记・03. January 06, 2018.
- 融化的雪国. January 05, 2018.
- 并发与异步. January 05, 2018.
- Docker学习笔记・02. January 04, 2018.
- Docker学习笔记・01. January 03, 2018.
- 日语学习笔记・11. January 02, 2018.
- Gradle学习笔记・02・使用Gradle编译Java项目. January 02, 2018.
- 日语学习笔记・10. January 01, 2018.
- Gradle学习笔记・01・Gradle的安装与使用. January 01, 2018.
- 被爱着. December 31, 2017.
- 日语学习笔记・09. December 29, 2017.
- OpenLDAP的安装与基本使用方法（四）. December 29, 2017.
- 日语学习笔记・08. December 28, 2017.
- OpenLDAP的安装与基本使用方法（三）. December 28, 2017.
- 日语学习笔记・07. December 27, 2017.
- 使用OpenTracing的JAX-RS实现模块. December 27, 2017.
- Clojure的Seq数据结构. December 27, 2017.
- 日语学习笔记・06. December 26, 2017.
- OpenLDAP的安装与基本使用方法（二）. December 26, 2017.
- 日语学习笔记・05. December 25, 2017.
- OpenLDAP的安装与基本使用方法（一）. December 25, 2017.
- Eval，Macro，Preprocessor，Homoiconicity（下）. December 24, 2017.
- Clojure的四种基础数据结构. December 24, 2017.
- 日语学习笔记・04. December 23, 2017.
- Eval，Macro，Preprocessor，Homoiconicity（上）. December 23, 2017.
- 关于并发编程的一些思考（二）. December 22, 2017.
这篇文章介绍三种non-block的并发级别：Sequential Consistency，Quiescent Consistency和Serializability。
- 日语学习笔记・03. December 21, 2017.
- 关于并发编程的一些思考（一）. December 21, 2017.
- Linux驱动开发入门（四）. December 17, 2017.
- 日语学习笔记・02. December 16, 2017.
- 日语学习笔记・01. December 15, 2017.
- Linux驱动开发入门（三）. December 15, 2017.
- Linux驱动开发入门（二）. December 14, 2017.
- Linux驱动开发入门（一）. December 13, 2017.
- 软件试用（一）. December 13, 2017.
- Lambda表达式的深入学习. December 12, 2017.
- Spacemacs vs. Cursive. December 12, 2017.
- Lambda Expression的表达形式. December 11, 2017.
- Java 8 里面的双冒号语法和lambda一样，也是通过invokedynamic来实现的. December 10, 2017.
- 使用Autotools编译项目（上）. December 08, 2017.
- 使用Autotools编译项目（下）. December 08, 2017.
- RxJava的几种Scheduler. December 07, 2017.
最近在做和RxJava相关的工作。RxJava是一个基于Observer模式[^1]的异步式框架，用来处理Event based tasks比较合适。它的实现是基于Java的Thread库。
- 正则表达式的边界. December 06, 2017.
- 处理Git项目当中既有Windows文件又有Linux/Unix/MacOS文件的问题. December 06, 2017.
- Analysing the Jersey extended WADL support. August 07, 2017.
In this article, I'd like to record my self-learning process on Jersey extended WADL support. It will be updated as I make progresses.
- Reading notes of the article 'Invokedynamic 101'. June 11, 2017.
I'm reading the article 'Invokedynamic 101' recently, and I want to write some notes on the code provided in the article.
- Lambda is a linking scheme. June 11, 2017.
The lambda expression is implemented by the invokedynamic JVM instruction, and in this article let's see why the invokedynamic instruction is actually a way for method linkage.
- JNDI in Wildfly: Part 2 - The remote naming service. June 04, 2017.
In this article, let's check the Wildfly Remote Naming Service.
- JNDI in Wildfly: Part 1 - The Wildfly `naming` module. June 03, 2017.
This series will be focused on the `Java Naming and Directory Interface` implementation in Wildfly. This first article will make a brief introduction on the overall design of Wildfly in this part.
- Analyzing the JBoss Remoting Protocol - Continued. May 30, 2017.
This article will analyze the JBoss Remoting Protocol in detail.
- Adventures in JDBC and the PostgreSQL JDBC driver: Part 8 - The datasource loading process in Wildfly. May 28, 2017.
In previous article, I have introduced the JDBC driver loading process in Wildfly. In this article, I'd like to show you the datasource loading process.
- Adventures in JDBC and the PostgreSQL JDBC driver: Part 7 - The JDBC driver loading process in Wildfly. May 25, 2017.
In the previous article, we have learned how to add a JDBC database driver module into Wildfly, and how to configure a datasource to use hte driver. In this article, let's see the JDBC driver loading process in Wildfly.
- Adventures in JDBC and the PostgreSQL JDBC driver: Part 6 - Deploying the PostgreSQL JDBC driver into Wildfly. May 25, 2017.
In this article I will show you how to add PostgresSQL into Wildfly as the data source provider.
- Analyzing the JBoss Remoting Protocol. May 23, 2017.
This article will introduce the `remoting-wireshark` project.
- The articles & books I read and the videos I watched last week. May 22, 2017.
Here is a list of the articles & books I read and the videos I watched last week.
- The compiled bytecode of Java 8 lambda expressions. May 22, 2017.
In this article, I'd like to check the compiled code of the Java 8 lambda expressions.
- Adventures in JDBC and the PostgreSQL JDBC driver: Part 5 - The Effect Of Connection.setAutoCommit(...) method in JDBC. May 21, 2017.
In database design, there are usually three levels of transaction support: No transaction, Local transaction, Distributed transaction.
- An introduction to the JBoss Modular Service Container: Part 2 - Transaction layer. May 21, 2017.
In this article let's check the transaction layer design of jboss-msc.
- The articles & books I read and the videos I watched last week. May 16, 2017.
Here is a list of the articles & books I read and the videos I watched last week.
- Adventures in JDBC and the PostgreSQL JDBC driver: Part 4 - Connection pooling in JDBC. May 11, 2017.
In the previous articles, we have learned the basic aspects of the JDBC specification and the implementation of the PostgreSQL driver.
- An introduction to the JBoss Modular Service Container: Part 1 - Basic architecture of the container. May 10, 2017.
The `JBoss Modular Service Container` project is the core part of the Wildfly application server, and it provides the Wildfly server the ability to install or remove components (called services) at runtime. In this series of articles, I'd like to make an introduction to the project.
- Adventures in JDBC and the PostgreSQL JDBC driver: Part 3 - Analyzing the JDBC driver registration process. May 08, 2017.
In last part of the series of the articles, we have made a sample project to load the PostgreSQL JDBC driver into the running Java virtual machine. In this part, we will examine the JDBC driver startup process.
- Troubleshooting the Wildfly startup process. May 07, 2017.
In this article, I'd like to introduce to you how to using the standard `Java Debug Wire Protocol` to connect to troubleshoot the Wildfly server in standalone mode.
- Fetching and compiling the Wildfly upstream source. May 05, 2017.
In this article I want to teach you how to fetch the Wildfly code from Github and compile it for playing.
- Adventures in JDBC and the PostgreSQL JDBC driver: Part 2 - Using JDBC driver to communicate with database server. May 05, 2017.
This is the second part of the `Adventures in JDBC and the PostgreSQL JDBC driver` series of articles. In the first part, we have installed the PostgreSQL database server, and we have downloaded the PostgreSQL JDBC driver source and compile it. In this part we will create a sample application to use JDBC to interact with the underlying database system. The first step is the create a sample application.
- Adventures in JDBC and the PostgreSQL JDBC driver: Part 1 - Installing PostgreSQL database and JDBC driver. May 04, 2017.
I want to make a deep understanding on JDBC specification and how does a database vendor implement it in its driver. So I will use the PostgreSQL JDBC driver to do the investigate in this series of the articles. The first part will be focus on the installation of the PostgreSQL database server and its JDBC driver.
- An Introduction To The CORBA And Java RMI-IIOP. May 03, 2017.
In this article, I'd like to introduce to you the Common Object Request Broker Architecture and its implementation in Java.
- Multiple Application Support In Jersey And Comparing It With RESTEasy Implementation. April 10, 2017.
Jersey supports multiple Application classes to be registered, on the other side currently RESTEasy doesn't support multiple Application classes deployment yet. In this article I'd like to give a brief introduction on Jersey implementation and compare it with RESTEasy current design.
- RESTEasy Application Support. April 05, 2017.
In this article I'd like to give you a brief introduction on RESTEasy Application Support.
- An Analysis On RESTEasy Security Modules And Comparing Its Features With Keycloak. March 30, 2017.
In this article I'd like to share with you my study on RESTEasy security modules and Keycloak features.
- Using RESTEasy WADL To Demonstrate The Startup Process Of RESTEasy Container. March 23, 2017.
RESTEasy WADL is a module that can generate WADL data for the restful resources. It needs to scan the RESTEasy container to get all the resources and methods information to generate the WADL data correctly, so analyzing the RESTEasy WADL intialization process can help us to better understanding the RESTEasy container structure. In this article I will use the code of RESTEasy WADL for this purpose.
- A Non-recursive Approach To The Fibonacci Sequence Generator. March 20, 2017.
We usually know the Fibonacci sequence generator for learning the recursive algorithm. In this article, I'd like to introduce to you a non-recursive implementation.
- Using NetworkManager-tui To Manage The Network From Text User Interface. March 20, 2017.
Sometimes it's more convenient to manage the network from text user interface. In this article I'd like to share a curses-based tool named NetworkManager-tui.
- An Analysis Of RESTEasy Core Classes. March 15, 2017.
RESTEasy has some embedded containers, such as the Netty container, the Sun JDK HTTP Server container, and the Undertow container. For each container, their basic requirement is to initialize the RESTEasy core classes properly so RESTEasy can provide resource classes and URL to method matching properly. In this article, I'd like to show you my researches on RESTEasy core classes.
- A Brief Introduction To Cite This For Me. March 09, 2017.
Cite This For Me is an online citation tool for students and researchers to cite multiple types of sources. In this article, I'd like to provide a brief introduction to the tool.
- Usage Of Typographic Ligature In Coding. March 07, 2017.
In writing and typography, a ligature occurs where two or more graphemes or letters are joined as a single glyph. In this article, I'd like to introduce several fonts that supports ligatures you can use in various coding tools and text editors.
- An Introduction To Material Design And Relative Atom Themes. March 07, 2017.
Material Design is a design guideline developed by Google, and in Atom there are relative themes using the guideline. In this article, I'd like to give you a brief introduction on the guideline and the relative Atom themes.
- Using Papers And Manuscripts To Add Academic Citations into GitHub Pages. March 06, 2017.
In this article I'd like to share with you how to use Papers 3 and Manuscripts under MacOS to add academic citations into your GitHub Pages.
- Using Google Scholar for Citations. March 06, 2017.
In this article I'd like to show you how to use Google Scholar to search for papers and books and get their citations, and I will also show you how to export BibTeX formatted text from Google Scholar and save it locally for future references.
- An Introduction to Visual Paradigm. March 06, 2017.
There are many UML modeling tools on the market. In this article, I'd like to introduce the one I used in my daily work called Visual Paradigm.
- Write An Apache HTTPD Module. March 05, 2017.
In this article I'd like to show you how to write a module for Apache HTTPD.
- A Test to Github Math Engine. March 05, 2017.
This article is for testing the MathJax support in posts.
- RESTEasy Implementation of JAX-RS SPEC 2.0 Section 3.7. March 04, 2017.
In this article I'd like to share with you my study on JAX-RS SPEC 2.0 Section 3.7 and relative implementations in RESTEasy.
- Using Java RegExp Engine. March 04, 2017.
I'm playing Java RegExp Engine recently and I'd like to share some use experiences with you in this article.
- How To Use Tomcat Vault. March 04, 2017.
Tomcat Vault is a tool that allows you to encrypt the passwords in Apache Tomcat configuration files. In this article I'd like to show you how to integrate it into Apache Tomcat.
- How To Use Apache Commons Daemon. March 04, 2017.
Apache Commons Daemon is a tool provided by Apache community which can help you to manage your Java application as a standard system daemon. In this article I'd like to show you the basic usage of it.
- A Java Implementation of Dijkstra's Algorithm. March 04, 2017.
In this article I'd like to show you a java implementation of Dijkstra's Algorithm I've written.