自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 资源 (5)
  • 收藏
  • 关注

原创 Netty线程模型

前言netty的学习有以下几个难点:netty基于nio进行了较为复杂的封装,而很多童鞋对nio都不是很了解。netty中应用了Reactor模式,而Reactor模式本身有多种线程模型可以实现,netty用了较为复杂的那种。线程按照其任务性质,可以分为工作线程和io线程,而netty线程主要就是io线程。我们知道,多线程程序有一些套路(设计模式),netty作为针对io线程的多线程程序,当然

2016-04-08 22:14:42 322

原创 java NIO

前言我从大二开始学习Java,一直偏重于J2EE领域,写多了SSH、SSM代码之后,Java让我失去了新鲜感,以为调调接口就完事了。笔者一度开始拥抱Go语言,直到我知道“JAVA NIO”这回事,才发现,JAVA能做的有很多。比如在多线程(java.util.concurrent)及网络领域(java.nio),老树开新花。io即输入输出,输入输出的源头与目的地主要是网络和文件,我们先从比较简单的文

2016-04-08 09:46:59 367

原创 Docker Libnetwork 使用

前言我们搭建一个网络环境,一般遵循一定的网络拓扑结构。由于Linux可以模拟相应的网络设备,并可以创建“虚拟机”(也就是容器),因此在Linux系统内,我们也可以遵循一定的网路拓扑结构,设计一个“内网”,实现容器之间的通信。本文主要讲述容器跨主机网络通信。实现方式容器跨主机的网络通信,主要实现思路有两种:二层VLAN网络和Overlay网络。二层VLAN网络的解决跨主机通信的思路是把原先的网络架构改

2016-03-06 02:03:26 1102

原创 JVM和传统OS对比

前言在linux中,可执行文件没有唯一的后缀名,本文以”可执行文件”统称 jvm体系的class文件对应于linux中的可执行文件,jvm对应于linux os,两者有很多相象的地方。但毕竟机理不同,class文件和可执行文件的不同正是两个os机理不同的反映。而本质上的不同,则要追溯到java的起源:面向网络,为了让“可执行文件”在网络上传输并在不同的系统上执行,发散出很多机制。本文以jvm为“主场

2016-02-16 09:44:53 642

原创 异构数据库表在线同步

简介假设存在数据库表table1,要将其同步到table2。有以下要求:table1作为线上数据库表,不能停止服务。这意味着table1在不停的被修改。table1和table2表结构不同。比如删减或修改字段等。比较常用的做法是:记一个时间点A先进行一次全量同步从时间点A开始进行一次增量同步本文阐述下使用mysql binlog实现增量同步。简单使用和查看binlog是一种类型的文件,

2016-02-04 14:41:20 1032

原创 quartz 源码分析

简介经常在网上看别人的源码分析,但大家的思路路径一般不一致,所以往往看归看,忘归忘。刚好最近项目用到了定时任务,所以解析深入了解下quartz。quartz 一些高级特性的使用代码实例,可以参见git@code.csdn.net:lqk654321/quartz-demo.git从使用开始讲起简单使用如何使用分为两个部分:quartz独立使用,和Spring结合使用。之所以分开,是因为spring的

2016-01-18 09:39:44 595

原创 ThreadLocal小结

前言今年四月份面阿里,前一阵子面美团,一说JAVA基础,都会提到ThreadLocal,看来一句“多线程这方面做的不多”是不会让面试官客气的,好在亡羊补牢,为时未晚,在本文中我来谈谈我对ThreadLocal的理解。 本文的很多观点来自《深入理解java虚拟机》以及《java特种兵》。线程安全我们很难想象在计算机的世界,程序执行时,被不停地中断,共享的数据可能会被修改和变“脏”。为保证程序的正确性

2016-01-08 20:05:10 343

原创 基于docker搭建测试环境

简介当web项目开发完毕后,一般会在测试环境上运行一下,供开发部门调错和测试部门测试。对于具有一定业务规模的公司,几十个上百个web服务,每个服务分别占用一个tomcat目录,配置过程繁琐,且无法集中管理。此外,对于公司的新手来讲,需要一定的背景知识才可以上手。本文主要讲述基于docker搭建测试环境,或许可以解决部分上述问题。总体思路业务代码(包括Dockerfile文件)通过git提交,使用J

