Xinda's Blog

永远在路上,归来仍年少

nginx的安装

nginx的安装 参考链接 安装pcre 进入/usr/local/src源码目录 执行wget http://downloads.sourceforge.net/project/pcre/pcre/8.37/pcre-8.37.tar.gz 下载 执行tar –xvf pcre-8.37.tar.gz 进行解压 进入解压好的/usr/local/src/pcr...

线程交替打印

线程交替打印 重点在wait和notify的协作 交替打印0、1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 5...

线程名称设置的相关细节

理论 前提 记得之前在一本书上看到说线程运行之后名字不可改,只有在调用start()方法前才可以(大概是这么个意思),但是最近在看java.lang.Thread源码的时候发现并非如此,首先看 java.lang.Thread的setName(String name)方法: 1 2 3 4 5 6 7 8 9 10 11 public final synchronized vo...

二分查找的几个变种

二分查找作用于有序数组,内容参考极客时间《数据结构与算法之美》 常规二分 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 public static int binarySearch(int[] array, int k) { if (array == null) { ...

单例模式的七种写法

同一个JVM中保证实例的唯一性 饿汉式 1 2 3 4 5 6 7 8 9 10 11 12 13 public final class Singleton { private static Singleton instance = new Singleton(); private Singleton(){ // 私有化构造函数...

线程的生命周期

进程是操作系统分配资源的基本单位,线程是CPU调度的基本单位,一个进程内可能包含多个线程,进程内的线程共享资源(代码、数据等)。以下内容参考《Java并发编程的艺术》一书。 创建线程的几种方式 本质上只有一种方式那就是构造java.lang.Thread,而实现线程的执行单元有两种方式分别是重写Thread 的run 方法(模版模式),另外一种是实现java.lang.Runnab...