zx_bing

人生路漫漫,多学些知识总是有益处的
随笔 - 32, 文章 - 0, 评论 - 0, 引用 - 0
数据加载中……

利用百度地图的API定位地理位置

    只有注册用户登录后才能阅读该文。阅读全文

posted @ 2012-07-26 07:55 zx_bing| 编辑 收藏

java执行存储过程

    只有注册用户登录后才能阅读该文。阅读全文

posted @ 2012-07-26 07:53 zx_bing| 编辑 收藏

SpringMVC框架介绍


Spring框架提供了构造Web应用程序的全能MVC模块。Spring
MVC
分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行制定。是一个标准的MVC框架。



那你猜一猜哪一部分应该是哪一部分?






SpringMVC框架图




posted @ 2012-07-25 06:54 zx_bing| 编辑 收藏

java 技术博客

犀利中带点柔情 的博客
http://fengtiejun.iteye.com/blog/1606365

posted @ 2012-07-25 06:48 zx_bing| 编辑 收藏

提高js性能注意事项

一.执行效率
1. DOM
1.1 使用DocumentFragment优化多次append
说明:添加多个dom元素时,先将元素append到DocumentFragment中,最后统一将DocumentFragment添加到页面。
该做法可以减少页面渲染dom元素的次数。经IE和Fx下测试,在append1000个元素时,效率能提高10%-30%,Fx下提升较为明显。

服用前:
for (var i = 0; i < 1000; i++) {
    var el = document.createElement('p');
    el.innerHTML = i;
    document.body.appendChild(el);
}

服用后:
var frag = document.createDocumentFragment();
for (var i = 0; i < 1000; i++) {
    var el = document.createElement('p');
    el.innerHTML = i;
    frag.appendChild(el);
}
document.body.appendChild(frag);

1.2 通过模板元素clone,替代createElement
说明:通过一个模板dom对象cloneNode,效率比直接创建element高。
性能提高不明显,约为10%左右。在低于100个元素create和append操作时,没有优势。

服用前:
var frag = document.createDocumentFragment();
for (var i = 0; i < 1000; i++) {
    var el = document.createElement('p');
    el.innerHTML = i;
    frag.appendChild(el);
}
document.body.appendChild(frag);   

服用后:
var frag = document.createDocumentFragment();
var pEl = document.getElementsByTagName('p')[0];
for (var i = 0; i < 1000; i++) {
    var el = pEl.cloneNode(false);
    el.innerHTML = i;
    frag.appendChild(el);
}
document.body.appendChild(frag);

1.3 使用一次innerHTML赋值代替构建dom元素
说明:根据数据构建列表样式的时候,使用设置列表容器innerHTML的方式,比构建dom元素并append到页面中的方式,效率有数量级上的提高。

服用前:
var frag = document.createDocumentFragment();
for (var i = 0; i < 1000; i++) {
    var el = document.createElement('p');
    el.innerHTML = i;
    frag.appendChild(el);
}
document.body.appendChild(frag);