2016-01-01 16:17:14 599

原创 自己动手写spring(九) 总结

前言作为一个使用轮子的程序员第一次写了轮子,感觉还是满兴奋的。笔者在看很多项目的源码时,经常是看了忘,忘了看。在反思这个现象时,笔者认为:很多代码固然很精巧,但因为读者没有设身处地考虑过实际的情景,对为什么要这样做没有直接的感觉,导致印象不深刻。还有一个重要原因是,大部分框架的代码在发展过程中都经过重新设计,这固然必要,但判空、处理异常,以及复杂的父子关系等掩盖了最初的思路,容易将读者带入到细节中。

2015-11-16 22:05:42 437

原创 自己动手写spring(四) 整合xml与注解方式

前言本文总结前文的内容,将两种方式整合在一起。再次强调,要实现bean工厂功能,首先要将bean信息加载到内存,由配置文件或注解方式转化为“以类的方式”存储,并以map的形式组织起来(为方便查询)。具体的说就是public class BeanFactory { private Beans beans; // 实现id到bean对象的映射 private Map<String

2015-11-15 11:27:59 280

原创 自己动手写spring(三) 支持注解方式

前言本文使用注解方式来读取bean类,并解决bean之间的依赖。其中Component和Value注解直接copy自Spring,Resource注解来自javax。扫描包中的所有类还是以前文提到的beanA和beanB两个model类为例(省略set和get方法)。@Componentpublic class BeanA { @Value("studentA") private

2015-11-15 11:27:22 352

原创 自己动手写spring(一) 使用digester

前言本来想熟悉下digester的使用,写着写着发现,可以搞一个类似spring的东西的来,将过程记录下来,与大家分享。例子中很多代码没有优化,基本没有异常处理和判空操作,这是我的一个坏习惯,先奔着目的去,实现成功后再重构。但这样的代码,更易看懂,优化后的代码反而掩盖了很多思路和思想,尤其容易让人分不清重点(因为算是技巧的地方太多了)。项目源码的git clone地址:git@code.csdn.n

2015-11-12 09:44:32 558

原创 Goroutine 调度模型猜想

goroutine scheduler 模型猜想

2015-04-30 11:00:40 372

原创 获得一个字符串的全排列

public class Permutation {/** * 以start位置开始的字串的所有排列 * @param s 需要全排列的字符串 * @param start 此时的位置 * @return */public void f(String s,int index,StringBuilder temp){// 构建一个新的str,将index所在元素从s中抽出来String str =

2014-04-12 16:58:56 640

原创 从一个数组中找到和为定值的两个数

问题:从一个数组中,找出两个数,使其和满足一定的值sum。算法的本质,就是构造解空间,然后根据解的特点,把不符合条件的解从中去掉。就这个问题而言,我们从数组中取出一个数,那么我们如何判断这个数是不是两个数之一呢?很明显,以现在的情况,还不能否定这个数,那么怎么办?我们就要给这个数加上更多的身份,了解更多的信息,才能更好的判断。(这跟做事很像啊)假设,我告诉你

2014-03-12 21:12:11 1439 1

原创 linux0.11中的进程

《linux内核设计的艺术》书中提到,“操作系统最难和最有价值的是它的整体,整体看明白了,局部才能清楚。”本章讲一下,linux0.11中进程的一些整体情况,希望大家有一些帮助。一、首先,Linux0.11中进程如此安排,达到的效果便是:根据进程的进程号,便可以知道进程的一切。1. 根据进程号和task[],便可以找到进程的pcb(在主内存区,占有一页);2. 根据进程号,即可在G

2014-01-06 20:51:54 654

hadoop-eclipse-plugin-1.1.2.jar

使用eclipse开发hadoop程序时用到的插件

2014-04-25

jquery1.7的库文件

jquery库文件,1.7版本,是目前主流的、最优秀的ajax框架。

2012-05-06

jquery的中文api

jquery的中文帮助文档,可以方便查看jquery的方法,非常实用。

2012-05-06

经典sql语句大全

经典sql语句大全,帮你快速了解sql语句

2011-12-09

c语言课堂笔记

这是我上课时对C语言的总结,集中了差不多所有的语法细节,如果计算机专业的同学想考试前突击一下的话,这会对你有帮助。

2011-12-03

空空如也

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

TA关注的人

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