lguest上的guestos启动的过程根据linux启动流程的分析,在执行到jmp*0xc0100000时,系统将会根据是压缩内核还是未压缩的内核来决定跳转的方向:(1)如果是未压缩的内核,就直接跳到/kernel/head_32.S的入口开始执行(2)如果是压缩的内核,就要先解压,整个解压的过程在/boot/compressed/head_32.S中,解压完成后跳到解压内核的起始地址开始执行其实解压后的起始地址,也是/kernel/head_32.S的
系统 2019-08-29 22:12:16 2150
车牌、验证码识别的普通方法为:1.将图片灰度化与二值化。2.去噪,然后切割成一个一个的字符。3.提取每一个字符的特征,生成特征矢量或特征矩阵。4.分类与学习。将特征矢量或特征矩阵与样本库进行比对,挑选出相似的那类样本,将这类样本的值作为输出结果。下面借着代码,描述一下上述过程。1.图片的灰度化与二值化这样做的目的是将图片的每一个象素变成0或者255,以便以计算。同时,也可以去除部分噪音。图片的灰度化与二值化的前提是bmp图片,如果不是,则需要首先转换为bm
系统 2019-08-29 22:07:03 2150
本文属于作者原创,原文发表于InfoQ:http://www.infoq.com/cn/articles/atomic-operation更多并发编程文章,http://ifeve.com/?p=2911引言原子(atom)本意是“不能被进一步分割的最小粒子”,而原子操作(atomicoperation)意为”不可被中断的一个或一系列操作”。在多处理器上实现原子操作就变得有点复杂。本文让我们一起来聊一聊在Inter处理器和Java里是如何实现原子操作的。2
系统 2019-08-29 22:04:19 2150
如果你打算从事IT行业或刚进入这个行业,也许本文下面的小内幕会吓到你,因为这些事平常都不会公开讨论的。如果你是IT资深人士,或许你已经遇到其中的大部分了。如果你愿意,请一起来参与讨论吧。这些内幕大多数是针对网络管理员、IT经理和桌面支持专业人士。虽然这些小内幕并不针对开发人员和程序员(这两类人员也有对应的小内幕。),但有些或许也适用于他们。10.虽然IT业的薪酬比其他很多行业要好,但有公司因此视你为其“佣人”尽管IT人士的薪水没有互联网泡沫之前要好,但和其
系统 2019-08-29 22:01:15 2150
最近有好几个咨询如何动态部署Bean/动态部署Springmvc控制器;首先声明下:基于普通Java/JavaEE环境的不适合做动态部署;如果你有这种需求请考虑使用如PlayFramework/Grails这种框架。但是还是有少量朋友会有这种需求:我的应用中只有少量几个需要动态部署的组件;好吧,那我来写一个能动态部署Bean/Controller的工具类吧。注意,因为Spring整个框架非常好的遵循开闭原则,所以只能通过反射来操作,而且目前不考虑Sprin
系统 2019-08-29 22:00:48 2150
开发网页的时候,往往需要观察HTTP通信。我使用的工具主要有两个,在Firefox中是Firebug,在IE中是Fiddler。但是,一直听别人说,付费软件HttpWatch是这方面最好的工具。前几天,HttpWatch的官方网志刊登了一篇好文章,澄清了一些HTTPS协议容易产生误解的地方。学习之后,我增长了不少网页加密通信的知识。我觉得这篇文章很实用,值得留作参考,就翻译了出来。======================================
系统 2019-08-12 09:29:40 2150
消息队列不同于传统的请求响应模式,它是客户端把消息发送给请求消息队列,服务可以稍后对消息进行处理并把处理结果发送给响应队列,而后客户端从响应队列读取服务处理后的消息。而且使用消息队列可以使客户端实现脱机工作。脱机应用程序必须有本地缓存数据,要采用异步通讯而且要把消息持久化,在与服务器联机后将消息发送出去。WCF是使用NetMsmqBinding来支持消息队列的,传输消息不是通过TCP或HTTP等,而是通过微软消息队列(MSMQ),这是Windows组件,可
系统 2019-08-12 09:26:53 2150
界面上有些元素是要先等它出现,再等它消失,譬如loadingicon这个是等多个loadingicon出现后消失/***WaitforloadingicondisappearindialogandWidgets*@authorjz*/publicvoidwaitForLoadingIconDisappearInDialog(WebDriverdriver){System.out.println("Waitforloadingiconsdisplayindi
系统 2019-08-12 09:26:49 2150
继续开始我们重构手法的系列,今天介绍的是SplitTemporaryVariable---分解临时变量。在我们平常写的程序中肯定有某些临时变量被赋予了超过一个的责任。如果他们不是那种收集结果(temp=temp+QString("abc"))或者循环变量(i=i+1),然而他们却被赋值了多于一次。那么我们肯定说,这个变量被赋予了超过一个的责任,别看这是个小小问题,但这会阻扰我们阅读者的判断,我们会去揣测,这个变量到底是用来干嘛的。从而影响我们看清程序正常的
系统 2019-08-12 01:54:55 2150
前面一篇文章写到如何通过gp_segment_id来判断表的DK值设置有数据,下面是通过查看占用空间的量来检查分配不平衡的表,并重新调整着DK值。我的一台greenplum机器,其中的一个节点的数据量比其它的节点多很多,说明数据分布的不平衡,如下所示:以sdw16为例:$du-sh/gpdata{1,2}/data/gp*347G/gpdata1/data/gp30412G/gpdata1/data/gp62357G/gpdata1/data/gp6333
系统 2019-08-12 01:54:28 2150