服用后:
var html = [];
for (var i = 0; i < 1000; i++) {
    html.push('' + i + '
');
}
document.body.innerHTML = html.join('');

1.4 使用firstChild和nextSibling代替childNodes遍历dom元素
说明:约能获得30%-50%的性能提高。逆向遍历时使用lastChild和previousSibling。

服用前:
var nodes = element.childNodes;
for (var i = 0, l = nodes.length; i < l; i++) {
var node = nodes[i];
……
}

服用后:
var node = element.firstChild;
while (node) {
……
node = node.nextSibling;
}


2. 字符串

2.1 使用Array做为StringBuffer,代替字符串拼接的操作
说明:IE在对字符串拼接的时候,会创建临时的String对象;经测试,在IE下,当拼接的字符串越来越大时,运行效率会急剧下降。Fx和Opera都对字符串拼接操作进行了优化;经测试,在Fx下,使用Array的join方式执行时间约为直接字符串拼接的1.4倍。

服用前:
var now = new Date();
var str = '';
for (var i = 0; i < 10000; i++) {
    str += '123456789123456789';
}
alert(new Date() - now);

服用后:
var now = new Date();
var strBuffer = [];
for (var i = 0; i < 10000; i++) {
    strBuffer.push('123456789123456789');
}
var str = strBuffer.join('');
alert(new Date() - now);


3. 循环语句

3.1 将循环控制量保存到局部变量
说明:对数组和列表对象的遍历时,提前将length保存到局部变量中,避免在循环的每一步重复取值。

服用前:
var list = document.getElementsByTagName('p');
for (var i = 0; i < list.length; i++) {
    ……
}

服用后:
var list = document.getElementsByTagName('p');
for (var i = 0, l = list.length; i < l; i++) {
    ……
}


3.2 顺序无关的遍历时,用while替代for
说明:该方法可以减少局部变量的使用。比起效率优化,更能直接看到的是字符数量的优化。该做法有程序员强迫症的嫌疑。

服用前:
var arr = [1,2,3,4,5,6,7];
var sum = 0;
for (var i = 0, l = arr.length; i < l; i++) {
    sum += arr[i];
}   

服用后:
var arr = [1,2,3,4,5,6,7];
var sum = 0, l = arr.length;
while (l--) {
    sum += arr[l];
}

4. 条件分支

4.1 将条件分支,按可能性顺序从高到低排列
说明:可以减少解释器对条件的探测次数。

4.2 在同一条件子的多(>2)条件分支时,使用switch优于if
说明:switch分支选择的效率高于if,在IE下尤为明显。4分支的测试,IE下switch的执行时间约为if的一半。

4.3 使用三目运算符替代条件分支
服用前:
if (a > b) {
num = a;
} else {
num = b;
}

服用后:
num = a > b ? a : b;


5. 定时器

5.1 需要不断执行的时候,优先考虑使用setInterval
说明:setTimeout每一次都会初始化一个定时器。setInterval只会在开始的时候初始化一个定时器

服用前:
var timeoutTimes = 0;
function timeout () {
    timeoutTimes++;
    if (timeoutTimes < 10) {
        setTimeout(timeout, 10);
    }
}
timeout();

服用后:
var intervalTimes = 0;
function interval () {
    intervalTimes++;
    if (intervalTimes >= 10) {
        clearInterval(interv);
    }
}
var interv = setInterval(interval, 10);

5.2 使用function而不是string
说明:如果把字符串作为setTimeout和setInterval的参数,浏览器会先用这个字符串构建一个function。

服用前:
var num = 0;
setTimeout('num++', 10);   

服用后:
var num = 0;
function addNum () {
    num++;
}
setTimeout(addNum, 10);


6. 其他

6.1 尽量不使用动态语法元素
说明:eval、Function、execScript等语句会再次使用javascript解析引擎进行解析,需要消耗大量的执行时间。

6.2 重复使用的调用结果,事先保存到局部变量
说明:避免多次取值的调用开销。

服用前:
var h1 = element1.clientHeight + num1;
var h2 = element1.clientHeight + num2;

服用后:
var eleHeight = element1.clientHeight;
var h1 = eleHeight + num1;
var h2 = eleHeight + num2;

6.3 使用直接量
说明:
var a = new Array(param,param,...) -> var a = []
var foo = new Object() -> var foo = {}
var reg = new RegExp() -> var reg = /.../

6.4 避免使用with
说明: with虽然可以缩短代码量,但是会在运行时构造一个新的scope。
OperaDev上还有这样的解释,使用with语句会使得解释器无法在语法解析阶段对代码进行优化。对此说法,无法验证。

服用前:
with (a.b.c.d) {
property1 = 1;
property2 = 2;
}


服用后:
var obj = a.b.c.d;
obj.property1 = 1;
obj.property2 = 2;


6.5 巧用||和&&布尔运算符

服用前:
function eventHandler (e) {
if(!e) e = window.event;
}


服用后:
function eventHandler (e) {
e = e || window.event;
}


服用前:
if (myobj) {
doSomething(myobj);
}


服用后:
myobj && doSomething(myobj);


6.6 类型转换
说明:
1).    数字转换成字符串,应用"" + 1,性能上:("" +) > String() > .toString() > new String();
2).    浮点数转换成整型,不使用parseInt(), parseInt()是用于将字符串转换成数字,而不是浮点数和整型之间的转换,建议使用Math.floor()或者Math.round()
3).    对于自定义的对象,推荐显式调用toString()。内部操作在尝试所有可能性之后,会尝试对象的toString()方法尝试能否转化为String。


