
Linux
文章平均质量分 62
hongrui
这个作者很懒,什么都没留下…
展开
-
未公开的mustang核心秘密(三):jdk读取文件的秘密
最近做一个很简单的函数,要两个返回值,我打算有一个类封装一下返回,后来领导要求使用StringBuilder返回,不用 StringBuffer,因为局部变量StringBuffer最后还是要编译为StringBuilder,因为StringBuilder没有任何 同步。问了一下大家的看法,风南说InputStream 的int read(byte[] b) 从输入流中读取一定数量的字节并将其原创 2007-07-12 11:13:00 · 3430 阅读 · 0 评论 -
未公开的mustang核心秘密(四):jdk中实现的rawsocket
以前面试被问道这样一个问题,你用过rawsocket吗,我回答用过,做ICMP,实现非TCPIP协议以外的协议。ICMP是非IP协议,java实现了TCPIP协议,没有实现ICMP协议,JDK1.5发生了变化,InetAddress提供boolean isReachable(int timeout) 测试是否可以达到该地址。实现尽最大努力试图到达主机,但防火墙和服务器配置可能阻塞请求,使其在某些原创 2007-07-23 10:19:00 · 5097 阅读 · 1 评论 -
openssl 0.9.7a-0.9.7d的一个多线程bug
程序在极高的压力下运行很长时间出现,md_rand.c:312: ssleay_rand_add: Assertion `md_c[1] == md_count[1] failed。原因是编译openssl的CFLAGS没有设置为thread safe,多线程同时调用libcrypto的RAND_add()函数会出断言错误。SSL_connect()和SSL_accept()都会调用RAND_a原创 2009-08-29 11:40:00 · 5612 阅读 · 0 评论 -
深入Linux内核架构第二章学习笔记
深入linux内核架构是本根据Linux源代码讲述内核的书,比深入理解linux内核更加贴近代码,讲的更深入浅出一些。本书第二章主要讲述Linux进程的调度,linux的进程都可以描述为task_struct的结构,这个结构包含进程运行的所有信息。task_struct的有一个字段是volatile long state; /* -1 unrunnable, 0 runnable, >0 stopped */来跟踪线程的运行状态,这个volatile 关键字很重要,它告诉编译器定义的变量随时都有可能改原创 2010-09-03 11:11:00 · 3884 阅读 · 0 评论