Skip to content

Instantly share code, notes, and snippets.

View caoxudong's full-sized avatar
💭
coding,talking

caoxudong caoxudong

💭
coding,talking
View GitHub Profile
@caoxudong
caoxudong / fetch_user_also_viewed_and_distance_from.py
Last active December 25, 2015 18:59
解析网页获取数据
#!/usr/bin/env python
#coding:utf-8
"""
徐敏需要的一个网页解析工具。
解析网页,从中找出"User also viewed"和"Distance from"数据,打印。
示例网页: http://www.kayak.com/hotels/InterContinental-Hong-Kong,Kowloon,Hong-Kong-c55204-h49498-details/2013-11-01/2013-11-02/2guests/#similar
@caoxudong
caoxudong / Test.java
Last active January 1, 2016 06:19
hotspot中对象的内存排布
class Test{
private static Object[] staticObjectArray = new Object[3];
private Object[] objectArray = new Object[3];
private Object obj = new Object();
private int i = 1;
private char c = '2';
private long l = 3L;
private short s = 4;
private double d = 5.6;
@caoxudong
caoxudong / min_edit_distance.py
Created December 25, 2013 16:18
计算最小编辑距离
#!/usr/bin/env python
#coding: utf-8
"""
计算两个字符串的最小编辑距离
"""
def substitute_cost(char1, char2):
if char1 == char2:
return 0
@caoxudong
caoxudong / lru_cache.py
Last active January 2, 2016 05:19
一个简单的LRUCache
#!/usr/bin/env python
#coding: utf-8
"""
LeetCode: https://oj.leetcode.com/problems/lru-cache/
"""
#一个简单的LRUCache
@caoxudong
caoxudong / print_numbers_in_array_randomly.py
Created January 13, 2014 12:43
以均等概率随机打印数组的内容
#!/usr/bin/env python
#coding: utf-8
#以均等概率随机打印数组中的数字
import random
def print_with_modification_in_original_array(array):
"""
假设原数组长度为n,以n为上限获取一个随机数,打印数组中对应位置的值,并将该值与数组中最后一个元素的值交换。
@caoxudong
caoxudong / StringReflection.java
Created January 15, 2014 06:49
JDK中String类的实现不再是以往的(copy-on-write + 共享字符数组)了,而是每个字符串对象都有自己的字符数组
package problem.java.lang.reflect;
import java.lang.reflect.Field;
public class StringReflection {
/**
* $ java -version
* java version "1.7.0_45"
* Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
@caoxudong
caoxudong / description.md
Last active January 4, 2016 04:19
hotspot中,标记字中各字段的位置

test.cpp用于打印出hotspot中,标记字中各个字段的位置和相关掩码的值,其中**_in_place是指将当前字段的掩码与该字段的便宜结合之后得到的值

在32位平台上,test.cpp打印如下结果:

age_bits = 4
lock_bits = 2
biased_lock_bits = 1
max_hash_bits = 25
hash_bits = 25

cms_bits = 0

@caoxudong
caoxudong / TestClassInitialization.java
Created February 19, 2014 15:18
该类用于验证类的初始化时机
package problem.java.lang.klass;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
/**
* 该类用于验证类的初始化时机
*
* 具体时机参见JLS http://docs.oracle.com/javase/specs/jls/se7/html/jls-12.html#jls-12.4.1
*
@caoxudong
caoxudong / FetchRoomTypes.java
Last active August 29, 2015 13:57
网页解析工具,基于jsoup解析html
package xumin;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import org.jsoup.Connection;
import org.jsoup.Connection.Response;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
@caoxudong
caoxudong / FetchDistanceFromHongKong.java
Created March 13, 2014 14:22
解析kayak网站上酒店与市中心的距离
package xumin;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import org.jsoup.Connection;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;