10 2013 档案
摘要:Java内存分配与管理是Java的核心技术之一,今天我们深入Java核心,详细介绍一下Java在内存分配方面的知识。一般Java在内存分配时会涉及到以下区域: ◆寄存器:我们在程序中无法控制 ◆栈:存放基本类型的数据和对象的引用,但对象本身不存放在栈中,而是存放在堆中 ◆堆:存放用new产生的数据 ◆静态域:存放在对象中用static定义的静态成员 ◆常量池:存放常量 ◆非RAM存储:硬盘等永久存储空间 Java内存分配中的栈 在函数中定义的一些基本类型的变量数据和对象的引用变量都在函数的栈内存中分配。 当在一段代码块定义一个变量时,Java就在栈中 为这个变量分配内存空...
阅读全文
摘要:本文向大家描述一下JVM的概念,JVM(Java虚拟机)是可运行Java代码的假想计算机。只要根据JVM规格描述将解释器移植到特定的计算机上,就能保证经过编译的任何Java代码能够在该系统上运行。JVM简介 JVM(Java虚拟机)一种用于计算设备的规范,可用不同的方式(软件或硬件)加以实现。编译虚拟机的指令集与编译微处理器的指令集非常类似。JVM包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域。JVM(Java虚拟机)是可运行Java代码的假想计算机。只要根据JVM规格描述将解释器移植到特定的计算机上,就能保证经过编译的任何Java代码能够在该系统上运行。JVM是一.
阅读全文
摘要:一、理解多线程多线程是这样一种机制,它允许在程序中并发执行多个指令流,每个指令流都称为一个线程,彼此间互相独立。线程又称为轻量级进程,它和进程一样拥有独立的执行控制,由操作系统负责调度,区别在于线程没有独立的存储空间,而是和所属进程中的其它线程共享一个存储空间,这使得线程间的通信远较进程简单。多个线程的执行是并发的,也就是在逻辑上“同时”,而不管是否是物理上的“同时”。如果系统只有一个CPU,那么真正的“同时”是不可能的,但是由于CPU的速度非常快,用户感觉不到其中的区别,因此我们也不用关心它,只需要设想各个线程是同时执行即可。多线程和传统的单线程在程序设计上最大的区别在于,由于各个线程的..
阅读全文
摘要:Java虚拟机使用每一个类的第一件事情就是将该类的字节码装载近来,装载类字节码的功能是由类装载器完成的,类装载器负责根据一个类的名称来定位和生成类的字节码数据后返回给Java虚拟机。最常见的类装载器是将要加载的类名转换成一个.class文件名,然后从文件系统中找到该文件并读取其中的内容,这种类装载器也不是直接将.class文件中的内容原封不动地返回给Java虚拟机,它需要将.class文件中的内容转换成Java虚拟机使用的类字节码。不管类装载器采用什么方式,只要能够在内存中制造出给Java虚拟机调用类字节码即可,所以把类装载器描述为类字节码的制造器更容易让人理解。 当一个类被加载后,Java.
阅读全文
摘要:Proxy是比较有用途的一种模式,而且变种较多,应用场合覆盖从小结构到整个系统的大结构,Proxy是代理的意思,我们也许有代理服务器等概念,代理概念可以解释为:在出发点到目的地之间有一道中间层,意为代理.设计模式中定义:为其他对象提供一种代理以控制对这个对象的访问.为什么要使用Proxy?1.授权机制不同级别的用户对同一对象拥有不同的访问权利,如Jive论坛系统中,就使用Proxy进行授权机制控制,访问论坛有两种人:注册用户和游客(未注册用户),Jive中就通过类似ForumProxy这样的代理来控制这两种用户对论坛的访问权限.2.某个客户端不能直接操作到某个对象,但又必须和那个对象有所互动.
阅读全文
摘要:为什么要用反射呢,既然在开发时就能够写好代码,干嘛还放到运行期去做,不光繁琐,而且效率也受影响。 带着这个疑问,google了一把,找到一个非常好的解释:1)当你做一个软件可以安装插件的功能,你连插件的类型名称都不知道,你怎么实例化这个对象呢?因为程序是支持插件的(第三方的),在开发的时候并不知道 。所以,无法在代码中 New出来 ,但反射可以, 通过反射, 动态加载程序集, 然后读出类, 检查标记 (特性 attributable)之后再实例化对象。就可以获得正确的类实例。反射的目的就是为了扩展未知的应用。比如你写了一个程序,这个程序定义了一些接口,只要实现了这些接口的dll都可以作为插件来
阅读全文
摘要:打开ntfs-3g的下载点http://www.tuxera.com/community/ntfs-3g-download/ ,将最新稳定(当前最新版本为ntfs-3g-2011.1.15)下载到CentOS,执行以下命令安装: 1) 编译安装 ntfs-3g:# tar zxvf ntfs-3g-2011.1.15.tgz# cd ntfs-3g-2011.1.15#./configure#make#make install在网上找了,方法一样安上 还是不能挂载,最后在官方站 找到方法了,如下:mount -t ntfs-3g /dev/sda5 /mnt/windows 这...
阅读全文
摘要:有时候我们需要获得网页上的图片,尤其是向验证码这样的图片.这个方法就是将网页上的图片获取到PictureBox中.效果入下图所示.右边是使用Webbrowser控件装载的某网站的注册页面,其中包括了验证码.左边是获取到的验证码,装载在PictureBox中.也许有人会问,通过Webbrowser也能够看到注册页面的验证码为什么还要,在获得这个验证码.原因如下:当你不想让别人知道在做什么的时候需要使用,别人只能看到注册码而不知道在干什么事情;另外愿意是为了方便,当做这个一个注册程序的时候,注册信息一般都是自动生成的,但是验证码需要输入,不停的拖动滚动条找注册码的位置不方便.下面看看如何实现.首先
阅读全文
摘要:UML是一种标准语言,用于指定,可视化,构造和文档的软件系统的文物。UML是OMG在1997年1月提出了创建由对象管理组和UML1.0规范草案。 本教程给出了一个比较完整的学习理解UML,可以方便学习UML入门和使用。 UML工程师的相关实用链接 (1) UML快速参考指南 一个快速为UML工程师的UML参考手册 (2) 有用的UML资源 UML网站,书籍和文章的集合。 (3) UML工具和实用程序 在这里,可以找到一个有用的UML的工具和实用程序、UML建模。
阅读全文
摘要:UML是一种标准语言,用于指定,可视化,构造和文档的软件系统。UML是OMG在1997年1月提出了创建由对象管理组织(OMG)和UML1.0规范草案。OMG不断努力,使一个真正的行业标准。UML 代表UnifiedModelingLanguage.UML是不同于其他常见的编程语言,如C + +,Java中,COBOL等。UML是一种绘画语言,用来做软件蓝图。因此,UML可以作为一个通用的可视化建模语言,可视化,指定兴建及记录软件系统。虽然UML一般用于模型的软件系统,但它并不限于在此范围内。它也可以用来建模非软件系统的处理流程,以及像在一个制造单元等UML不是一种编程语言,但工具可用于生成各种
阅读全文
摘要:UML描述的实时系统,这是非常重要的一个概念模型,然后进行逐渐。 UML的概念模型可以通过学习掌握以下三大要素:UML构建模块规则连接构建模块UML的公共机制本章介绍了所有的UML构建块。 UML的构建块可以被定义为:物件关系图(1) 物件:物件是最重要的UML构建块。物件可以:结构化行为化分组注解结构化物件:结构性的东西定义静态模型的一部分。他们代表了物理和概念元素。以下是简要描述的结构的东西.类:具有类似职责的对象类表示.接口:接口定义了一组操作指定一个类的职责。协作:协作定义元素之间的相互作用。用例:用例代表了一组由系统的行动,为一个特定的目标。组件:组件描述物理系统的一部分。节点:
阅读全文
摘要:任何真正的世界系统是由不同的用户使用。用户可以是开发人员,测试人员,商务人士,分析师和等等。所以在设计一个系统的体系结构是用不同的角度心态。最重要的部分是从不同的观看者的角度来看,以可视化的系统。我们更好地了解我们使系统更好。UML定义一个系统的不同的角度起着重要的作用。这些角度是:设计实现处理部署该中心是连接所有这四个用例视图。一个用例代表了系统的功能。因此,其他的角度连接使用的情况下。系统设计包括类,接口和协作。 UML类图,对象图支持。实现定义的组件组装在一起,使一个完整的物理系统。 UML组件图是用来支持实施的角度。流程定义了系统的流动。因此,在设计中所用的相同的元件也可用来支持当前角
阅读全文
摘要:区分UML模型, UML建模用于不同类型的不同的图。有三个重要类型的UML建模:结构建模:系统结构建模捕捉静态功能。它们包括下列各项:类图对象图部署图包图复合结构图组件图结构模型代表的系统架构,这个框架的所有其他组件存在的地方。因此,类图,组件图和部署图的部分结构建模。它们都代表的元素和机制将它们组装。但是,从来没有的结构模型描述系统的动态行为。类图中是最广泛使用的结构图。行为模型:行为模型描述了在系统中的相互作用。它代表之间的交互的结构图。行为建模显示系统的动态性质。它们包括下列各项:活动图交互图用例图所有上述的显示在一个系统中流动的动态序列。架构模型:建筑模型代表了系统的总体框架。它包含了
阅读全文
摘要:UML是流行的图解符号。我们都知道,UML是可视化,说明,构建和记录软件和非软件系统的组成部分。这里的可视化是最重要的部分,需要被理解和记忆。UML符号是最重要的建模元素。适当有效地使用符号是非常重要的一个完整的,有意义的模型。该模型是无用的,除非它的目的是正确描绘。所以学习符号应该从一开始就强调。不同的符号可用于事物和关系。 UML图使用的符号物件和关系。可扩展性是另一个重要的功能,这使得UML更加强大和灵活。本章还介绍了更详细的UML基本表示法。这仅仅是一个扩展的UML构建块段,我已经在前面的章节中讨论。结构化物件:用图形表示法中使用的结构物件是UML中最广泛使用的。这些被认为是为UML模
阅读全文
摘要:概述:类图是静态图。它代表了一个应用程序的静态视图。类图不仅用于可视化描述和记录系统的不同方面,但也为构建可执行代码的软件应用程序。类图描述一类的属性和操作,也对系统的约束。被广泛应用于类图的建模的面向对象的系统中,因为它们是唯一的,可以直接映射到面向对象的语言的UML图。类图显示的集合类,接口,关联,协作和约束。它也被称为作为结构图。目的:类图的目的是模型的一个应用程序的静态视图。类图是唯一的图可以直接映射到面向对象的语言,因此广泛应用于施工时间。UML图,像活动图,顺序图只能给应用程序,但顺序流类图是一个有点不同。所以它是最流行的UML图编码社区。因此,类图的目的可概括为:分析和设计应用程
阅读全文
摘要:概述:对象图都来源于类图,依赖类图对象图。对象图表示一个类图的一个实例。类图和对象图的基本概念是相似的。对象图也代表了一个系统的静态视图,但这种静态视图是系统在某一时刻的一个快照。对象图是用于呈现一组对象和它们之间的关系作为一个实例。目的:图的目的应该清楚地理解去实现它。对象图的目的与类图类似。不同的是,一个类图代表一个抽象的模型,包括类和它们之间的关系。但是,对象图表示在某一时刻,这在本质上是具体的实例。这意味着对象图是更接近实际的系统行为。目的是在一个特定的时刻捕捉到静态的系统视图。因此,对象图的目的可概括为:正向和逆向工程。一个系统的对象间的关系一个交互的静态视图。了解对象的行为和他们的
阅读全文
摘要:在前面的章节中,我们已经讨论过的构建和其他必要的UML元素。现在,我们需要明白的地方使用这些元素。元素都可以以不同的方式,使一个被称为图的完整的UML图片,如:组件。所以这是非常重要的,要了解不同的图表,以实现知识在现实生活中的系统。任何复杂系统是最好的理解,通过使某种类型的图表或图片。这些图表有一个更好地影响我们的理解。所以,如果我们看看周围,那么,我们将实现图是不是一个新的概念,但它被广泛使用在不同的形式在不同的行业。我们准备更好的和简单的方式了解一个系统的UML图。一个单一的图涵盖所有方面的制度是不够的。因此,UML定义了各种图表覆盖系统方面。还可以创建你自己的一套图表,以满足要求。图一
阅读全文
摘要:概述:组件图是不同的性质和行为。组件图用于模拟物理方面的系统。现在的问题是什么,这些物理方面?物理方面的元素,如可执行文件,库,文件,证件等它位于在一个节点。因此,组件图用于可视化的组织和系统组件之间的关系。这些图也被用来使可执行的系统。目的:组件图是一种特殊的UML图中。所有其他图表到目前为止讨论的目的也不同。它不描述该系统的功能,但它描述了用于使这些功能的组件。所以从这一点来说,组件图用于可视化在一个系统中的物理组件。这些组件库,程序包,文件等。组件图也可以被描述为一个静态的实施的系统视图。静态执行代表组织的组成部分,在一个特定的时刻。一个单一的组件图不能代表整个系统,但图的集合可用来代表
阅读全文
摘要:概述:为了模拟系统最重要的方面是捕捉到的动态行为。为了阐明位详细信息,动态的行为意味着它运行时/操作系统的行为。因此,只有静态的行为是不够的模拟系统,而动态的行为,更重要的是比静态行为。在UML模型的动态性质和使用情况图5图就是其中之一。现在我们要讨论的,本质上是动态的用例图,应该有一些内在或外在因素互动。这些内部和外部代理是已知的行为体。因此,用例图由主角,用例和它们之间的关系组成。该图是用来模型的一个应用程序的系统/子系统。一个单一的用例图捕获系统的特定功能。因此,来模拟整个系统的用例图。目的:用例图的目的是捕捉到一个系统的动态方面。但这一定义过于笼统描述其目的。因为其他的四个图解的图(活
阅读全文
摘要:概述:部署图用于可视化的软件组件部署的系统中的物理组件的拓扑结构。因此,部署图是用来描述一个系统的静态部署视图。部署图由节点和它们之间的关系。目的:部署名称本身描述的原理图的目的。部署图用于描述软件组件部署的硬件组件。组件图和部署图是密切相关的。组件图是用来描述的组件和部署图显示了它们是如何在硬件中部署。UML的设计主要是把重点放在系统的软件构件。但是,这两个图是使用特殊图表专注于软件组件和硬件组件。所以大多数的UML图是用来处理逻辑组件,但把重点放在系统的硬件拓扑部署图。部署图用于由系统工程师。部署图的目的,可以描述如下:可视化系统的硬件拓扑。描述用于部署软件组件的硬件组件。描述运行时处理节
阅读全文
摘要:概述:图表本身的名称,阐明该图的目的和其他细节。它描述了在一个系统中的一个组成部分不同的状态。状态是特定的一个系统的组件/对象。状态图描述了一个状态机。我们阐明的状态机可以被定义为一台机器,它定义了一个对象,这些状态控制的外部或内部事件的不同状态。在下一章节解释的活动图,状态图是一种特殊的。作为状态图定义了状态,它被使用的对象的生存期模型。目的:状态图是一个用于模拟系统的动态性质的五个的UML图。他们定义一个对象在其生命周期的不同状态。这些状态改变的事件。因此,状态图是有用的模型反应系统。反应式系统可以被定义为一个系统,响应外部或内部事件。状态图描述从一个状态到另一个状态的控制流。国被定义为一
阅读全文
摘要:概述:从名字交互作用很明显,图中是用来描述一些不同的模型中的不同元素之间的相互作用。所以,这种相互作用是动态行为的系统的一部分。这种互动行为表示UML中的两个图,被称为序列图和协作图。这两个图的基本宗旨是相似的。序列图强调时间顺序的消息和协作图注重发送和接收消息的对象的组织结构。目的:交互图的目的是可视化系统的交互行为。载入可视化的交互是一个困难的任务。因此,解决方案是使用不同类型的模型来捕获不同方面的相互作用。这就是为什么序列和协作图是用来捕获动态性质,但是从不同的角度。因此,交互图而言,可以描述为:捕捉一个系统的动态行为。来描述该系统中的消息流。来描述对象的结构组织。为了描述对象之间的互动
阅读全文
摘要:概述:活动图是另一个重要的UML图来描述系统的动态方面。活动图基本上是代表流程形成一个活动到另一个活动的流程图。活动可以被描述为一个系统的操作。因此,绘制控制流从一个操作到另一个。此流可以是连续的,支链的或同时的。活动图处理所有类型的流程控制,通过使用不同的元素,如交叉、加入等目的:活动图的基本用途是其他四个图类似。它能够捕捉到该系统的动态行为。其他四幅图是用来显示从一个对象到另一个消息流,但用来显示消息流从一个活动到另一个活动图。活动是一个特别的系统的操作。活动图不仅用于可视化系统的动态性质,但它们也可用于通过使用正向和逆向工程技术来构建可执行的系统。唯一缺少的东西在活动图的消息部分。它并不
阅读全文
摘要:UML 概述:UML是一个通用的建模语言。它最初开始捕捉到复杂的软件和非软件系统的行为,现在它已经成为一个OMG标准。UML提供元素和组件的复杂系统支持的要求。 UML遵循面向对象的概念和方法。因此,面向对象的系统通常使用的图案语言建模。UML图绘制等从不同的角度设计,实现,部署等上面的结论UML可以被定义为一种建模语言,捕捉到一个系统的体系结构,行为和结构层面。对象是这个面向对象世界的关键。面向对象的分析和设计的基本要求,是有效地识别对象。责任分配给对象。一旦这个任务完成了设计使用输入分析。UML具有重要的作用,在该面向对象的分析与设计,用于模拟设计的UML图。因此,UML有一个发挥重要作用
阅读全文
摘要:在世界上统一建模语言UML2.0是完全不同的维度。它在本质上更加复杂和广泛。与UML1.5版本相比,文件的程度也增加了。 UML2.0中还增加了新的功能,所以它的使用可以更广泛。UML2.0将正式和完全定义语义的定义。这种新的可能性可以用于模型的开发,并从这些模型可以产生相应的系统。但要利用这个新的层面,必须作出相当大的努力,获得知识。UML2.0的新的层面:UML的结构和文档UML2.0的最新版本进行了全面修订。现在有两个文件,描述UML:UML2.0架构的定义是基于UML语言的基本结构。本节是UML的用户并不直接相关。这是指向对建模工具的开发。所以,这方面不是在本教程的范围。UML2.0上
阅读全文
摘要:.tar 解包:tar xvf FileName.tar打包:tar cvf FileName.tar DirName(注:tar是打包,不是压缩!)———————————————.gz解压1:gunzip FileName.gz解压2:gzip -d FileName.gz压缩:gzip FileName.tar.gz 和 .tgz解压:tar zxvf FileName.tar.gz压缩:tar zcvf FileName.tar.gz DirName———————————————.bz2解压1:bzip2 -d FileName.bz2解压2:bunzip2 FileName.bz2压缩
阅读全文
摘要:系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI) hdparm -i /dev/hda 罗列一个磁盘的架构特性 hdparm -tT /dev/sda 在磁盘上执行测试性读取操作 cat /proc/cpuinfo 显示CPU info的信息 cat /proc/interrupts 显示中断 cat /proc/meminfo 校验内存使用 cat /proc/swaps 显示哪些swap被使用 cat /proc/version
阅读全文
摘要:在使用Linux系统的过程中,软件包的安装是避免不了的,在Linux下,软件安装程序的种类很多,安装方法也各式各样,(舒适性自然比不上windows :-))不过我们常见的软件包有两种:1)含有软件的源代码的压缩包,解压后需要手动编译。这种软件安装包通常是用gzip压缩过的tar包(后缀为.tar.gz)。./configure (配置)make (编译)make install (安装)make clean (卸载)注:典型的源代码包可以这样安装,但不都是这样,如webmin要执行其目录下./setup.sh进入交互式配置安装卸载用uninstall程序具体如果不清楚看要安装的包下的READ
阅读全文
摘要:在运维工作中,压力测试是一项非常重要的工作。比如在一个网站上线之前,能承受多大访问量、在大访问量情况下性能怎样,这些数据指标好坏将会直接影响用户体验。 但是,在压力测试中存在一个共性,那就是压力测试的结果与实际负载结果不会完全相同,就算压力测试工作做的再好,也不能保证100%和线上性能指标相 同。面对这些问题,我们只能尽量去想方设法去模拟。所以,压力测试非常有必要,有了这些数据,我们就能对自己做维护的平台做到心中有数。 目前较为常见的网站压力测试工具有webbench、ab(apache bench)、tcpcopy、loadrunner。 webbench由Lionbridge公司开...
阅读全文