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
public class QuickSort {
long[] theArray = {};
public void insert(long value) {
//...
}
public void quickSort() {
recQuickSort(0, theArray.length - 1);
}
private void recQuickSort(int left, int right) {
if(left >= right)
return;
int p = partition(left, right);
recQuickSort(left, p - 1);
recQuickSort(p + 1, right);
}
private int partition(int left, int right) {
long pivot = theArray[right];
int leftptr = left, rightptr = right - 1;
while(true) {
while(theArray[++leftptr] < pivot);
while(theArray[--rightptr] > pivot);
if(leftptr >= rightptr)
break;
swap(leftptr, rightptr);
}
swap(leftPtr, right);
return leftptr;
}
private void swap(int left, int right) {
long tmp = theArray[left];
theArray[left] = theArray[right];
theArray[right] = tmp;
}
}
String源码解读
位排序
常见的简单排序算法
本文介绍几种常见的简单排序算法,包括冒泡排序,选择排序和插入排序。
中文分词
hexo你的博客
hexo出自台湾大学生 tommy351 之手,是一个基于Node.js的静态博客程序,其编译上百篇文字只需要几秒。hexo生成的静态网页可以直接放到GitHub Pages,BAE,SAE等平台上。搭建过程你或许觉得有那么点小繁琐,但一旦搭建完成,写文章是极简单,极舒服的。只需要几个简单命令,你就可以完成一切。
Markdown常用语法
Markdown 是一种用来写作的轻量级「标记语言」,它用简洁的语法代替排版,而不像一般我们用的字处理软件 Word 或 Pages 有大量的排版、字体设置。它使我们专心于码字,用「标记」语法,来代替常见的排版格式.Markdown 的语法十分简单。常用的标记符号也不超过十个,这种相对于更为复杂的HTML 标记语言来说,Markdown 可谓是十分轻量的,学习成本也不需要太多,且一旦熟悉这种语法规则,会有一劳永逸的效果。
hexo常用命令
hexo 简写
hexo n "我的博客" #新建文章,等价于 heox new "我的博客"
hexo p #草稿,等价于 hexo publish
hexo g #生成静态网页,等价于 hexo generate
hexo s #启动服务预览,等价于 hexo server
hexo d #部署,等价于 hexo deploy
volatile的实现原理
java中的并发机制依赖于JVM的实现和CPU的指令。java并发机制包括volatile,synchronized和原子操作。本文将探索volatile的底层实现原理。
并发编程的挑战
本文主要介绍几种并发编程可能会遇到的挑战,及其解决方案。