Skip to content

Instantly share code, notes, and snippets.

View AndrewWang1993's full-sized avatar
🌴
On vacation

AndrewWang AndrewWang1993

🌴
On vacation
View GitHub Profile
package com.hexiaochun;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.servlet.ServletException;
@AndrewWang1993
AndrewWang1993 / RegMatch1
Created June 1, 2015 17:39
Java marcher(JAVA 正则表达式)
String str1="abbb234234abbbbbb";
System.out.println(str1.replaceAll("ab*", "k")); //贪婪模式
//k234234k
System.out.println(str1.replaceAll("ab*?", "k")); //非贪婪模式
//kbbb234234kbbbbbb
{
"name":"wang",
"sex":"male",
"age":21
}
String str1 = "{\n" +
"\"name\":\"wang\",\n" +
"\"sex\":\"male\",\n" +
"\"age\":21\n" +
@AndrewWang1993
AndrewWang1993 / HttpClient
Created June 1, 2015 16:07
Two method to get URL info (获取网页源代码的两种方法)
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
try {
HttpClient hc = new DefaultHttpClient();
HttpGet hg = new HttpGet("http://www.baidu.com");
HttpResponse hr = hc.execute(hg);
int code = hr.getStatusLine().getStatusCode();
InputStream is=hr.getEntity().getContent();
@AndrewWang1993
AndrewWang1993 / NewThread
Last active August 29, 2015 14:22
android.os.NetworkOnMainThreadException (不允许在主线程进行网络操作)
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
try {
HttpClient hc = new DefaultHttpClient();
HttpGet hg = new HttpGet("http://www.baidu.com");
HttpResponse hr = hc.execute(hg);
int code = hr.getStatusLine().getStatusCode();
InputStream is = hr.getEntity().getContent();
InputStreamReader isr = new InputStreamReader(is);
@AndrewWang1993
AndrewWang1993 / copyDbFromAssets
Created May 16, 2015 02:43
从Assets文件夹中复制数据库到手机data/data/<package-name>/databases 下面
// 复制数据库
try {
String destPath = "/data/data/" + getPackageName() + "/databases/jixiezhishi.db";
CopyDB( getBaseContext().getAssets().open("jixiezhishi.db"),
new FileOutputStream(destPath));
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
@AndrewWang1993
AndrewWang1993 / MD5
Last active August 29, 2015 14:20
Java MD5/SHA1 MessageDigest(MD5,SHA1加密)
import java.security.MessageDigest;
public class HashTest {
public static String HashTest(String message, String type) {
StringBuilder sBuilder = null;
try {
MessageDigest messageDigest = MessageDigest.getInstance(type);
messageDigest.update(message.getBytes());
sBuilder = new StringBuilder();
@AndrewWang1993
AndrewWang1993 / allSort_1(方法1)
Last active August 29, 2015 14:19
allSort(全排列)
public String[] allSort1(String str) {
int len = str.length();
if (len == 0) {
return null;
}
int count = 0, n = 1;
for (int i = 1; i <= len; i++) {
n *= i;
}
String[] strings = new String[n];
@AndrewWang1993
AndrewWang1993 / quickSort
Created April 26, 2015 15:14
quickSort(快速排序)
/**
* Qucik sort 54,12,9,89,3,19,29,1 (1)选择54作为中轴 并定义tmp=54 1,12,9,89,3,19,29,1
* (2) 定义一个队尾游标,从后向前扫描,选择小于54的第一个元素,并把它复制到54这个位置 1,12,9,89,3,19,29,89
* (3)定义一个队首游标,从前向后扫描,扫描到大于54的第一个元素,并把它复制到1这个位置 1,12,9,29,3,19,29,89
* (4)继续步骤2的扫描,扫描小于54的第一个元素,并把它复制到89这个位置 1,12,9,29,3,19,54,89
* (5)继续步骤3的扫描,当扫描游标触碰到队尾游标时还未发现大于54的元素,则把tmp复制到队尾游标所指向的位置
* (1,12,9,29,3,19)54(89) (6)分别对54左右两个数组执行步骤1
*
* @param str
* @return
@AndrewWang1993
AndrewWang1993 / xxx.md
Last active August 29, 2015 14:18 — forked from wen-long/xxx.md

##科学上网之实践篇 ####1. HOSTS

hosts翻墙是我最厌恶的一种方式,原因如下

  1. 不全,一定没有 100% 收录的 hosts 文件
  2. 需要不定期更新,你根本不知道什么时候哪个 ip 会失效
  3. 会助长 GFW ,hosts 收集的 ip 也会被 GFW 维护人员知道,他们可以很轻松的屏蔽掉一个又一个可用 ip

但是在某些情况下,hosts 可以作为应急方案,还是给出若干 hosts 提供方网址

Hosts collection