摘要: 本博客不再更新,现在使用github来写,欢迎大家:)地址:http://wsztrush.github.io/ 阅读全文
posted @ 2015-09-09 21:08 GG大婶 阅读(153) 评论(0) 推荐(0) 编辑
摘要: JMS中消息的结构如下:activemq是apache的一个顶级项目,是一个开源的JMS实现,网络层大概的结构如下(思考为什么这么分层?):具体的实现中的流程,因为没有看具体的代码,是看别人的博客做的一个笔记,感觉其中还有一点问题: 阅读全文
posted @ 2012-06-12 15:06 GG大婶 阅读(348) 评论(0) 推荐(0) 编辑
摘要: poll函数的定义如下:int poll(struct pollfd *fds, nfds_t nfds, int timeout);其中的参数类型pollfd的定义如下:struct pollfd { int fd; short events; short revents;};poll系统调用对应的内核中的代码为sys_poll,整体的流程是先把用户想知道的事件从用户内存弄到内核空间中来。然后调用文件的poll函数来监听对应的事件。如果在指定的时间内发生了,那么就要通知用户态的进程了。为了更清楚地阅读代码,先来看涉及到的数据结构,poll_wqueues用来保存发生的... 阅读全文
posted @ 2012-06-11 01:29 GG大婶 阅读(1208) 评论(0) 推荐(0) 编辑
摘要: 下面是求节点介数的代码,介数就是指经过一个点的最短路径的比例,在计算复杂网络中节点重要性的时候会用到。/** * 用来计算介数 * 要计算所有的最短路径,用DIJ计算最短路径的时候我们可以发现一个规律:最后生成的结果是最小生成树,而一棵树是可以用一个一维数组表示的。 * 所以本代码在计算介数的时候具有和DIJ相同的时间复杂度。 */public class Betweeness { private double[][] dis; private int N; Betweeness(double[][] dis) { this.... 阅读全文
posted @ 2012-05-15 15:54 GG大婶 阅读(6274) 评论(4) 推荐(0) 编辑
摘要: JVM的总体结构大致如下:这样,其实我们就知道了JVM到底是来干什么的了。学习的时候最初也是最重要的是得明白自己要从这个里面学到什么东西,如果学习JVM的时候去把具体的实现也去看一遍,估计收获是有的,但是花的时间太长了,所以这里就止步于字节码,不会再往下深究。这里基本上我们想象的属性全有了。常量池应该是最重要的,因为从上面可以看到下面的属性之类的都是保存其在常量池中的索引。常量池中有很多种类型,下面分别具体来看。常量池中容纳的符号引用包括三种特殊字符串:全限定名:倒过来的域名用来作为类或接口的名称,唯一的。简单名称:字段或方法的名称,保存的就像在Java文件中定义的。描述符:给出字段的类型。其 阅读全文
posted @ 2012-04-11 09:00 GG大婶 阅读(1516) 评论(0) 推荐(1) 编辑
摘要: 通过Executors创建线程池的时候调用newFixedThreadPool方法,继承的大概结构如下:创建完成之后,线程池的结构如下:在创建完线程池之后就可以调用execute方法来执行给定的Runnable了,具体的代码如下: 1 public void execute(Runnable command) { 2 if (command == null) 3 throw new NullPointerException(); 4 if (poolSize >= corePoolSize || !addIfUnderCorePo... 阅读全文
posted @ 2012-04-10 17:04 GG大婶 阅读(2371) 评论(0) 推荐(3) 编辑
摘要: 下面的代码如果没有出现线程冲突结果应该是200,但实际的结果在100到200之间: 1 class Foo{ 2 public String x = ""; 3 public void add(){ 4 x+="1"; 5 } 6 } 7 public class Main extends Thread{ 8 public boolean flag; 9 public Foo foo;10 public Main(boolean flag){11 this.flag = flag;12 }13 pu... 阅读全文
posted @ 2012-04-09 13:56 GG大婶 阅读(574) 评论(0) 推荐(1) 编辑
摘要: import java.io.BufferedInputStream;import java.io.InputStreamReader;import java.net.URL;import java.sql.Date;public class StockInfo { public static final String SOURCE = "http://hq.sinajs.cn/list="; // 股票名称 public String stock_name; // 今日开盘价 public double begin_price; // 昨日收盘价 p... 阅读全文
posted @ 2012-03-30 12:21 GG大婶 阅读(1762) 评论(0) 推荐(0) 编辑
摘要: private static String unknow2chines(String str){ String result = ""; int start = 0, end = 0; while(start < str.length()) { start = str.indexOf("&#", end); if(start >= 0){ result += str.substring(end, start); start = start + 2; end = str.indexOf(";", start); if 阅读全文
posted @ 2012-03-30 10:30 GG大婶 阅读(390) 评论(0) 推荐(0) 编辑
摘要: 指令含义iconst_m1把int型常量-1压入栈中iconst_0把int型常量压入栈中fconst_1把float型常量1压入栈中lconst_2把long型常量2压入栈中dconst_3把double型常量3压入栈中bipush byte1把byte1转换成int型压入栈中sipush byte1,byte2把byte1,byte2组成的short转换成int压入栈中aconst_null把空对象压入栈中ldc indexbyte1把常量池中指定下标的一个字长压入栈ldc_w indexbyte1,indexbyte2把常量池中指定下标的一个字长压入栈ldc2_w indexbyte1, 阅读全文
posted @ 2012-03-26 22:31 GG大婶 阅读(2465) 评论(0) 推荐(0) 编辑