垃圾回收技术的发展(转)
写作本文的初衷是想和大家分享垃圾收集( Garbage Collection )技术简单而有趣的发展史。动笔之前,我站在窗边,望了望正在小区里装运垃圾的清洁车。和生活中环卫工人们清运垃圾的工作相似,软件开发里的垃圾收集其实就是一种自动打扫和清除内存垃圾的技术,它可以有效防范动态内存分配中可能发生的两个危险:因内存垃圾过多而引发的内存耗尽(这和生活垃圾堵塞排污管道的危险并没有什么本质的不同),以及不恰当的内存释放所造成的内存非法引用(这类似于我们在生活中买到了一瓶已经过期三年的牛奶)。 据历史学家们介绍,四千多年前的古
转:浮点数在计算机中存储方式
C语言和C#语言中,对于浮点类型的数据采用单精度类型(float)和双精度类型(double)来存储,float数据占用32bit,double数据占用64bit,我们在声明一个变量float f= 2.25f的时候,是如何分配内存的呢?如果胡乱分配,那世界岂不是乱套了么,其实不论是float还是double在存储方式上都是遵从IEEE的规范的,float遵从的是IEEE R32.24 ,而double 遵从的是R64.53。 无论是单精度还是双精度在存储中都分为三个部分:符号位(Sign) : 0代表正,1代表为负 指数位(Exponent):用于存储科学计数法中的指数数据,并且采用移位存储 尾数部分(Mantiss
转:malloc VS new, free VS delete
内存操作一直以来都让程序员吃足苦头,我们也来简单看看.在C语言中,我们申请内存时先包含malloc.h头文件,使用函数malloc申请,C++中依然保留了该方式,新增加了种方式new ,该操作符不仅能为基本类型变量申请空间,能给对象申请空间,对应的释放操作则为delete,我们来看个简单的[@more@]// 2006-09-13-3.cpp : 定义控制台应用程序的入口点。// 动态开辟内存地址,该处要注意,要把开辟的空间释放(free)// C++中独有的new,delete方式创建与删除内存空间// array = new int[arraysize],对于数组,则需要delete[]// 转载请注明出处 http://hi.baidu.co
转:八皇后问题 java实现,算法两则
八皇后问题是一个古老而著名的问题,是回溯算法的典型例题。该问题是19世纪著名的数学家高斯1850年提出:在8×8格的国际象棋盘上摆放8个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。[英国某著名计算机图形图像公司面试题]算法1:典型的回朔算法。打印出8皇后的最终排列。解析:递归实现n皇后问题。算法分析:数组a、b、c分别用来标记冲突,a数组代表列冲突,从a[0]~a[7]代表第0列到第7列。如果某列上已经有皇后,则为1,否则为0。数组b代表主对角线冲突,为b[i-j+7],即从b[0]~b[14]。
转:Java同步技术 (一)
本文版权归作者Ian Gao所有,如有转载请与作者联系并注明出处http://blog.csdn.net/Iangao/archive/2008/10/09/3041265.aspx。 一、基本同步原理 1.1 同步机制(synchronize mechanism)1.1.1 同步 多线程开发过程中,我们经常会提到同步这个词,那么什么是同步呢?为什么会存在同步问题呢?我们知道一个多线程应用系统在操作系统的进程(线程)机制下可以同时有多个进程(线程)并发运行,这此进程(线程)要完成的任务可能是互不相关的,但也可能是有联系的。那么当一个进程(线程)要和另一个进程(线程)交流信息时同步就有可能发生了
转:Java同步技术
Java同步技术文/ Iangao 2008.10.9一基本同步原理1. .基本同步原理2. 信号量(Semphore)二. 高级同步技术1. 事件(Event)2. 管程(Monitor)与条件变量(Condition)3. 信号量、事件以及条件变量之间异同三. 经典同步问题1. 有限缓冲区(生产者-消费者)问题2. 经典同步问题 - 读写问题(Reader-Writer)四. 常用线程解决方案1.定时器2 对已有方法的同步或异步调用 - BlockingCall 附录:1.一个简单的多线程测试类[@more@]参考资料:《操作系统(第3版)》, (美)Gary Nutt, 译: 罗宇、吕顾等. 机械工业出版社 《Java编程思想(第3版)》,(美)Brucel Eckel
Google操作系统基于Chrome?!
Google操作系统基于Chrome?!Google OS的传闻早已不是一年两年那么长,而在当地时间周二晚上,Google官方博客撰文表示,一个基于Chrome浏览器的操作系统正在出现.[@more@]换而言之,谷歌的云计算野心终于露出,他们认为未来的小型上网本甚至全尺寸桌面系统上的所有工作都可以在Web上完成.如果Google的预想实现,将割裂传统上的计算软硬件需求,对业界产生广泛影响.Google产品管理副总裁Sundar Pichai表示他们正在为各种功率的计算机设计桌面系统.目前Google有Docs、GMail等多项Web应用,其中一部分已经实现桌面引擎化.另一个可能的办法是Google会单
转:Java String中的HashCode和Equal
Java String中的HashCode和Equal 文/Iangao 2008.11.21 16:53 1. hashSet中比较是否重复的依据是a.hasCode()=b.hasCode() && a.equals(b)2. String的hashCode依据: 以依赖于char[i]的int值以和char[i]的排列序的算法计算出的.不依赖String的ref.3. String的equals依据: a==b || ( a.length=b.length && { a[i]=b[i] } )4. 只有用a==b时比校的才是比校的ref,也就是说这时才是比校是a与b是不是同一个对象[@more@]5. 结论: 两个不同ref(引用)的String可能会被认为是集合中的同一个元素.本文来自CSDN博客,转载请标明出处:
转:Java中的HashSet, TreeSet, HashMap, TreeMap
Java中的HashSet和TreeSet 文/ Iangao 一. 问题 1. HashSet,TreeSet是如何使用hashCode()和equal()方法的 2. TreeMap,TreeSet中的对象何时以及为何要实现Comparable接口? 二. 回答:1. HashSet是通过HashMap实现的,TreeSet是通过TreeMap实现的,只不过Set用的只是Map的key2. Map的key和Set都有一个共同的特性就是集合的唯一性.TreeMap更是多了一个有序性.3. hashCode和equal()是HashMap用的, 因为无需排序所以只需要关注定位和唯一性即可. a. hashCode是用来计算hash值的,hash值是用来确定hash表索引的. b. hash表中的一个索引处存放
原:八皇后问题的递归和非递归Java实现
原:八皇后问题的递归和非递归实现八皇后问题是一个古老而著名的问题,是回溯算法的典型例题。该问题是十九世纪著名 的数学家高斯1850年提出:在8X8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。 高斯认为有76种方案。1854年在柏林的象棋杂志上不同的作者发表了40种不同的解,后 来有人用图论的方法解出92种结果。事实上就是有92种解法。以下是code:[@more@]import java.io.*;import java.util.*;class Queens {final boolean available = true;final int squar
转:JDK1.4非阻塞套接字API概述
J2SE 1.4版引入了非阻隔套接字(Nonblocking sockets),它允许在网络通信应用程序和没有阻隔的进程中使用套接字。本文将详细介绍什么是非阻隔套接字(Nonblocking sockets)及其工作原理和用途。 从Java 1.4起,程序员便能用一组新的API来进行I/O操作。这是JSR 51项目的结果,自2000年1月的Java 1.4 beta版,程序员便可以使用JSR 51了。在Java 1.4中增加了一些非常重要的新技术来处理诸如在文件和套接字上进行高性能的读/写操作,正规表达式,译码/编码字符集,内存映射和文件锁定。在这篇文章中,我们将讨论一个特殊的新API――New I/
转:目前国内的广告联盟不计其数,但大多是鱼目混珠,下面介绍几个国内最好的也是最值得站长信任的十五个广告联盟:
目前国内的广告联盟不计其数,但大多是鱼目混珠,下面介绍几个国内最好的也是最值得站长信任的十五个广告联盟:[@more@]1.百度广告联盟2. GoogleAdsense3.亚洲交友联盟4.第一视频5.阿里妈妈6.黑马广告联盟7.亿起发8.泡泡玩网页游戏联合运营平台9.成果网10.搜狗广告联盟11.当当联盟12.卓越联盟13.迅雷联盟14.QQ联盟15.世纪联盟http://alexclark.itpub.net/post/670/484410
转:java应用 tomcat中实现https安全连接的方法
SSL, 或者Secure Socket Layer,是一种允许web浏览器和web服务器通过一个安全的连接进行交流的技术。这意味着将被发送的数据在一端被翻译成密码,传送出去,然后在另一端解开密码,再进行处理。这是一个双向的过程,也就是浏览器和服务器都需要在发送数据之前对它们进行加密。 [@more@]SSL协定的另一个重要方面是认证(Authentication)。这就是说,在你开始试图通过一个安全连接与一个web服务器交流的时候,这个服务器会要求你的浏览器出示一组证件,通过“鉴定”的方式来证明这就是你所声明的网站。 在某些情况下,服务器还会要求你的web浏
转载自月光博客 [ http://www.williamlong.info/ ] - 中文分词和TF-IDF
中文分词(Chinese Word Segmentation)指的是将一个汉字序列切分成一个一个单独的词。中文分词是文本挖掘的基础,对于输入的一段中文,成功的进行中文分词,可以达到电脑自动识别语句含义的效果。 TF-IDF(term frequency–inverse document frequency)是一种用于信息搜索和信息挖掘的常用加权技术。在搜索、文献分类和其他相关领域有广泛的应用。 TF-IDF的主要思想是,如果某个词或短语在一篇文章中出现的频率TF高,并且在其他文章中很少出现,则认为此词或者短语具有很好的类别区分能力,适合用来分类。TF词频(Term Frequency)指的
转:“神医”李培刚没治好李宁 日前接受微创手术
李培刚(左)在《面对面》节目中的“表演”。 资料片[@more@]本报讯 据《南方都市报》报道,李培刚的“神医”成名之路中,一个重要的支撑就是《面对面》节目中“体操王子”李宁接受他的治疗。实际上,他的“李培刚医学新疗法”并没有治好李宁,李宁日前在医院接受了最先进的微创手术,将于本周三出院。 在6月13日的《面对面》节目中,李培刚当场“表演”了为中国“体操王子”李宁看病。李宁称自己站久了腰部就有麻、痛等症状,李培刚现场诊断后告诉李宁:“这是软组织交织紊乱,是由于胯上的一块肥厚软组织发炎、导致肌肉不收缩,加上过度疲劳导
转:MSN名医讲堂:有没有能用按摩治好的瘫痪?
央视“面对面”节目中,播出了一个能用按摩治好瘫痪的“神医”,引起大家对央视权威性的质疑,也由此怀疑到中医按摩的效应。按摩的作用到底有多大?最适合解决哪些问题?能不能治愈瘫痪?哪种瘫痪确实可以重新站起来的?中国中医科学院骨伤研究所赵勇教授将作客直播室。名医讲堂更多精彩视频[@more@]http://msn.vodone.com/msn/live/live_456.shtml
怎样预防猪流感
随 著有關豬流感的擔憂席捲全球﹐保護自己、避免感染豬流感或其他傳染病的最好方式就是具備一些常識﹕常洗手﹐咳嗽和打噴嚏時應掩住口鼻﹐如果覺得不舒服就在家休息﹐不要上班或去學校。着有关猪流感的担忧席卷全球﹐保护自己、避免感染猪流感或其他传染病的最好方式就是具备一些常识﹕常洗手﹐咳嗽和打喷嚏时应掩住口鼻﹐如果觉得不舒服就在家休息﹐不要上班或去学校。 [@more@]美國疾病控制預防中心代理主任貝瑟(Richard Besser)週一在亞特蘭大的一個新聞發佈會上說﹐上述指導原則可能看上去都是最基本的﹐但它們在防止疾病蔓延方面很有
Java 同步机制浅谈
Java对多线程的支持与同步机制深受大家的喜爱,似乎看起来使用了synchronized关键字就可以轻松地解决多线程共享数据同步问题。到底如何?――还得对synchronized关键字的作用进行深入了解才可定论。总的说来,synchronized关键字可以作为函数的修饰符,也可作为函数内的语句,也就是平时说的同步方法和同步语句块。如果再细的分类,synchronized可作用于instance变量、object reference(对象引用)、static函数和class literals(类名称字面常量)身上。A.无论synchronized关键字加在方法上还是对象上,它取得的锁都是对象,而不是把 一段代
Socket编程中的同步、异步、阻塞和非阻塞(转)
http://hi.baidu.com/evenque/blog/item/1ccfc63ffc3527c17d1e7188.html在进行网络编程时,我们常常见到同步、异步、阻塞和非阻塞四种调用方式。这些方式彼此概念并不好理解。下面是我对这些术语的理解。同步所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。按照这个定义,其实绝大多数函数都是同步调用(例如sin, isdigit等)。但是一般而言,我们在说同步、异步的时候,特指那些需要其他部件协作或者需要一定时间完成的任务。最常见的例子就是SendMessage(JAMBOL注:PostMessage是异步机制)。该函数发送一个消
杀软使用心得
杀软无数手中过,金山瑞星不杀马,江民防火没防住,卡巴斯基卡死机,唯有诺顿安吾心。[@more@]以上纯属个人杀软使用心得,请表拍我。