##科学上网之实践篇 ####1. HOSTS
hosts翻墙是我最厌恶的一种方式,原因如下
- 不全,一定没有 100% 收录的 hosts 文件
- 需要不定期更新,你根本不知道什么时候哪个 ip 会失效
- 会助长 GFW ,hosts 收集的 ip 也会被 GFW 维护人员知道,他们可以很轻松的屏蔽掉一个又一个可用 ip
但是在某些情况下,hosts 可以作为应急方案,还是给出若干 hosts 提供方网址
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; |
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" + |
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(); |
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); |
// 复制数据库 | |
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(); | |
} |
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(); |
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]; |
/** | |
* 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 |
##科学上网之实践篇 ####1. HOSTS
hosts翻墙是我最厌恶的一种方式,原因如下
但是在某些情况下,hosts 可以作为应急方案,还是给出若干 hosts 提供方网址