北京布尔电脑系统有限公司-布尔医疗设备(北京)有限公司
1.手机的辐射到底有多大?又对身体到底造成的伤害是怎样的
2.什么是虚拟机啊?
3.电脑-Sphinx在windows下安装使用[支持中文全文检索]
4.冯·诺依曼为什么会说,他的理论与构思的基础来自于两个人?
5.什么是IT外包?
手机的辐射到底有多大?又对身体到底造成的伤害是怎样的
电脑所散发出的辐射电波往往为人们所忽视。依国际MPRⅡ防辐射安全规定:在50cm距离内必须小于等于25V/m的辐射暴露量。 但是您知道计算机的辐射量是多少吗?计算机的辐射量:1、键盘1000V/m2、鼠标450V/m3、屏幕218V/m4、主机170V/m5、Notebook2500V/m 此外,辐射电磁波对人体有八大伤害: 1、细胞癌化促进作用 2、荷尔蒙不正常 3、钙离子激烈流失 4、痴呆症的引发 5、异常妊娠异常生产 6、高血压心脏病 7、电磁波过敏症 8、自杀者的增加 使用电脑的你要注意电脑辐射的四大危害如下: 1、电脑辐射污染会影响人体的循环系统、免疫、生殖和代谢功能,严重的还会诱发癌症、并会加速人体的癌细胞增殖。` 2、影响人们的生殖系统主要表现为男子精子质量降低,孕妇发生自然流产和胎儿畸形等。 3、影响人们的心血管系统表现为心悸、失眠,部分女性经期紊乱、心动过缓、心搏血量减少、窦性心率不齐、白细胞减少、免疫功能下降等。 4、对人们的视觉系统有不良影响由于眼睛属于人体对电磁辐射的敏感器官,过高的电磁辐射污染还会对视觉系统造成影响。主要表现为视力下降,引起白内障等。 国家质检总局昨天公布的最新电脑产品质量国家监督抽查结果表明,电脑中的电磁辐射不容忽视。 国家质检总局抽查了北京、上海、天津、重庆、浙江、湖北等14个省市的电脑产品,抽样合格率为72%。据了解,这次抽查结果表明,目前国内市场上的电脑产品在运算速度、多媒体功能和软硬件支持性方面都比以前有了较大提高,但一些企业的产品质量水平不够稳定。在这次抽查中,四通、惠普、沐泽等知名企业的电脑产品也被鉴定为不合格产品。 据了解,这次电脑产品质量国家检验抽查过程中所发现的主要质量问题是电磁兼容性中的辐射骚扰、传导骚扰指标超标。辐射骚扰是电脑工作时向空间发射的一种电磁波干扰,这种干扰会影响其他电器特别是高灵敏度电器的正常工作;传导骚扰则会影响在同一电网内其他电器的正常工作,像组成整机系统的主板、显示卡、开关电源、显示器、键盘、鼠标等,若选购不好都会引起辐射骚扰超标。抽查中发现有的企业由于对标准理解不够,零部件进货控制和生产线组装质量控制不严,缺乏必要的检测手段,致使产品质量不合格。 本次抽查发现的7家微机辐射骚扰超标的企业、商标及型号是: 北京四通计算机技术有限公司,四通,震撼JS100; 重庆信博信息技术开发有限公司,Xinbo,自由村1101; 南宁胜利科技股份有限公司,胜利,跨越Ⅰ; 上海博泰电脑科技有限公司,博泰,BT—SMC—I3298; 武汉市聚星电脑有限公司,神脑通,JXSD530L; 北京和源沐泽科技发展有限公司,沐泽,E时尚510D; 上海惠普有限公司,HP,P7281—L2325。 揭开电脑“辐射”的X档案 俗话说:金无足赤。电脑,作为一种现代高科技的产物和电器设备,在给人们的生活带来更多便利、高效与欢乐的同时,也存在着一些有害于人类健康的不利因素。 电脑对人类健康的隐患,从辐射类型来看,主要包括电脑在工作时产生和发出的电磁辐射(各种电磁射线和电磁波等)、声(噪音)、光(紫外线、红外线辐射以及可见光等)等多种辐射“污染”。 从辐射根源来看,它们包括CRT显示器辐射源、机箱辐射源以及音箱、打印机、复印机等周边设备辐射源。其中CRT(阴极射线管)显示器的成像原理,决定了它在使用过程中难以完全消除有害辐射。因为它在工作时,其内部的高频电子枪、偏转线圈、高压包以及周边电路,会产生诸如电离辐射(低能X射线)、非电离辐射(低频、高频辐射)、静电电场、光辐射(包括紫外线、红外线辐射和可见光等)等多种射线及电磁波。而液晶显示器则是利用液晶的物理特性,其工作原理与CRT显示器完全不同,天生就是无辐射(可忽略不计)、环保的“健康”型显示器;机箱内部的各种部件,包括高频率、功耗大的CPU,带有内部集成大量晶体管的主芯片的各个板卡,带有高速直流伺服电机的光驱、软驱和硬盘,若干个散热风扇以及电源内部的变压器等等,工作时则会发出低频电磁波等辐射和噪音干扰。另外,外置音箱、复印机等周边设备辐射源也是一个不容忽视的“源头”。 从危害程度来看,无疑以电磁辐射的危害最大。国内外医学专家的研究表明,长期、过量的电磁辐射会对人体生殖系统、神经系统和免疫系统造成直接伤害,是心血管疾病、糖尿病、癌突变的主要诱因和造成孕妇流产、不育、畸胎等病变的诱发因素,并可直接影响未成年人的身体组织与骨骼的发育,引起视力、记忆力下降和肝脏造血功能下降,严重者可导致视网膜脱落。此外,电磁辐射也对信息安全造成隐患,利用专门的信号接收设备即可将其接收破译,导致信息泄密而造成不必要的损失。过量的电磁辐射还会干扰周围其他电子设备,影响其正常运作而发生电磁兼容性(EMC)问题。 因此,电磁辐射已被世界卫生组织列为继水源、大气、噪声之后的第四大环境污染源,成为危害人类健康的隐形“杀手”,防护电磁辐射已成当务之急。 防电脑辐射有妙招 使用电脑时,最好在显示器前配备质量较好的防辐射屏。注意酌情多吃一些胡萝卜、豆芽、西红柿、瘦肉、动物肝等富含维生素A、C和蛋白质的食物,经常喝些绿茶等等。 对于生活紧张而忙碌的人群来说,抵御电脑辐射最简单的办法就是在每天上午喝2至3杯的绿茶,吃一个橘子。茶叶中含有丰富的维生素A原,它被人体吸收后,能迅速转化为维生素A。维生素A不但能合成视紫红质,还能使眼睛在暗光下看东西更清楚,因此,绿茶不但能消除电脑辐射的危害,还能保护和提高视力。如果不习惯喝绿茶,菊花茶同样也能起着抵抗电脑辐射和调节身体功能的作用。 电脑辐射是不可避免的,但可以减少。首先,应尽可能购买新款的电脑,一般不要使用旧电脑,旧电脑的辐射一般较厉害,在同距离、同类机型的条件下,一般是新电脑的1-2倍。操作电脑时最好在显示屏上安一块电脑专用滤色板以减轻辐射的危害,室内不要放置闲杂金属物品,以免形成电磁波的再次发射。使用电脑时,要调整好屏幕的亮度,一般来说,屏幕亮度越大,电磁辐射越强,反之越小。不过,也不能调得太暗,以免因亮度太小而影响效果,且易造成眼睛疲劳。还要注意与屏幕保持适当距离。离屏幕越近,人体所受的电磁辐射越大,因此较好的是距屏幕半米以外。 电脑使用后,脸上会吸附不少电磁辐射的颗粒,要及时用清水洗脸,这样将使所受辐射减轻70%以上。 仙人掌除了可以攻击坏人,还有一项好处喔!据说在计算机桌前放置一仙人掌有助于减少辐射。 常用电脑的人会感到眼睛不适,视力下降,易有疲劳的感觉。常用电脑的人在饮食上应注意以下几方面: 吃一些对眼睛有益的食品,如鸡蛋、鱼类、鱼肝油、胡萝卜、菠菜、地瓜、南瓜、枸杞子、菊花、芝麻、萝卜、动物肝脏等。 多吃含钙质高的食品,如豆制品、骨头汤、鸡蛋、牛奶、瘦肉、虾等。 注意维生素的补充:多吃含有维生素的新鲜水果、蔬菜等。 注意增强抵抗力:多吃一些增强机体抗病能力的食物,如香菇、蜂蜜、木耳、海带、柑桔、大枣等。 吃一些抗辐射的食品:电脑虽然对人体健康影响较小,但也应预防。饮茶能降低辐射的危害,茶叶中的脂多糖有抗辐射的作用。螺旋藻、沙棘油也具有抗辐射的作用。 另外,用完电脑应洗脸,平时应注意锻炼身体。 电脑摆放位置很重要。尽量别让屏幕的背面朝着有人的地方,因为电脑辐射最强的是背面,其次为左右两侧,屏幕的正面反而辐射最弱。以能看清楚字为准,至少也要50厘米到75厘米的距离,这样可以减少电磁辐射的伤害。 注意室内通风:科学研究证实,电脑的荧屏能产生一种叫溴化二苯并呋喃的致癌物质。所以,放置电脑的房间最好能安装换气扇,倘若没有,上网时尤其要注意通风。 面对电脑时间长了不好,那该怎么办?其实每天四杯茶,不但可以对抗辐射的侵害,还可保护眼睛。 1.上午一杯绿茶: 绿茶中含强效的抗氧化剂以及维生素C,不但可以清除体内的自由基,还能分泌出对抗紧张压力的荷尔蒙。绿茶中所含的少量咖啡因可以刺激中枢神经,振奋精神。不过最好在白天饮用,以免影响睡眠。 2.下午一杯菊花茶: 菊花有明目清肝的作用,有些人就干脆用菊花加上枸杞一起泡来喝,或是在菊花茶中加入蜂蜜,都对解郁有帮助。 3.疲劳了一杯枸杞茶: 枸杞子含有丰富的β胡萝卜素、维生素B1、维生素C、钙、铁,具有补肝、益肾、明目的作用。其本身具有甜味,可以泡茶也可以像葡萄干一样作零食,对解决“电脑族”眼睛涩、疲劳都有功效。 4.晚间一杯决明茶: 决明子有清热、明目、补脑髓、镇肝气、益筋骨的作用,若有便秘的人还可以在晚餐饭后饮用,对於治疗便秘很有效果。 还有些最适合计算机族喝的茶饮,或是点心,不但可以帮您对抗辐射的侵害,还可保护您的眼睛,抗烦躁呢。 绿豆薏仁汤 绿豆可以清热解毒、利尿消肿,薏仁则可以健脾止泻,轻身益气,对於经常需要熬夜工作者或是心烦气躁、口乾舌燥、便秘、长青春痘时,除了多吃蔬菜水果与补充水份外,把绿豆薏仁汤当点心食用,对於消暑除烦非常有帮助。 杜仲茶 杜仲具有补血与强壮筋骨的作用,对於经常久坐,腰虽背痛很有帮助,男女都可以喝,若是女性朋友还可以在生理期的末期与四物汤一起服用
什么是虚拟机啊?
虚拟机
一般意义的虚拟机
虚拟化分类
虚拟化浪潮
VMware虚拟化
微软虚拟化
IBM虚拟化
HP虚拟化
SWsoft虚拟化
SUN虚拟化
Intel虚拟化
AMD虚拟化
Java虚拟机
通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。通过虚拟机软件,你可以在一台物理计算机上模拟出一台或多台虚拟的计算机,这些虚拟机[1]完全就像真正的计算机那样进行工作,例如你可以安装操作系统、安装应用程序、访问网络资源等等。对于你而言,它只是运行在你物理计算机上的一个应用程序,但是对于在虚拟机中运行的应用程序而言,它就像是在真正的计算机中进行工作。因此,当我在虚拟机中进行软件评测时,可能系统一样会崩溃,但是,崩溃的只是虚拟机上的操作系统,而不是物理计算机上的操作系统,并且,使用虚拟机的“Undo”(恢复)功能,我可以马上恢复虚拟机到安装软件之前的状态。
目前流行的虚拟机软件有VMware(VMWare ACE)和Virtual PC,它们都能在Windows系统上虚拟出多个计算机,用于安装Linux、OS/2、FreeBSD等其他操作系统。微软在2003年2月份收购Connectix后,很快发布了Microsoft Virtual PC 2004。但出于种种考虑,新发布的Virtual PC 2004已不再明确支持Linux、FreeBSD、NetWare、Solaris等操作系统,只保留了OS/2,如果要虚拟一台Linux计算机,只能自己手工设置。相比而言,VMware不论是在多操作系统的支持上,还是在执行效率上,都比Virtual PC 2004明显高出一筹,这也是本文选择它的理由之一。
电脑一台变两台,学用Linux不再有后顾之忧
VMware 4.5有Workstation、GSX server等多种版本,其中Windows版的Workstation应用最广,本文即以它为基础进行各种实战演习。
虚拟机的概念比较宽泛,通常人们接触到的虚拟机概念有VMware那样的硬件模拟软件,也有JVM这样的介于硬件和编译程序之间的软件。这里所指的是后者。
虚拟机是一个抽象的计算机,和实际的计算机一样,具有一个指令集并使用不同的存储区域。它负责执行指令,还要管理数据、内存和寄存器。这台虚拟的机器在任何平台上都提供给编译程序一个的共同的接口。编译程序只需要面向虚拟机,生成虚拟机能够理解的代码,然后由解释器来将虚拟机代码转换为特定系统的机器码执行。
Sun xVM VirtualBox又发新版本:2.1.0。
2.1.0不像此前2.0.X一样主要是修正Bug和完善原有功能,这个版本增加了许多新特性。强烈建议VBox的用户们更新!
在官方网站的ChangeLog上,我们可以看到这个版本的主要更新信息:
* 支持Max OS X客户机的硬件虚拟化技术(VT-x和AMD-V);
* 支持在32位操作系统上模拟64位客户机!(实验性质,具体看用户手册);
* 支持Intel Nehalem虚拟化增强技术(EPT和VPID,具体看用户手册);
* 通过OpenGL支持3D加速!(看用户手册4.8章);
还有很多更新,但是光是以上四样就有足够地理由让用户去升级了!
VirtualBox终于支持了通过OpenGL实验的的3D加速,并且率先支持了在32位的操作系统上模拟64位的客户机(需要64位CPU支持)。这意味着虚拟机平台的限制更少了,你可以在你的x86平台上模拟AMD64!
针对“OpenGL 3D加速”这一项,我了解到,这项特性目前只在Windows系统上可用,并且只能实现OpenGL加速,而没有Direct3D加速。这意味着,你已经可以在Windows虚拟机运行一些OpenGL的3D应用,而Direct3D就要稍微等等了。
还等什么呢,这是一个进步相当大的版本。赶紧下载试用吧:
个人为什么使用虚拟机
1. 演示环境,可以安装各种演示环境,便于做各种例子;
2. 保证主机的快速运行,减少不必要的垃圾安装程序,偶尔使用的程序,或者测试用的程序在虚拟机上运行;
3. 避免每次重新安装,银行等常用工具,不经常使用,而且要求保密比较好的,单独在一个环境下面运行;
4. 想测试一下不熟悉的应用,在虚拟机中随便安装和彻底删除;
5. 体验不同版本的操作系统,如Linux、Mac等。
虚拟机
一、什么是Java虚拟机
Java虚拟机(JVM)是Java Virtual Machine的缩写,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能模拟来实现的。Java虚拟机有自己完善的硬件架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。
1.为什么要使用Java虚拟机
Java语言的一个非常重要的特点就是与平台的无关性。而使用Java虚拟机是实现这一特点的关键。一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目标代码。而引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java语言使用模式Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。
2.谁需要了解Java虚拟机
Java虚拟机是Java语言底层实现的基础,对Java语言感兴趣的人都应对Java虚拟机有个大概的了解。这有助于理解Java语言的一些性质,也有助于使用Java语言。对于要在特定平台上实现Java虚拟机的软件人员,Java语言的编译器作者以及要用硬件芯片实现Java虚拟机的人来说,则必须深刻理解Java虚拟机的规范。另外,如果你想扩展Java语言,或是把其它语言编译成Java语言的字节码,你也需要深入地了解Java虚拟机。
3.Java虚拟机支持的数据类型
Java虚拟机支持Java语言的基本数据类型如下:
byte://1字节有符号整数的补码
short://2字节有符号整数的补码
int://4字节有符号整数的补码
long://8字节有符号整数的补码
float://4字节IEEE754单精度浮点数
double://8字节IEEE754双精度浮点数
char://2字节无符号Unicode字符
几乎所有的Java类型检查都是在编译时完成的。上面列出的原始数据类型的数据在Java执行时不需要用硬件标记。操作这些原始数据类型数据的字节码(指令)本身就已经指出了操作数的数据类型,例如iadd、ladd、fadd和dadd指令都是把两个数相加,其操作数类型别是int、long、float和double。虚拟机没有给boolean(布尔)类型设置单独的指令。boolean型的数据是由integer指令,包括integer返回来处理的。boolean型的数组则是用byte数组来处理的。虚拟机使用IEEE754格式的浮点数。不支持IEEE格式的较旧的计算机,在运行Java数值计算程序时,可能会非常慢。
虚拟机支持的其它数据类型包括:
object//对一个Javaobject(对象)的4字节引用
returnAddress//4字节,用于jsr/ret/jsr-w/ret-w指令
注:Java数组被当作object处理。
虚拟机的规范对于object内部的结构没有任何特殊的要求。在Sun公司的实现中,对object的引用是一个句柄,其中包含一对指针:一个指针指向该object的方法表,另一个指向该object的数据。用Java虚拟机的字节码表示的程序应该遵守类型规定。Java虚拟机的实现应拒绝执行违反了类型规定的字节码程序。Java虚拟机由于字节码定义的限制似乎只能运行于32位地址空间的机器上。但是可以创建一个Java虚拟机,它自动地把字节码转换成64位的形式。从Java虚拟机支持的数据类型可以看出,Java对数据类型的内部格式进行了严格规定,这样使得各种Java虚拟机的实现对数据的解释是相同的,从而保证了Java的与平台无关性和可
移植性。
二、Java虚拟机体系结构
Java虚拟机由五个部分组成:一组指令集、一组寄存器、一个栈、一个无用单元收集堆(Garbage-collected-heap)、一个方法区域。这五部分是Java虚拟机的逻辑成份,不依赖任何实现技术或组织方式,但它们的功能必须在真实机器上以某种方式实现。
1.Java指令集
Java虚拟机支持大约248个字节码。每个字节码执行一种基本的CPU运算,例如,把一个整数加到寄存器,子程序转移等。Java指令集相当于Java程序的汇编语言。
Java指令集中的指令包含一个单字节的操作符,用于指定要执行的操作,还有0个或多个操作数,提供操作所需的参数或数据。许多指令没有操作数,仅由一个单字节的操作符构成。
虚拟机的内层循环的执行过程如下:
do{
取一个操作符字节;
根据操作符的值执行一个动作;
}while(程序未结束)
由于指令系统的简单性,使得虚拟机执行的过程十分简单,从而有利于提高执行的效率。指令中操作数的数量和大小是由操作符决定的。如果操作数比一个字节大,那么它存储的顺序是高位字节优先。例如,一个16位的参数存放时占用两个字节,其值为:
第一个字节*256+第二个字节字节码指令流一般只是字节对齐的。指令tabltch和lookup是例外,在这两条指令内部要求强制的4字节边界对齐。
2.寄存器
Java虚拟机的寄存器用于保存机器的运行状态,与微处理器中的某些专用寄存器类似。
Java虚拟机的寄存器有四种:
pc:Java程序计数器。
optop:指向操作数栈顶端的指针。
frame:指向当前执行方法的执行环境的指针。
vars:指向当前执行方法的局部变量区第一个变量的指针。
Java虚拟机
Java虚拟机是栈式的,它不定义或使用寄存器来传递或接受参数,其目的是为了保证指令集的简洁性和实现时的高效性(特别是对于寄存器数目不多的处理器)。
所有寄存器都是32位的。
3.栈
Java虚拟机的栈有三个区域:局部变量区、运行环境区、操作数区。
(1)局部变量区
每个Java方法使用一个固定大小的局部变量集。它们按照与vars寄存器的字偏移量来寻址。局部变量都是32位的。长整数和双精度浮点数占据了两个局部变量的空间,却按照第一个局部变量的索引来寻址。(例如,一个具有索引n的局部变量,如果是一个双精度浮点数,那么它实际占据了索引n和n+1所代表的存储空间。)虚拟机规范并不要求在局部变量中的64位的值是64位对齐的。虚拟机提供了把局部变量中的值装载到操作数栈的指令,也提供了把操作数栈中的值写入局部变量的指令。
(2)运行环境区
在运行环境中包含的信息用于动态链接,正常的方法返回以及异常传播。
·动态链接
运行环境包括对指向当前类和当前方法的解释器符号表的指针,用于支持方法代码的动态链接。方法的class文件代码在引用要调用的方法和要访问的变量时使用符号。动态链接把符号形式的方法调用翻译成实际方法调用,装载必要的类以解释还没有定义的符号,并把变量访问翻译成与这些变量运行时的存储结构相应的偏移地址。动态链接方法和变量使得方法中使用的其它类的变化不会影响到本程序的代码。
·正常的方法返回
如果当前方法正常地结束了,在执行了一条具有正确类型的返回指令时,调用的方法会得到一个返回值。执行环境在正常返回的情况下用于恢复调用者的寄存器,并把调用者的程序计数器增加一个恰当的数值,以跳过已执行过的方法调用指令,然后在调用者的执行环境中继续执行下去。
·异常和错误传播
异常情况在Java中被称作Error(错误)或Exception(异常),是Throwable类的子类,在程序中的原因是:①动态链接错,如无法找到所需的class文件。②运行时错,如对一个空指针的引用
·程序使用了throw语句。
当异常发生时,Java虚拟机采取如下措施:
·检查与当前方法相联系的catch子句表。每个catch子句包含其有效指令范围,能够处理的异常类型,以及处理异常的代码块地址。
·与异常相匹配的catch子句应该符合下面的条件:造成异常的指令在其指令范围之内,发生的异常类型是其能处理的异常类型的子类型。如果找到了匹配的catch子句,那么系统转移到指定的异常处理块处执行;如果没有找到异常处理块,重复寻找匹配的catch子句的过程,直到当前方法的所有嵌套的catch子句都被检查过。
·由于虚拟机从第一个匹配的catch子句处继续执行,所以catch子句表中的顺序是很重要的。因为Java代码是结构化的,因此总可以把某个方法的所有的异常处理器都按序排列到一个表中,对任意可能的程序计数器的值,都可以用线性的顺序找到合适的异常处理块,以处理在该程序计数器值下发生的异常情况。
·如果找不到匹配的catch子句,那么当前方法得到一个"未截获异常"的结果并返回到当前方法的调用者,好像异常刚刚在其调用者中发生一样。如果在调用者中仍然没有找到相应的异常处理块,那么这种错误传播将被继续下去。如果错误被传播到最顶层,那么系统将调用一个缺省的异常处理块。
(3)操作数栈区 机器指令只从操作数栈中取操作数,对它们进行操作,并把结果返回到栈中。选择栈结构的原因是:在只有少量寄存器或非通用寄存器的机器(如Intel486)上,也能够高效地模拟虚拟机的行为。操作数栈是32位的。它用于给方法传递参数,并从方法接收结果,也用于支持操作的参数,并保存操作的结果。例如,iadd指令将两个整数相加。相加的两个整数应该是操作数栈顶的两个字。这两个字是由先前的指令压进堆栈的。这两个整数将从堆栈弹出、相加,并把结果压回到操作数栈中。
每个原始数据类型都有专门的指令对它们进行必须的操作。每个操作数在栈中需要一个存储位置,除了long和double型,它们需要两个位置。操作数只能被适用于其类型的操作符所操作。例如,压入两个int类型的数,如果把它们当作是一个long类型的数则是非法的。在Sun的虚拟机实现中,这个限制由字节码验证器强制实行。但是,有少数操作(操作符dupe和swap),用于对运行时数据区进行操作时是不考虑类型的。
4.无用单元收集堆
Java的堆是一个运行时数据区,类的实例(对象)从中分配空间。Java语言具有无用单元收集能力:它不给程序员显式释放对象的能力。Java不规定具体使用的无用单元收集算法,可以根据系统的需求使用各种各样的算法。
5.方法区
方法区与传统语言中的编译后代码或是Unix进程中的正文段类似。它保存方法代码(编译后的java代码)和符号表。在当前的Java实现中,方法代码不包括在无用单元收集堆中,但计划在将来的版本中实现。每个类文件包含了一个Java类或一个Java界面的编译后的代码。可以说类文件是Java语言的执行代码文件。为了保证类文件的平台无关性,Java虚拟机规范中对类文件的格式也作了详细的说明。其具体细节请参考Sun公司的Java虚拟机规范。
电脑-Sphinx在windows下安装使用[支持中文全文检索]
前一阵子尝试使用了一下Sphinx,一个能够被各种语言(PHP/Python/Ruby/etc)方便调用的全文检索系统。网上的资料大多是在linux环境下的安装使用,当然,作为生产环境很有必要部署在*nix环境下,作为学习测试,还是windows环境比较方便些。
本文旨在提供一种便捷的方式让Sphinx在windows下安装配置以支持中文全文检索,配置部分在linux下通用。
一、关于Sphinx
Sphinx 是一个在GPLv2 下发布的一个全文检索引擎,商业授权(例如, 嵌入到其他程序中)需要联系作者(Sphinxsearch.com)以获得商业授权。
一般而言,Sphinx是一个独立的搜索引擎,意图为其他应用提供高速、低空间占用、高结果相关度的全文搜索功能。Sphinx可以非常容易的与SQL数据库和脚本语言集成。
当前系统内置MySQL和PostgreSQL 数据库数据源的支持,也支持从标准输入读取特定格式的XML数据。通过修改源代码,用户可以自行增加新的数据源(例如:其他类型的DBMS的原生支持)。
搜索API支持PHP、Python、Perl、Rudy和Java,并且也可以用作MySQL存储引擎。搜索API非常简单,可以在若干个小时之内移植到新的语言上。
Sphinx特性:
高速的建立索引(在当代CPU上,峰值性能可达到10MB/秒); 高性能的搜索(在2–4GB的文本数据上,平均每次检索响应时间小于0.1秒); 可处理海量数据(目前已知可以处理超过100GB的文本数据,在单一CPU的系统上可处理100M文档); 提供了优秀的相关度算法,基于短语相似度和统计(BM25)的复合Ranking方法; 支持分布式搜索; 提供文件的摘录生成; 可作为MySQL的存储引擎提供搜索服务; 支持布尔、短语、词语相似度等多种检索模式; 文档支持多个全文检索字段(最大不超过32个); 文档支持多个额外的`属性信息(例如:分组信息,时间戳等); 停止词查询; 支持单一字节编码和UTF-8编码; 原生的MySQL支持(同时支持MyISAM和InnoDB); 原生的PostgreSQL支持.
中文手册可以在这里获得(酷勤网备用下载地址:sphinx_doc_zhcn_0.9.pdf)。
二、Sphinx在windows上的安装
1.直接在找到最新的windows版本,我这里下的是Win32 release binaries with MySQL support,下载后解压在D:sphinx目录下;
2.在D:sphinx下新建一个data目录用来存放索引文件,一个log目录方日志文件,复制D:sphinxsphinx.conf.in到D:sphinxbinsphinx.conf(注意修改文件名);
3.修改D:sphinxbinsphinx.conf,我这里列出需要修改的几个:
type= mysql # 数据源,我这里是mysqlsql_host;= localhost # 数据库服务器sql_user;= root # 数据库用户名sql_pass;=;'' # 数据库密码sql_db;;;= test # 数据库sql_port;= 3306 # 数据库端口
sql_query_pre;;;= SET NAMES utf8 # 去掉此行前面的注释,如果你的数据库是uft8编码的
index test1{#;放索引的目录;path;;;= D:/sphinx/data/# 编码;charset_type;;= utf-8;#; 指定utf-8的编码表;charset_table=0..9, A..Z->a..z, _, a..z, U+410..U+42F->U+430..U+44F, U+430..U+44F;# 简单分词,只支持0和1,如果要搜索中文,请指定为1;ngram_len;;;;= 1# 需要分词的字符,如果要搜索中文,去掉前面的注释;ngram_chars;;;= U+3000..U+2FA1F}
# index test1stemmed : test1# {;# path;;;= @CONFDIR@/data/test1stemmed;# morphology;;= stem_en# }# 如果没有分布式索引,注释掉下面的内容# index dist1# {;# 'distributed' index type MUST be specified;# type;;;;= distributed
;# local index to be searched;# there can be many local indexes configured;# local;;;;= test1;# local;;;;= test1stemmed
;# remote agent;# multiple remote agents may be specified;# syntax is 'hostname:port:index1,[index2[,...]];# agent;;;;= localhost:3313:remote1;# agent;;;;= localhost:3314:remote2,remote3
;# remote agent connection timeout, milliseconds;# optional, default is 1000 ms, ie. 1 sec;# agent_connect_timeout;= 1000
;# remote agent query timeout, milliseconds;# optional, default is 3000 ms, ie. 3 sec;# agent_query_timeout;;= 3000# }
# 搜索服务需要修改的部分searchd{;# 日志;log;;;;;= D:/sphinx/log/searchd.log
;# PID file, searchd process ID file name;pid_file;;;= D:/sphinx/log/searchd.pid
# windows下启动searchd服务一定要注释掉这个 # seamless_rotate;;= 1}
4.导入测试数据
C:Program FilesMySQLMySQL Server 5.0bin>mysql -uroot test<d:/sphinx/example.sql
5.建立索引
D:sphinxbin>indexer.exe test1
Sphinx 0.9.8-release (r1533)
Copyright (c) 2001-2008, Andrew Aksyonoff
using config file ‘./sphinx.conf’…
indexing index ‘test1′…
collected 4 docs, 0.0 MB
sorted 0.0 Mhits, 100.0% done
total 4 docs, 193 bytes
total 0.101 sec, 1916.30 bytes/sec, 39.72 docs/sec
D:sphinxbin>
6.搜索’test’试试
D:sphinxbin>search.exe test
Sphinx 0.9.8-release (r1533)
Copyright (c) 2001-2008, Andrew Aksyonoff
using config file ‘./sphinx.conf’…
index ‘test1′: query ‘test ‘: returned 3 matches of 3 total in 0.000 sec
displaying matches:
1. document=1, weight=2, group_id=1, date_added=Wed Nov 26 14:58:59 2008
;;;;;id=1
;;;;;group_id=1
;;;;;group_id2=5
;;;;;date_added=2008-11-26 14:58:59
;;;;;title=test one
;;;;;content=this is my test document number one. also checking search within
;phrases.
2. document=2, weight=2, group_id=1, date_added=Wed Nov 26 14:58:59 2008
;;;;;id=2
;;;;;group_id=1
;;;;;group_id2=6
;;;;;date_added=2008-11-26 14:58:59
;;;;;title=test two
;;;;;content=this is my test document number two
3. document=4, weight=1, group_id=2, date_added=Wed Nov 26 14:58:59 2008
;;;;;id=4
;;;;;group_id=2
;;;;;group_id2=8
;;;;;date_added=2008-11-26 14:58:59
;;;;;title=doc number four
;;;;;content=this is to test groups
words:
1. ‘test’: 3 documents, 5 hits
D:sphinxbin>
都所出来了吧。
6.测试中文搜索
修改test数据库中documents数据表,
UPDATE `test`.`documents` SET `title` = ‘测试中文’, `content` = ‘this is my test document number two,应该搜的到吧’ WHERE `documents`.`id` = 2;
重建索引:
D:sphinxbin>indexer.exe –all
搜索’中文’试试:
D:sphinxbin>search.exe 中文
Sphinx 0.9.8-release (r1533)
Copyright (c) 2001-2008, Andrew Aksyonoff
using config file ‘./sphinx.conf’…
index ‘test1′: query ‘中文 ‘: returned 0 matches of 0 total in 0.000 sec
words:
D:sphinxbin>
貌似没有搜到,这是因为windows命令行中的编码是gbk,当然搜不出来。我们可以用程序试试,在D:sphinxapi下新建一个foo.php的文件,注意utf-8编码
<?php
require ’sphinxapi.php’;
$s = new SphinxClient();
$s->SetServer(’localhost’,3312);
$result = $s->Query(’中文’);
var_dump($result);
?>
启动Sphinx searchd服务
D:sphinxbin>searchd.exe
Sphinx 0.9.8-release (r1533)
Copyright (c) 2001-2008, Andrew Aksyonoff
WARNING: forcing –console mode on Windows
using config file ‘./sphinx.conf’…
creating server socket on 0.0.0.0:3312
accepting connections
执行PHP查询:
php d:/sphinx/api/foo.php
结果是不是出来?剩下的工作就是去看手册,慢慢摸索高阶的配置。
冯·诺依曼为什么会说,他的理论与构思的基础来自于两个人?
冯·诺依曼奠定了现代计算机的基础,被世人尊为“计算机之父”,但在谈到他的理论与构思时,他谦虚地说,这些理论与构思的基础来自于英国数学家图灵和布尔的思想。 午治·布尔(Boolean George)1847年发表《思维规律研究》创立逻辑代数学,成功地把形式逻辑归结为一种代数,布尔认为,逻辑中的各种命题能够使用数学符号来代表,并能依据规则推导出相应于逻辑问题的适当结论。布尔的逻辑代数理论建立在两种逻辑值“真True”、“假False”和三种逻辑关系“与AND”、“或OR”、“非NOT”。这种理论为数字电子计算机的二进制、形关逻辑元件和逻辑电路的设计辅平了道路。1854年,布尔出版了名著《布尔代数》,并在此基础上,经过许多年的发展,形成了现代计算机的理论基础——娄理逻辑。 香农(C.E.Sharnorn)信息论创始人之一,1938年在其一篇硕士论文中指出:能够用二进制系统表达布尔代数中的逻辑关系,用“1”代表“真True”,用“0”代表“假False”,并由此用二进制系统来构筑逻辑运算系统。并指出,以布尔代数为基础,任何一个机械性推理过程,对电子计算机来说,都能像处理普通计算一样容易。香农把布尔代数与计算机二进制联系在了一起。 阿兰·图灵(Alan Mathison Turing)“人工智能之父”,被冯·诺依曼认为的“计算机之父”是一位天才人物,22岁就被选为英皇家学院研究员,1936年在论文《论可计算数及在密码上的应用》中,严格地描述了计算机的逻辑结构,首次提出了计算机的通用模型——“图灵机”,并从理论上证明了这种抽象计算机的可能性。 二战期间,图灵在英国外交部工作,设计了密码破译机(BOMBE),这实际上就是一台以继电器为器件的专用数字电子计算机,该机一次次地破译了敌军的密码,为反法西斯战争的胜利做出了贡献。 1945年,图灵在英国国家物理研究所开始设计自动计算机,阐述了用子程序实现某些运算而程序员不必知道机器运行细节的思想,为计算机高级语言的诞生奠定了基础。1950年,图灵制成了一台体现他设计思想的计算机模型机“PIOLOT ACE”。同年10月,图灵发表了《计算机器与智能》的论文,设计了著名的图灵测验,通过问答来测试计算机是否具有同人相等的智力,这一思考至今仍是计算机学术界探讨的核心问题之一。该论文引起了计算机学术界的极大震撼,奠定了人工智能理论的基础。 为纪念图灵对计算机科学的巨大贡献,美国计算机协会设立了“图灵奖”每年授予在计算机科学方面做出重大贡献的科学家,堪称计算机界的“诺贝尔奖”。 电子计算机在经历了第一代电子管,第二代晶体管,第三代中小规模集成电路,第四代大规模和超大规模集成电路时代之后,各种新技术、新工艺使计算机的发展向着微型化和巨型化方向发展。 开创巨型机制造的领衔人是被誉为“巨型机之父”的美国著名科学家克雷博士。克雷(Cary Kildall)1929年生于美国威斯康星州,大学毕业获数学和电气程学学两个学位。1957年他与奥尔林、安德森一起创建了CDC公司,他们租用仓库进行办公,由于克雷设计的计算机结构合理、运行速度快,深得用户信任,订单不断,公司发展很快。1961年仅占计算机市场1.6%份额的CDC小公司与占市场82%份额的巨无霸IBM公司成为计算机行业中的仅有两家赢得公司。CDC公司在克雷的领导下,在仅有工程师14人,其中4人是软件工程师,公司全班人马为34人的“小个子”开始向实力雄厚的“超大个子”IBM公司挑战,1964年,CDC公司研制成功了每秒运算300万次/主存容量为13万字节的巨型晶体管计算机CDC6600,这台机器是世界上最早应用于科研领域里的超大型计算机,它采用了“分布计算”结构,即把处理功能分散到主机与多台辅机,这种方式是计算机体系结构的一大创新,CDC6600被公认为是由计算机天才克雷设计制造,而且被公认在技术上有重大突破和创新。克雷在这之后,又设计了多种巨型机,他和全体公司人员一起在底板上接线、改线、布线,一起研究、设计、制造,在许多方面有突破,其中突破冯·依诺曼“串行工作方式”为“并行工作方式”、首次突破千万次、十亿次、百亿次每秒运算。从获得巨大成功的“克雷1号”(CARY—1)计算机,到“克雷4号”(CARY—4)计算机的研制,尤其是进入九十年代以后,克雷巨型计算机稳居巨型机宝座,占有60%的世界市场份额。大名鼎鼎的克雷博士不断进取,不断创新,被誉为“民族的智多星”、“巨型机之父”。1996年克雷因车祸不幸去逝。 与巨型机发展相对的微型机的发展几乎一直处于“军阀混战”状态。1967年惠普(HP)公司在大规模集成电路和发光二极管刚刚出现就研制成功了“HP35”型袖珍计算器,它给惠普公司带来了1.2亿的销售收入。1977年2月乔布斯(Steve Jobs)这位在电子学方面表现出特殊才能但却在大学一年级就退学的年青人和他的二位同伴,在小小的汽车库里生产出了苹果(APPLE)微型电脑推向市场。1981年8月“蓝色巨人”IBM公司向世界宣布它的第一台“个人计算机”PC诞生以后,行销世界,家喻户晓。近二十年来,微型计算机的发展愈来愈高档,也愈来愈微型化,膝上机、掌上机、腕上机一个接一个研制成功,而且实用、商业化。小小的“芯片”尽展无限魅力、无限功能。这不禁使人回想起世界上第一块芯片的诞生情景,1971年在一次计算机博览会上,一幅巨大的广告:“装在芯片上的计算机, INTEL4004!”吸引了所有参观者,世界上第一枚微处理器芯片诞生了,人们为英特尔的全新创造而震撼。 INTEL4004芯片的主要研制者是霍夫(Tod Hoff),他1937年出生于美国的曼彻斯特,从小虽在乡下长大,但对科学有着浓厚的兴趣,喜欢《大众科学》之类杂志,经常搞一些化学小实验和电气装置,读大学主攻电机工程专业,他中学毕业时根据铁轨传音原理发明了“火车电子探测器”,大学三年级又发明了一种“新型避雷器”,均获专利。大学毕业,他向国家科学基金会申请了一项研究性奖学金,深入研究半导体技术,后获斯坦福大学硕士和博士学位。1968年INTEL公司成立,霍夫被INTEL公司物色看中,并被任命为应用研究部经理。当时公司的办公条件十分简陋,设备和房子都是租来的,“需要乃成功之母”,霍夫得到了一份日本客商订单,要求生产一种新型的、极为复杂的台式计算器芯片。面对棘手问题,霍夫反复地考虑“运算、控制、存储”在最少的芯片上实现问题,灵感终于来了,霍夫马上记录道:第一将日本客商要求的逻辑电路压缩为为三片,即中央处理器,只读存储器、随机存储器;第二、利用只读存储器提供对中央处理器的驱动程序,利用随机存储器来存储数据。随后霍夫设计逻辑,好帮手费金画出芯片配线蓝图,梅瑟参与一起研究,霍夫终于如愿以偿,在世界上第一块微处理器上,集成了2000多个晶体管,第一块微处理器芯片INTEL4004诞生了。这极具划时代意义,霍夫也因此被誉为“第二次世界大战以来七位最有影响的科学家之一。” 微软公司始终与比尔·盖茨的名字紧紧相连。比尔·盖茨(Bill Gates)1955年10月生于西雅图,其父是律师,母亲是教师,他最喜欢的书是他所说的即使有CD—ROM来取代也舍不得扔的《世界图书百科全书》。在中学念书时,他就和以后与他长期合伙的保罗,开始使用著名的小型机生产公司DEC生产的POP—10型计算机,1968年盖茨与保罗在一家计算机中心使用电脑并查找电脑中的错误显露了在电脑领域里的天赋。1974年盖茨进入哈佛大学读法律之前,盖茨和保罗已经在计算机方面,尤其在程序编制方面做了许多工作并小有名气,他们两人起步最成功的是将他们开发的BASIC语言解释程序植入MITS公司的“牛郎星”电脑。1975年暑期,两人在阿尔伯基成立了微软公司,他们从最初的、仅仅拥有的世界微机产业第一标准软件产品,即为“牛郎星”微机配备的4KB解释程序资本到20多年后的今天,仅“Microsoft”这块商标就价值100多亿美元,而公司的市值已越过7500亿美元。从1981年微软取得IBM公司生产的PC机操作系统所有权MS—DOS、90年代的视窗软件Windows、94年起全面转向网络化领域直至电视机—电脑—网络交互机软件的开发,盖茨始终是世人关注的焦点人物。 在网络浏览器上能与微软公司挑战的是网景公司。在网景公司开发导航器之前,Internet的用户使用的是伊利诺斯大学的学生年仅23岁的马克·安德里森在1993年设计出的第一个图形浏览器Mosaic,该软件是第一个使英特网的World Wide Web可以被接受的软件,它使Internet用户一下子上升到1000万人以上。实际上从Mosaic开始,成千上万的人改变了自己的生活方式,学会了坐在计算机前漫游世界。1994年,安德里森与《侏罗纪公园》中风光一时的硅图像公司的缔造者吉姆·克拉克合作,创建了网景(Netscape)公司。至96年,Internet网上的大部分WWW浏览器是网景的导航器,网景占了上风。但到了97年,微软公司将网络软件、浏览器等与操作系统产品的紧密集成,又抢占了大量地盘。安德里森面对强大的对手一方面不断升级导航器,开发集成所见即所得的创作环境,喊出了“要跑得再快一些,使新产品能保持6个月以上的领先地位而拥有较强的竞争能力”,另一方面又感到“快到极限,会累垮”。但是人们要知道,软件巨人Microsoft能够急起直追赶上,与其依靠强大的财力成功地购买了安德森开发的Mosaic软件,并在此基础上开发、升级浏览器大有关系。
什么是IT外包?
IT外包的英文IT Outsourcing,是指企业将IT部门的职能全部或部分外包给专业的第三方管理,集中精力发展企业的核心业务。IT外包简单的说就是公司在内部专职电脑维护工作人员不足或没有的情况下,将公司的全部电脑、网络及外设的维护工作转交给专业从事电脑维修维护的公司来进行全方位的维护。 深入的讲还包括高技术含量高附加值的应用系统和业务流程外包服务,协助企业用较低的投入获得较高的信息化建设和应用水平,选择IT外包服务能够为企业带来诸多的好处,根据仁通科技的研究数据可以节省65%以上的人员开支,并减少人力资源管理成本,使公司更专注于自己的核心业务,并且可以获得更为专业,更为全面的稳定热情服务。
市场竞争的加剧,使专注自己的核心业务成为了企业最重要的生存法则之一。因此,外包服务以其有效减低成本、增强企业的核心竞争力等特性成了越来越多企业采取的一项重要的商业措施。美国著名的管理学者杜洛克曾预言:“在十年至十五年之内,任何企业中仅做后台支持而不创造营业额的工作都应该外包出去。” 做你最擅长的(核心竞争力),其余的外包!
北京娱信互动信息技术有限公司成立于2004年,公司为客户提供全方位信息系统基础设施建设和维护服务,包括:IT资源整体外包、IT服务外包、基础网络系统建设、数据中心建设、信息系统安全、数据存储优化、系统备份和恢复等专业服务。
其中IT服务区别于传统的“面向技术”的支持服务,而是以满足客户在信息系统方面的实际需求为出发点,以为客户的业务系统提供安全、持续、稳定的信息系统平台为最终目标的“面向服务”的新型综合服务。
在IT产品方面涉及高可用系统(负载均衡、双机热备、服务器集群)以及容错服务器等相关产品,是专业的企业级数据安全软件和硬件的供应商和技术服务提供商。
经过多年的实践,公司目前已成为国内IT服务领域和企业数据安全领域内优秀品牌企业,公司是欧洲IT巨头法国布尔集团(简称BULL)授权的在中国地区第一家铂金级安全产品总经销商,负责BULL集团的核心软硬件产品在中国区的推广和销售业务.其中有业内领先的高可用集群和负载均衡产品Safekit以及可以快速部署全面的企业级数据安全访问、身份验证和单点登录的软件套件 IAM Suite 8,还拥有容错服务器Bull NovaScale R630E、安全数据存储StoreWay Calypso等一系列硬件产品。
娱信互动致力于为企业在日益开放的网络世界中提供持续、稳定、安全的网络环境,保护企业的关键应用程序和业务数据。公司自成立以来已经为众多的客户提供IT安全解决方案和IT服务。在外企、金融、IT、快速消费品等众多行业已经拥有了大量用户。其中,典型的客户包括:法国开发署、法国安盛集团北京代表处、上好佳北京公司、瑞士工商会、法国电力公司等知名公司和企业。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。