二.内存管理

2.1 循环引用
说明:如果循环引用中包含DOM对象或者ActiveX对象,那么就会发生内存泄露。内存泄露的后果是在浏览器关闭前,即使是刷新页面,这部分内存不会被浏览器释放。

简单的循环引用:
var el = document.getElementById('MyElement');
var func = function () {…}
el.func = func;
func.element = el;


但是通常不会出现这种情况。通常循环引用发生在为dom元素添加闭包作为expendo的时候。

如:
function init() {
    var el = document.getElementById('MyElement');
el.onclick = function () {……}
}
init();


init在执行的时候,当前上下文我们叫做context。这个时候,context引用了el,el引用了function,function引用了context。这时候形成了一个循环引用。

下面2种方法可以解决循环引用:

1)    置空dom对象

服用前:
function init() {
var el = document.getElementById('MyElement');
el.onclick = function () {……}
}
init();


服用后:
function init() {
var el = document.getElementById('MyElement');
el.onclick = function () {……}
el = null;
}
init();


将el置空,context中不包含对dom对象的引用,从而打断循环应用。
如果我们需要将dom对象返回,可以用如下方法:

服用前:
function init() {
    var el = document.getElementById('MyElement');
    el.onclick = function () {……}
    return el;
}
init();


服用后:
function init() {
var el = document.getElementById('MyElement');
el.onclick = function () {……}
try{
return el;
} finally {
    el = null;
}
}
init();

2)    构造新的context
服用前:
function init() {
    var el = document.getElementById('MyElement');
    el.onclick = function () {……}
}
init();


服用后:
function elClickHandler() {……}
function init() {
    var el = document.getElementById('MyElement');
    el.onclick = elClickHandler;
}
init();

把function抽到新的context中,这样,function的context就不包含对el的引用,从而打断循环引用。

2.2 通过javascript创建的dom对象,必须append到页面中
说明:IE下,脚本创建的dom对象,如果没有append到页面中,刷新页面,这部分内存是不会回收的!

示例代码:

    function create () {
        var gc = document.getElementById('GC');
        for (var i = 0; i < 5000 ; i++)
        {
            var el = document.createElement('div');
            el.innerHTML = "test";

            //下面这句可以注释掉,看看浏览器在任务管理器中,点击按钮然后刷新后的内存变化
            gc.appendChild(el);
        }
    }


2.3 释放dom元素占用的内存
说明:
将dom元素的innerHTML设置为空字符串,可以释放其子元素占用的内存。
在rich应用中,用户也许会在一个页面上停留很长时间,可以使用该方法释放积累得越来越多的dom元素使用的内存。

2.4 释放javascript对象
说明:在rich应用中,随着实例化对象数量的增加,内存消耗会越来越大。所以应当及时释放对对象的引用,让GC能够回收这些内存控件。
对象:obj = null
对象属性:delete obj.myproperty
数组item:使用数组的splice方法释放数组中不用的item

2.5 避免string的隐式装箱
说明:对string的方法调用,比如'xxx'.length,浏览器会进行一个隐式的装箱操作,将字符串先转换成一个String对象。推荐对声明有可能使用String实例方法的字符串时,采用如下写法:
var myString = new String('Hello World');

posted @ 2012-07-25 06:44 zx_bing| 编辑 收藏

彻底删除SQL Server注册表信息

1.彻底删除SQL Server:
hkey_local_machine\software\Microsoft\MSSQLServer
hkey_local_machine\software\Microsoft\Microsoft SQL Server
hkey_current_user\software\Microsoft\Microsoft SQL Server
hkey_current_user\software\Microsoft\MSSQLServer
hkey_local_machine\system\currentcontrolset\control\sessionmanager\pendingfileren      
ameoperations


 


2。注册表中的相关信息删除:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer。

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\MSDTC。

3。HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session
Manager中找到PendingFileRenameOperations项目,并删除它。这样就可以清除安装暂挂项目
4。HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\setup
删除ExceptionComponents



3、运行注册表,删除如下项:
HKEY_CURRENT_USER\Software\Microsoft\Microsoft SQL
Server
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer

posted @ 2012-07-25 06:40 zx_bing| 编辑 收藏

AndroMDA开发环境搭建

翻译者:Jason S.H.Chen
(英文地址:http://www.andromda.org/index.php?option=com_content&view=article&id=105:environment-setup&catid=42:getting-started-java&Itemid=89

环境设置
本节将一步步的指导你完成AndroMDA开发环境的设置。我们假定你工作在Windows操作系统上。
通过此节,你将安装多种程序。每种程序的推荐安装路径以及所需要的其他目录已列在下面。你可以根据你的系统配置和个人喜好自由的修改这些目录。比如,你可以选择将程序安装在D盘而不是C盘。无论如何,请注意一件事情,有些程序会因为你所设置的路径名中包含空格而不能正常工作。所以,在安装配置程序过程中尽可能复制粘贴下面推荐的路径。
推荐安装路径 用途
C:\Documents and Settings\你的用户名\.m2\repository Maven本地库
C:\Program Files\Apache Software Foundation\maven-2.0.8 Maven安装路径
C:\Program Files\Java\jdk1.6.0_xx JDK
C:\Program Files\Java\jre1.6.0_xx JRE,Java 运行引擎
C:\Program Files\MySQL\MySQL Server 5.0 MySQL数据库服务器
C:\eclipse Eclipse集成开发环境(可选)
C:\jboss-4.0.5 JBoss应用服务器
你还需要设置一些相关的环境变量。在控制面板中可完成环境的设置(控制面板>系统>高级>环境变量)。注意:任何程序的安装目录被修改后,你必须确保将与之相关的环境变量的取值修改与之一致。
准备开发环境
请按照下面的步骤开始准备AndroMDA的开发环境。
安装Java
请从这里下载JDK6安装程序并执行安装。此版本是AndroMDA推荐的JDK安装版本。AndroMDA也支持JDK1.5.我们不再支持JDK1.4.
确保JAVA_HOME环境变量指向的目录是JDK的安装目录。也许你已经设置了这个环境变量,但最好还是检查一下:
1. 进入【控制面板】,双击【系统】。
2. 选择【高级】选项卡,点击【环境变量】。
3. 查看JAVA_HOME的值是否指向你的JDK安装目录。如果不是请编辑JAVA_HOME变量的值,让他指向JDK的安装目录(比如:C:\Program Files\Java\jdk1.6.0_06)。
安装Maven
Maven是AndroMDA的首选应用系统构建部署工具。基于项目对象模型(POM)的概念,Maven可以管理一个项目的构建,报告和文档等。如果你熟悉Ant的话,Maven与之有不少相同之处,但Maven提供了更多的功能:
1. 可继承的构建环境配置,在POM文件(pom.xml)中配置的参数可以传递给所有子项目的POM文件。
2. 标准化的构建任务(清除,构建,安装,部署等)。
3. 能表达构建和部署任务所依赖的库,不管是内部依赖库还是外部依赖库,都必须指明所依赖的具体版本号。
4. 提供一个包含所有项目所依赖的版本的库文件的仓库。在系统的构建和部署过程中会用到仓库(有点类似于.net的全局汇编缓存的概念)。
按照下面的步骤安装Maven2.0.8.
1. 点击这里下载Maven2.0.8.
2. 将文件解压到C:\Program Files\Apache Software Foundation这个目录,一个名为maven-2.0.8的目录将被创建,此目录下面就是Maven2.0.8的程序。
注意:如果你使用代理服务器上网的话,你必须配置Maven使用代理。详细的配置你可以在这里找到。
安装JBoss应用服务器
JBoss应用服务器是一款应用很广泛的开源应用服务器。按照下面的步骤安装JBoss4.0.5.
1. 点击这里转到JBoss的下载页面。
2. 在下载列表上选择JBoss Application Server version 4.0.5的下载按钮,系统将把你带到SourceForge的下载页面。
3. 点击名为“jboss-4.0.5GA.zip”的下载链接,进行下载。
4. 下载完毕,将下载的文件解压到C盘,一个名为jboss-4.0.4GA的目录将被创建。此目录下包含JBoss应用服务器的程序文件。
5. 如果你打算在你的机器上也安装Oracle数据库的话,你必须将JBoss的 http端口8080修改成其他端口。Oracle也默认使用此端口,而且Oracle的配置不容易修改。如果你要修改JBoss的http端口的话,请打开C:\jboss-4.0.5\server\default\deploy\jbossweb-tomcat55.sar这个目录下的名为server.xml的文件,将文件中所有8080数字修改为其他的值,比如9090.这样即可解决Oracle和JBoss之间的冲突。如果你将8080端口修改成了9090,那么手册中所有使用到8080端口的地方,对于你来说都是9090端口。
设置环境变量
前面我们已经通过设置环境变量JAVA_HOME讲解了怎样设置环境变量。强烈推荐先设置完下面列出的环境变量后在继续后面的学习。为了保持文章的完整性,我们将环境变量JAVA_HOME也列在了下面。
环境变量名 环境变量值 是否必须
JAVA_HOME JAVA安装目录,比如C:\Program Files\Java\jdk1.6.0_06 必须
JBOSS_HOME JBoss安装目录,比如C:\jboss-4.0.5 必须
M2_HOME Maven安装目录,比如C:\Program Files\Apache Software Foundation\maven-2.0.8 必须
M2_REPO Maven本地库 必须
MAVEN_OPTS 运行Maven的JVM参数(推荐:-XX:MaxPermSize=128m -Xmx512m,构建大型项目最好设置) 可选
PATH 将%JAVA_HOME%\bin;%M2_HOME%\bin添加到PATH值中 必须

测试Maven并创建本地Maven库
Maven is based on the concept of a central(这句不知道怎样翻译合理), local repository located on your machine, where it stores artifacts such as 3rd party libraries as well as components created by you.本地Maven库存在你的电脑上,在库中存储着很多项目需要使用的第三方库和你自己创建的库。当你创建一个新项目时,你必须创建一个名为pom.xml用于描述项目对象信息的文件。在这个文件中,你告诉maven你的应用会依赖哪些第三方库以及他们的具体版本。当Maven开始构建应用的时候,他会首先从远程库(通过网络)中获取项目所依赖的这些库,并把从远程库获取的库复制到本地库。因为这样你以后就可以完全通过本地库完成构建应用。默认情况下,你的本地库在“C:\Documents and Settings\{你的用户名}\.m2\repository”这个目录下(其中,你的用户名是只你登录系统的用户名)。到目前为止,我们只安装了Maven程序,还没有创建本地库。按照下面的步骤测试你是否已经正确安装了Maven和创建你的本地库。我们将使用Maven的标准插件创建一个临时项目进行测试,测试完可以删除临时项目。
1. 开启命名提示窗口,将当前路径切换到任何一个临时文件目录下,比如c:\temp
2. 执行下面的命令检查你是否正确安装配置了Mavne:
Mvn --version
3. 窗口中出现如下信息,则标示你安装配置正确。
Maven version:2.0.2
4. 执行下面的命令创建一个临时项目:
mvn archetype:create -DgroupId=testapp -DartifactId=testapp
必须确保在此命令执行完毕,你得到的反馈信息是“Build Successful”.有时候会因为网络问题导致maven不能下载所有所依赖的库文件而失败。如果你也是遇到这个问题的话,你不妨多执行几次上面的命令,直到成功执行此命令为止。
5. 到当前目录中去核实一下,看是否有个名为testapp的临时项目被创建,同时到上面提到的仓库路径目录去核实一下本地仓库是否被创建了。如果这两项工作都成功地完成,那么你可以删除刚才测试时所产生的临时项目了。
安装AndroMDA插件
下面我们将下载并安装AndroMDA的maven插件到你的本地maven库。此插件是Java调用AndroMDA的入口程序。这事唯一一个需要安装的AndroMDA文件。其他的文件(比如代码生成器)将根据构建工作的需要自动下载。按照下面的步骤进行安装:
1. 点击这里下载AndroMDA插件安装程序。
2. 在安装文件在你的本地maven库的目录下(C:\Documents and Settings\{你的用户名}\.m2\repository)进行解压缩。
3. 请确认下面的目录是否存在,存在则继续
C:\Documents and Settings\你的用户名 \.m2\repository\org\andromda\maven\plugins\andromdapp-maven-plugin
4. 创建一个临时文件夹,比如:c:\andromda-temp
5. 在临时文件夹中创建一个pom.xml文件,并将下面的内容拷贝到pom.xml文件中并保存。
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>samples.test</groupId>
    <artifactId>test</artifactId>
    <version>1.0</version>
    <packaging>jar</packaging>
    <name>test</name>

    <build>
        <defaultGoal>compile</defaultGoal>
        <plugins>
            <plugin>
                <groupId>org.andromda.maven.plugins</groupId>
                <artifactId>andromdapp-maven-plugin</artifactId>
                <version>3.3</version>
            </plugin>
        </plugins>
    </build>

    <repositories>
        <repository>
            <id>andromda</id>
            <name>AndroMDA Repository</name>
            <url>http://team.andromda.org/maven2</url>
        </repository>
    </repositories>

    <pluginRepositories>
        <pluginRepository>
            <id>andromda</id>
            <name>AndroMDA Repository</name>
            <url>http://team.andromda.org/maven2</url>
        </pluginRepository>
    </pluginRepositories>
</project>
6. 打开dos窗口,并将当强目录切换为刚才创建的pom.xml文件所在的目录,输入 mvn (不需要带参数)回车。确保命令执行完后,屏幕上显示的信息是“BUILD SUCCESSFUL”(有时候会因为网络的原因不能下载完毕所有需要的库文件,故不能执行成功,如果遇到这种问题,请多执行几次这个命令,直到成功执行为止)。
7. 可以将刚才创建的临时目录删除了。
安装一款UML工具
安装一款UML建模工具,你能使用他进行应用系统的建模,并能将创建的模型导成AndroMDA能识别的格式的文档。AndroMDA目前支持UML1.4/XMI1.2和UML2/EMF几种格式的文档。下面列出了推荐使用的UML建模工具大安装配置链接,你可以根据自己选择的UML工具参考对应的安装配置链接。如果你已经安装了下面推荐的某款UML工具,你也最好看看其相应的配置页面。
ArgoUML(支持UML1.4/XMI1.2)
MagicDraw9.x(支持UML1.4/XMI1.2)
MagicDraw15.5(支持UML2/EMF)
RSM6(Rational Software Modeler/Architect 支持UML2/EMF)
安装数据库服务器
安装任一款Hibernate支持的数据库。点击这里查看Hibernate所支持的所有数据库的列表。此手册中我们使用MySQL5.0(一款应用非常广泛的开源数据库)。如果你安装是Hibernate支持的其他的数据库,请对JBoss和Hibernate的配置做相应的调整。按照下面的步骤安装配置MySQL.
1. 点击这里到MySQL的下载页面。
2. 下载Windows版的安装程序(确切的说是“Windows(X86)”,不是“Essentials”)。将MySQL安装在C:\Program Files\MySQL\MySQL Server 5.0目录下。请记住所使用的端口(port),用户账号和密码。每次你通过控制台连接数据库都需要用到,在应用程序中数据库连接配置中也要用到。
3. 下载安装MySQL GUI Tool Bundle(MySQL数据库图形化的管理查询工具)。
4. 下载MySQL Connector/J version 5.0.4,MySQL的JDBC驱动程序。解压到C:\Program Files\MySQL目录。
5. 将MySQL的JDBC驱动程序C:\Program Files\MySQL\mysql-connector-java-5.0.4\mysql-connector-java-5.0.4-bin.jar拷贝到JBoss的C:\jboss-4.0.5\server\default\lib目录。请将mysql-connector-java-5.0.4-bin.jar的文件名改为mysql-connector-java-5.0.4.jar,这样更符合maven的规范。有了JDBC驱动程序,JBoss就可以访问你的数据库了。
安装Eclipse(可选)
Eclipse是一款非常流程的开源的JAVA应用集成开发环境(IDE).AndroMDA并不需要他,但是我们推荐你使用他以提高你的开发效率。Eclipse用户应该非常高兴,因为AndroMDA可以为你们生成项目的.project和.classpath文件。你们只需要简单地将项目导入Eclipse即可进行代码的编写了。
你可从这里下载Eclipse.我们推荐下载Eclipse IDE for Java EE Developers这个版本。按照下面的步骤安装配置Eclipse.
1. 将下载的文件解压到你的硬盘上,推荐C:\eclipse
2. 编辑C:\eclipse目录下的eclipse.ini文件以增加分配给Eclipse的内存。下面是推荐你向文件中添加的内容:
-vmargs
-Xms256m
-Xmx512m
-XX:PermSize=64m
-XX:MaxPermSize=128m
3. 双击Eclipse.exe开启Eclipse.
4. Eclipse会要求你设置一个存放项目的文件夹。这个文件夹被成为Eclipse的工作区。将这个目录设置为你通常用来保存创建项目的目录,比如c:\projects目录。
5. 从【Window】菜单中选择【参数设置】(Preferences)菜单项。
6. 在出现的面板的左边依次选择Java>Build Path>Classpath Variables.
7. 点【新建】(New)。
8. 将“M2_REPO”填写在名称文本框(Name),将你本机的maven库的路径(C:\Documents and Settings\{你的用户名}\.m2\repository,前面所设置的)填写在路径文本框(Path)。当导入AndroMDA产生的项目时,项目会根据此变量查找所引用的Maven库中的库文件。
9. 点击2次【确定】(ok)关闭所有对话框。
好的,现在我们已经将AndroMDA开发环境搭建好,我们已经准备好拿日志跟踪系统来试验AndroMDA了。下节我们将在讲解具体怎样开发日志跟踪系统之前先带大家体验一下我们已经开发完毕的系统,让你在学习过程中也好做到心中有数。

posted @ 2012-07-25 06:38 zx_bing| 编辑 收藏

widow orcal 卸载

oracle在默认安装下会安装5个计算机服务(右键我的电脑-管理-计算机管理-服务与应用程序-服务)或者(控制面板-管理工具-服务),同时,五个服务分别为
Oracle代码 复制代码 收藏代码
  1. OracleDBConsoleorcl 
  2. OracleJobSchedulerORCL 
  3. OracleOraDb10g_home1iSQL*Plus 
  4. OracleOraDb10g_home1TNSListener 
  5. OracleServiceORCL 
  6. (默认数据库为orcl) 
  7. 另外还有注册表项 
  8. Oracle.orcl 
  9. Oracle in OraDb10g_home1 
  10. 此外 
  11. OracleOraDb10g_home1根据不同电脑配置会有所不同,也可能是 
  12. OracleOraDb10g_home2 
  13. OracleOraDb10g_home3 



在程序没有完全损坏的情况下,尤其是卸载程序尚可使用,建议先卸载程序,再清空注册表。如果程序已经已经损坏,只能从清理注册表开始了。
清理注册表之后,删除oracle安装目录下所有文件(有需要备份酌情考虑吧)

使用命令进入注册表:
Cmd代码 复制代码 收藏代码
  1. regedit 

清理一下节点
Regedit代码 复制代码 收藏代码
  1. HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ORACLE\SYSMAN 有1项 (OracleDBConsoleorcl) 
  2. HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\eventlog\Application  
  3. 3项 (其中有Oracle.orcl) 
  4. HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services  有5项 
  5. HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\services\eventlog\Application   
  6. 3项 (其中有Oracle.orcl) 
  7. HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\services  有5项 
  8. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\eventlog\Application  
  9. 3项 (其中有Oracle.orcl) 
  10. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services 有5项 


如果是正常卸载的话,可能有些节点会减少,不过按理说清空这些就差不多了。然后删除oracle目录下所有文件,重启电脑,会发现五个服务都已经没有了,这时候就可以重新安装一个新的oracle了。
当然,有可能会提示安装目录被使用,这时候进入注册表搜索那些节点占用了安装目录,删除掉,重启后继续安装就行了。

下面提供以下需要清理的注册表项的位置

OracleDBConsoleorcl
Regedit代码 复制代码 收藏代码
  1. HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ORACLE\SYSMAN 
  2. HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\eventlog\Application\OracleDBConsoleorcl 
  3. HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\OracleDBConsoleorcl 
  4. HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\services\eventlog\Application\OracleDBConsoleorcl 
  5. HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\services\OracleDBConsoleorcl 
  6. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\eventlog\Application\OracleDBConsoleorcl 
  7. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\OracleDBConsoleorcl 


OracleJobSchedulerORCL
Regedit代码 复制代码 收藏代码
  1. HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\OracleJobSchedulerORCL 
  2. HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\services\OracleJobSchedulerORCL 
  3. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\OracleJobSchedulerORCL 


OracleOraDb10g_home2iSQL*Plus
Regedit代码 复制代码 收藏代码
  1. HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\eventlog\Application\OracleOraDb10g_home2iSQL*Plus 
  2. HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\OracleOraDb10g_home2iSQL*Plus 
  3. HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\services\eventlog\Application\OracleOraDb10g_home2iSQL*Plus 
  4. HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\services\OracleOraDb10g_home2iSQL*Plus 
  5. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\eventlog\Application\OracleOraDb10g_home2iSQL*Plus 
  6. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\OracleOraDb10g_home2iSQL*Plus 


OracleOraDb10g_home2TNSListener
Regedit代码 复制代码 收藏代码
  1. HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\OracleOraDb10g_home2TNSListener 
  2. HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\services\OracleOraDb10g_home2TNSListener 
  3. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\OracleOraDb10g_home2TNSListener 


OracleServiceORCL
Regedit代码 复制代码 收藏代码
  1. HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\OracleServiceORCL 
  2. HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\services\OracleServiceORCL 
  3. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\OracleServiceORCL 


Oracle.orcl
Regedit代码 复制代码 收藏代码
  1. HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\eventlog\Application  
  2. HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\services\eventlog\Application 
  3. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\eventlog\Application 


Oracle in OraDb10g_home
Regedit代码 复制代码 收藏代码
  1. HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\ODBCINST.INI 
  2. 可能有home1 home2等等 

呵呵 ,还会为oracle不能干净卸载、重新安装发愁么,有兴趣的来试一下吧……
此外,听说360也能清理注册表,不知道是不是真的,我还没用过那个清理,期待有人出来说说啊……



1、停止所有Oracle服务

2、删除注册表中的所有关于Oracle项

(1)在HKEY_LOCAL_MACHINE\SOFTWARE下,删除Oracle目录

(2)在HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services下,删除所有Oracle项

(3)在HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services下,删除所有Oracle项

(4)在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services下,删除所有Oracle项

(5)在HKEY_CLASSES_ROOT下,删除所有Oracle项

3、删除硬盘上所有Oracle文件

(1)Oracle安装文件

(2)系统目录下,在Program files文件夹中的Oracle文件

4、有些文件删不去,重启后再删,完成卸载。


posted @ 2012-07-25 06:34 zx_bing| 编辑 收藏

MySQL删除注册表

    只有注册用户登录后才能阅读该文。阅读全文

posted @ 2012-07-25 06:30 zx_bing 阅读(37) | 评论 (0)编辑 收藏

电脑中毒后 提示“网络连接中断,可能是您的网卡被禁用或者网络电缆没有插好”

 前几天我的电脑中毒了,然后就是一直连不上网(校园网),总是提示我“网络中断,可能是网卡被禁用或者是网络电缆没有连接好”

解决的方法:卸载H3C联网客户端,重新安装一下,一般在你装完后的第一次启动电脑的时候是可以连上网的(第二次启动电脑的时候可能就被病毒搞了,可能就连不上网了),所以你要趁着这一时机能连上网,下载一个“360系统拯救”查杀一下(360系统拯救
使用需要联网,而且杀毒非常彻底),这个时候一般都能查出有很多的木马,然后杀死它们,重启电脑,可以联网了,现在以我的经验,你最好在用它杀一遍毒看看,可能还会有一些病毒的,保险起见,然后再重启,这次应该说是基本没问题了,这时候你就可以放心地上网啦!


http://wenku.baidu.com/view/399d76c10c22590102029da5.html

--

http://wenku.baidu.com/view/399d76c10c22590102029da5.html

posted @ 2012-07-14 20:56 zx_bing| 编辑 收藏

仅列出标题
共4页: 上一页 1 2 3 4 下一页