存档

‘DevelopTools’ 分类的存档

MyEclipse 8.5下载地址

2010年1月13日 admin 3 条评论

8.0GA 下载地址如下:


  1. MyEclipse 8.0 GA Windows 版本下载,支持 window 7/Vista/XP/NT/2000/98
    • http://downloads.myeclipseide.com/downloads/products/eworkbench/galileo/myeclipse-8.0.0-win32.exe
    • MyEclipse 8.0 GA Windows 版文件大小:782.47 MB
    • MyEclipse 8.0 GA Windows 版MD5 : 3ace64b656a7ca57f1628633d87d167b
  2. MyEclipse 8.0 GA Linux 版本下载(支持32位Linux版本)
    • http://downloads.myeclipseide.com/downloads/products/eworkbench/galileo/myeclipse-8.0.0-linux-gtk-x86.tgz
    • MyEclipse 8.0 GA Linux 版(32位)文件大小:818.18 MB
    • MyEclipse 8.0 GA Linux 版(32位)MD5 : 32Bit:8c2404849a638a139855e4c2a12bd719
  3. MyEclipse 8.0 GA Linux 版本下载(支持64位Linux版本)
    • http://downloads.myeclipseide.com/downloads/products/eworkbench/galileo/myeclipse-8.0.0-linux-gtk-x86_64.tgz
    • MyEclipse 8.0 GA Linux 版(64位)文件大小:818.18 MB
    • MyEclipse 8.0 GA Linux 版(64位)MD5 : 64Bit:79fd08a2c57d30aa4d58b27d61675bb0
  4. MyEclipse 8.0 GA Mac OS/X版本下载
    • http://downloads.myeclipseide.com/downloads/products/eworkbench/galileo/myeclipse-8.0.0-macosx.tgz
    • MyEclipse 8.0 GA Mac OS/X版 文件大小:722.15 MB
    • MyEclipse 8.0 GA Mac OS/X版 MD5 : 9a119fc2219eebbc2bd28d66919e577f
  5. MyEclipse 8.0 GA 归档升级版本下载
    • http://downloads.myeclipseide.com/downloads/products/eworkbench/galileo/myeclipse-8.0.0-archived-update-site.zip
    • MyEclipse 8.0 GA 归档升级版本 文件大小:661.67 MB
    • MyEclipse 8.0 GA 归档升级版本 MD5 : 50a87f85f63179aad44299518d9bb441

8.5M1 下载地址如下:

  1. MyEclipse 8.5 M1 Windows版下载
    • MyEclipse 8.5 M1 Windows
    • MyEclipse 8.5 M1 Windows版文件大小: 778.09 MB
    • MyEclipse 8.5 M1 Windows版MD5 : e274c2bad22781d0546750d9161dc4e1
  2. MyEclipse 8.5 M1 Linux版下载:
    • MyEclipse 8.5 M1 Linux(32位下载)
    • MyEclipse Linux 32bit
    • MyEclipse 8.5 M1 Linux(64位下载)
    • MyEclipse Linux 64bit
    • MyEclipse 8.5 M1 Linux文件大小: 810.73 MB
      MyEclipse 8.5 M1 Linux版MD5 : 32Bit:184b94410c2310e4fd1ea6d54fc5a4bc
      MyEclipse 8.5 M1 Linux版MD5 : 64 BIt: 39c5f7b6b96a03132d0882201e3f95b5
  3. MyEclipse 8.5 M1 Mac OS/X版下载:
    • MyEclipse 8.5 M1 Mac OS/X
    • MyEclipse 8.5 M1 Mac OS/X版文件大小: 714.89 MB
    • MyEclipse 8.5 M1 Mac OS/X版MD5 : 729acc1a6f0dad4d08088752de0cca82
  4. MyEclipse 8.5 M1归档升级版下载:
    • MyEclipse 8.5 M1 archived
    • MyEclipse 8.5 M1归档升级版文件大小: 661.47 MB
    • MyEclipse 8.5 M1归档升级版MD5 : 9d16fe00fd9a3452e048eb0d7d73d5c3

Popularity: unranked [?]

分类: DevelopTools, JAVA 标签:

MyEclipse8.0注册码

2010年1月13日 admin 2 条评论

運行一下就可以得到註冊碼,代碼如下:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class MyEclipseGen {
private static final String LL = ” “;

public String getSerial(String userId, String licenseNum) {
java.util.Calendar cal = java.util.Calendar.getInstance();
cal.add(1, 3);
cal.add(6, -1);
java.text.NumberFormat nf = new java.text.DecimalFormat(”000″);
licenseNum = nf.format(Integer.valueOf(licenseNum));
String verTime = new StringBuilder(”-”).append(
new java.text.SimpleDateFormat(”yyMMdd”).format(cal.getTime()))
.append(”0″).toString();
String type = “YE3MP-”;
String need = new StringBuilder(userId.substring(0, 1)).append(type)
.append(”300″).append(licenseNum).append(verTime).toString();
String dx = new StringBuilder(need).append(LL).append(userId)
.toString();
int suf = this.decode(dx);
String code = new StringBuilder(need).append(String.valueOf(suf))
.toString();
return this.change(code);
}

private int decode(String s) {
int i;
char[] ac;
int j;
int k;
i = 0;
ac = s.toCharArray();
j = 0;
k = ac.length;
while (j < k) {
i = (31 * i) + ac[j];
j++;
}
return Math.abs(i);
}

private String change(String s) {
byte[] abyte0;
char[] ac;
int i;
int k;
int j;
abyte0 = s.getBytes();
ac = new char[s.length()];
i = 0;
k = abyte0.length;
while (i < k) {
j = abyte0[i];
if ((j >= 48) && (j <= 57)) {
j = (((j – 48) + 5) % 10) + 48;
} else if ((j >= 65) && (j <= 90)) {
j = (((j – 65) + 13) % 26) + 65;
} else if ((j >= 97) && (j <= 122)) {
j = (((j – 97) + 13) % 26) + 97;
}
ac[i] = (char) j;
i++;
}
return String.valueOf(ac);
}

public MyEclipseGen() {
super();
}

public static void main(String[] args) {
try {
System.out.println(”請輸入用戶名:”);
BufferedReader reader = new BufferedReader(new InputStreamReader(
System.in));
String userId = null;
userId = reader.readLine();
MyEclipseGen myeclipsegen = new MyEclipseGen();
String res = myeclipsegen.getSerial(userId, “5″);
System.out.println(”序列號:” + res);
reader.readLine();
} catch (IOException ex) {
}
}
}

我也生成了一个,

conjs

pLR8ZC-855550-6856675231216223

Popularity: unranked [?]

分类: DevelopTools, JAVA 标签:

Microsoft Visual Studio 遇到了问题,需要关闭

2009年4月16日 admin 没有评论

很多人遇到这个问题, 可是在GOOGLE中找到的答案都不适合自己,

以下是我的解决方法希望对大家有所帮助:

1 ,  打VS2008的 SP1 补丁

2, 升级 VS2008 (用正版注册码升级,我的另外一篇文章有正版注册码及相关介绍 点击查看)

3, 重启 电脑

Popularity: 18% [?]

UltraEdit 14.20.1.1006注册码

2009年1月20日 admin 没有评论

昨天在网上找了好久,今天把注册码贴上来  ^_^

UltraEdit 专业版 14.20.1.1006
888888 FEKMA-KEOHD-NKEMQ-RPFNQ-LGHGO-QFIIA-SRJLX-OODVZ

UltraCompare Version 6.00.3.1002
conjssoft    KLFLP-PCPLH-LNOFK-QITH6-JEGHD-MJSQK-GPCJV-QPLKA

Popularity: 35% [?]

Microsoft SQL Server 2005 Service Pack 3 (SP3)

2008年12月22日 admin 没有评论

今天刚刚看到 Microsoft SQL Server 2005 Service Pack 3 发布了,哈哈

Microsoft released today SQL Server 2005 Service Pack 3 (SP3). SQL 2005 version should now be 9.00.4035.

Microsoft SQL Server 2005 Service Pack 3 (SP3) contains hotfixes that were included in cumulative update packages for SQL Server 2005 Service Pack 2 from cumulative update package 1 to cumulative update package 9, and fixes to issues that have been reported through our customer feedback platforms. It also includes supportability enhancements and issues that have been reported through Windows Error Reporting.

Related links:

Downloads:


Technorati : ,

Popularity: 31% [?]

Visual Studio 2008注册码

2008年10月27日 admin 没有评论

Visual Studio 2008注册码 经测试可以使用,我现在就在用,嘿嘿

PYHYP-WXB3B-B2CCM-V9DX9-VDY8T

使用方法:

开始–>控制面板–>添加删除程序–>点击VisualStudio2008 更改/删除 –>下一步 –>输入注册码–>升级–>完成

Popularity: 31% [?]

Visual Studio 2010

2008年10月21日 admin 评论已被关闭
10112fce 微软的更新真是快啊,哈哈。。。
早在10月初,微软就公布了下一代开发工具和平台“Visual Studio Team System 2010”以及“.NET Framework 4.0”,并透露他们将在2009年底-2010年正式发布.
下载地址:点击下载
http://www.microsoft.com/downloads/details.aspx?familyid=922b4655-93d0-4476-bda4-94cf5f8d4814&displaylang=en&tm
VSTS 2010开发代号“Rosario”,将致力于引领下一代平台发展、提高开发人员的工作效率和热情、创建突破性应用程序、推动云计算等新兴趋势、合理化应 用程序生命周期管理(ALM).VSTS 2010将支持统一建模语言(UML)和特定域语言(DSL),可为各类开发人员提供合适的工具,而这也是微软更大模型平台的一部分,“Oslo”技术也 是它的一部分.cnBeta的微软内线今天带来了尚未发布的产品截图,由于尚未发布,因此具体改进了什么我们也无从得知.

.Net Framework的LOGO

Popularity: 26% [?]

Eclipse3.5发布

2008年10月8日 admin 没有评论

现在软件升级真快啊,Eclipse3.5这么快就发布了

这一新版的Java开发环境包括了不少新特性并对以前版本做出了改进。  新特性包括:

平台及UI

  • Solaris x86已经加入支持行列
  • Install New Software向导中的“Work with:”下拉框现在支持自动补全
  • 增加了一个新的介绍主题,叫做“Slate”
  • 打开的编辑器及多编辑器页面间的切换更加容易(快捷键:Ctrl+PageDown/Ctrl+PageUp,Alt+PageDown/Alt+PageUp)
  • 为了快速关闭,现在可以安全地跳过清楚历史这一步骤
  • 至于编辑器的常规提示框和对话框,或当前工作台窗口、表单现在可以在Mac Cocoa上使用
  • 应用程序在打印过程中或打开打印对话框时,可以选择portrait或landscape模式
  • Eclipse富客户端平台现在包含了一个OSGi声明式服务(Declarative Services——DS)的实现
  • 你现在可以针对给定选项“钉住”属性视图
  • 一个新偏好页,可以管理用于选择工作区的启动提示框
  • About对话框现在提供一种机制,让plug-in可以给平台about对话框提供安装页面
  • Install New Software向导现在无需等待连接任何更新服务器就可以立即打开
  • 双击垂直折叠线(vertical folding line)可以折起折叠区域
  • 比较编辑器有几处增强
  • 你现在可以在Debug视图中快速切换挂起线程
  • 支持Cocoa和Cocoa上的OpenGL
  • 增加对FileTransfer类的支持,使得可以在Explorer和Nautilus文件管理器之间进行copy/paste操作
  • 对项目浏览器作出几项改进
  • 文本编辑器现在支持块选择模式(也就是按列选择或矩形块选择)
  • 你现在可以直接在Synchronize视图中应用一个补丁
  • 在Eclipse中比较Word文档变化,现在使用该Word比较功能支持把变化显示为修订

Equinox

  • 增强Equinox DebugOptions API,以支持选项设置的动态变化
  • 增加一个新的debug跟踪API——org.eclipse.osgi.service.debug.DebugTrace,以增强并简化编写debug跟踪信息
  • OSGi R4.2核心规范给核心框架增加了一些小API
  • 新的Equinox并发API

Plug-in开发环境

  • 有一个新的Target Platform State(目标平台状态)视图
  • 你现在可以创建并共享一个由软件站点的软件组成的目标定义
  • 新的Category Definition编辑器可以在输出时用于给特性归类
  • 你现在可以查看API相对于API基线的变化
  • 通过在菜单introspection mode里调用plug-in Spy来查看关于菜单的信息
  • 增强OSGi Declarative Services (DS),以支持最新版的DS规范
  • 你现在可以从OSGi启动配置中初始化产品定义
  • 有一个新的目标平台偏好页面
  • PPlug-in export现在支持创建source bundles
  • Declarative Services现在支持最新版的OSGi declarative services规范(1.1)更新
  • PDE中的JAR signing支持扩展包含了对keypass的支持
  • 增强目标编辑器,以支持目标定义中的新特性
  • API工具现在可以分析系统类库的使用情况及代码访问运行时不存在的成员时所产生的问题
  • 你现可以在非UI线程中启动Junit Plug-in测试
  • Eclipse应用程序启动配置现在支持启动级别(start level)及自动启动设置
  • Plug-in Registry视图现在支持浏览OSGi服务
  • 给PDE/Build增加了一个新的扩展,可以使用户从p2库中获取制品
  • API工具现在支持在接口上的两个约束:@noimplement 和 @noextend。这就使得在不想直接实现一个接口的时候可以扩展它
  • 即使你已经增大了plug-in的主版本号,仍会被提示破坏API的改变
  • PDE增强了bundle及特性(feature)输出,以把输出的bundles/feature安装到当前正在运行的工作台
  • 输出特性、plug-in及产品时可以选择binary cycles
  • PDE增加了declarative services工具,以帮助作者提供组件定义

Java开发工具

  • NLS string hover现在有一个Open in Properties File动作
  • 在Caller模式下,调用层级(Call Hierarchy)现在有一个在上下文菜单中有一个Expand With Constructors动作
  • 当你在编辑器中输入的时候,Java比较编辑器会更新其结构
  • 有一个新的toString()产生器
  • 为可覆盖方法增加了一个Open Implementation链接,可以直接打开其实现
  • 编辑器与执行环境一致
  • Debug视图现在提供了breadcrumb(面包屑),显示了当前活动的debug上下文
  • 可运行的JAR文件输出向导还可以把所需的类库打包进一个要输出的可运行JAR文件,或打包进与紧挨着该JAR的一个目录中
  • 当在写一个分配表达式(allocation expression)时发生补全操作,内容助手现在可以提示一个类的可用构造方法
  • 如果检测到无用代码,编译器现在可以发出警告
  • 类库、变量或容器入口的路径现在可以是与项目相关的任何位置
  • 在Jovadoc hover的头部及Javadoc视图中,现在都提供了引用其他类型和成员的链接
  • 随该Eclipse发行的JUnit4版本更新为4.5
  • Javadoc视图及hovers现在都支持{@inheritDoc}标签并给覆盖方法增加链接
  • 同一值的比较现在由编译器检测,默认情况下会发出警告

其他方面还在SWT、Equinox、JDT、PDE等方法有改进,详细的更新信息请看这里

新版本下载地址:http://download.eclipse.org/eclipse/downloads/drops/S-3.5M2-200809180100/index.php

下载地址:
http://www.eclipse.org/downloads/packages/release/galileo/

  

  对应的Eclipse SDK 3.5正式版下载地址:

 http://download.eclipse.org/eclipse/downloads/index.php

  对应的语言包(Eclipse Babel Project)下载:

http://www.eclipse.org/babel/downloads.php

  或直接http://download.eclipse.org/technology/babel/babel_language_packs/galileo.php

  

Popularity: 75% [?]

LiveCycle Data Services 安装简介

2008年8月21日 admin 没有评论

本文是经过翻译整理以后的文章,只选取了其中关于Tomcat 6的配置

介绍:http://labs.adobe.com/technologies/livecycle_dataservices2_6/

下载:http://labs.adobe.com/downloads/livecycle_dataservices2_6.html

在下载页面有以下的版本可以下载,以下载windows平台下的版本为例来说明

l Download Installer for Windows (EXE, 181 MB)

l Download Installer for Linux (BIN, 189 MB)

l Download Installer for Solaris (BIN, 192 MB)

l Download Installer for Java (JAR, 156 MB)

1 安装LiveCycle Data Services 2.6 Beta2

2 LiveCycle Data Services ES 和 Apache Tomcat 应用服务器的整合

3 在LiveCycle Data Services ES 和 Apache Tomcat 应用服务器的整合平台上运行TestDrive

4 LiveCycle Data Services ES 的JavaEE 应用(如果你下载的是jar包请看,否则跳过)

5 添加具体的服务器配置(以Tomcat为例)

以下是官方信息:

Download LiveCycle Data Services ES

To complete the trial download process, please use this trial serial number: 1306-4038-4494-1343-9848-7117.

  • LiveCycle Data Services ES, Single-CPU License (for production environments)
  • LiveCycle Data Services ES, Trial Developer License (1+ CPUs)

English | AIX (159 MB)
English | HP_UX (159 MB)
English | Linux (192 MB)
English | Solaris (196 MB)
English | Windows (185 MB)
System Requirements

1.安装LiveCycle Data Services 2.6 Beta2

adobe LiveCycle Data Service ES 就像 JavaEE Web 应用一样,每个安装都允许你从配置文件选择

* LiveCycle Data Services ES 与整合过的 Apache Tomcat 应用服务

* LiveCycle Data Services ES Web应用

LiveCycle Data Services ES 为一下的平台提供安装版

* Windows

* Linux

* Solaris

* Java(跨平台的安装版)

LiveCycle Data Services ES 支持以下服务器

* Apache Tomcat 6.0.x

* JBoss Application Server 4.0.3 SP1+, 4.2.x

* BEA Weblogic 9 and 10

* IBM WebSphere Application Server 6.1.x

* Fujitsu Interstage 9

* Hitachi Cosminexus 7

* NEC WebOTX

* Oracle 10G AS (10.1.3)

* SAP NetWeaver CE 7.1 SP3

* Adobe JRun 4 Updater 7

注意:LiveCycle Data Services ES 不包括任何Flex编译器,包含web层编译器在以前的版本中有包含。设置你的编译环境的信息,请看Setting up an SDK,compilers,and Flex builder for LiveCycle Services ES 2.6 。也请注意,你整合标准单独的LiveCycle Data Services ES server 和 ColdFusion. 更地盘的信息请看整合 LiveCycle Data Services ES 与 ColdFusion 8.

这些安装都指向根路径,install_root 指向的是你安装 LiveCycle Data Services ES 的根路径

这些安装包括以下web应用的存档(war)文件

* lcds.war 最重要的war文件,使用这个文件可以作为你建立Sample LiveCycle Data Services ES 应用的起点

* lcds-samples.war 简单的Sample LiveCycle Data Services ES 应用

* ds-console.war 对Sample LiveCycle Data Services ES 简单的监听应用程序

每个war文件都是分离的独立的应用。如果你想建立一个JavaEE 的web应用程序配置,你必须有一个现成的JavaEE应用服务器或者是可以解释web应用程序的Servlet容器。如果你没有一个现成的JavaEE 服务器或不熟悉war文件的部署,那么就使用整合过的Tomcat配置即可开始

2.LiveCycle Data Services ES 和 Apache Tomcat 应用服务器的整合

该LiveCycle Data Services ES 和集成的Apache Tomcat应用服务器

该LiveCycle Data Services ES 与集成的Tomcat安装选项包含下列文件和目录下安装的根目录:

readme.htm 包含概述信息

lcds.war LiveCycle Data Services ES web应用模板,为新的应用做新的起点.

lcds-samples.war  LiveCycle Data Services ES 实例应用.

ds-console.war 为 LiveCycle Data Services ES 简单的监听应用的部署.

license.txt 许可信息

/tomcat  一个安装的Apache Tomcat 包括 lcds, lcds-samples, 应用程序扩展部署的默认控制台

/resources 包括 Flex SDK 源代码, 全部注释配置文件, 用于security, clustering, Flex Ajax Bridge, 和 WSRP的目录和文件. Flash Player 的安装是在 flex_sdk_3.zip 文件里。

在集成的Tomcat配置上安装LiveCycle Data Services ES

1. 阅读LiveCycle Data Services ES 发布说明和最新的咨询

2. 启动安装程序。根据你的操作系统执行下列操作之一。

1) # Windows版本 -双击安装程序文件( l cds26- w in.exe) 。

2) # UNIX 或 Linux – 设定的工作目录到目录包含安装程序文件,然后输入以下命令并指定安装程序文件,为您的操作系统;

3) 例如:

4) ./lcds26-lin.bin -i console

3. 接受许可协议

4. 在序列号的界面,单击“下一步”跳过

5. 指定安装目录或者接受默认设置

6. 选择LiveCycle Data Services的Tomcat选项

7. 完成余下的步骤

8. 开始LiveCycle Data Services,请打开一个命令窗口,浏览到你的install_root/tomcat/bin ,并输入catalina 然后巧回车。对于Unix 和 Linux 输入.catalina。在windows下你可以浏览到install_root/tomcat/bin下,然后双击 catalina.bat 。

9. 该LiveCycle Data Services使用了HSQLDB hsqldb数据库是安装在Install_root/sampledb目录下。启动实例数据库:

1) 打开一个命令窗口并且转到Install_root/sampledb目录下

2) 运行startdb.bat(windows) 或者 startdb.sh(unix)

3.运行testdrive与集成的Tomcat安装

在这里有个安装好的tomcat6.0.14 与 LCDS,其中有很多测试驱动

1. 启动tomcat (startup.bat or starup.sh)

2. 打开浏览器http://localhost:8400/lcds-samples

4.LiveCycle Data Services ES 的JavaEE web应用

( 如果你下载的是jar包请看,否则跳过 )

以下是目录结构

readme.htm

lcds.war

lcds-samples.war

ds-console.war

license.txt

/resources

安装LiveCycle Data Services ES 的web应用程序

1. 阅读LiveCycle Data Services ES 发布说明和最新的咨询

2. 启动安装程序。根据你的操作系统执行下列操作之一。

1) # Windows版本 -双击安装程序文件( l cds26- w in.exe) 。

2) # UNIX 或 Linux – 设定的工作目录到目录包含安装程序文件,然后输入以下命令并指定安装程序文件,为您的操作系统;

3) 例如:

4) ./lcds26-lin.bin -i console

3. 接受许可协议

4. 在序列号的界面,单击“下一步”跳过

5. 指定安装目录或者接受默认设置

6. 选择LiveCycle Data Services的Tomcat选项

7. 完成余下的步骤

8. 开始LiveCycle Data Services,请打开一个命令窗口,浏览到你的install_root/tomcat/bin ,并输入catalina 然后巧回车。对于Unix 和 Linux 输入.catalina。在windows下你可以浏览到install_root/tomcat/bin下,然后双击 catalina.bat 。

9. 该LiveCycle Data Services使用了HSQLDB hsqldb数据库是安装在Install_root/sampledb目录下。启动实例数据库:

5) 打开一个命令窗口并且转到Install_root/sampledb目录下

6) 运行startdb.bat(windows) 或者 startdb.sh(unix)

10. 以J2EE web应用 被 Java installer (any platform)使用的样式安装

7) 阅读LiveCycle Data Services ES 发布说明和最新的咨询

8) 运行安装程序,打开命令提示符窗口,浏览到(lcds26-install.jar)的目录下,接着输入 java_home/bin/java -jar lcds26-install.jar -i console

9) 接着完成步骤3-9

5.添加具体的服务器配置

l Tomcat

l WebSphere

l Jboss

l OC4J

l Running_from_a_compressed_WAR

以下以tomcat为例子来说明

在使用LCDS和Tomcat之前,你必须安装Java Transaction API (JTA) 和你将来计划使用的部署之后的war文件。这些步骤对整合的tomcat安装来说不是必须的。

1. 停止 tomcat

2. 安装JTA,推荐俺使用Java Open Trasaction Manager(JOTM)

1) 下载jotm从http://jotm.objectweb.org/

2) 复制jar文件从jotm-root/lib 到[tomcat-root]/common/lib.

3) 建立一个context文件,使用Transaction标签为你的web应用程序注册一个JOTM 例如 :

<Contextdoc Base=”${catalina.home}/webapps/samples” privileged=”true” antiResourceLocking=”false” antiJARLocking=”false”>

<Transaction factory=”org.objectweb.jotm.UserTransactionFactory” jotm.timeout=”60″/>

</Context>

注意:如果已经存在此文件,哪么就在<context>下添加<Transaction>标签

4) 设置JVM最小内存为512M ,在java_opts 的值改为 -Xmx512m

3. (可选)使用自定义身份验证,

4. (可选)使用JMS中间件如ActiveMQ 或者 OpenJMS

5. 重新启动tomcat

官方使用注册码:
To complete the trial download process, please use this trial serial number: 1306-4038-4494-1343-9848-7117

以下是我收集的注册码:
LiveCycle Data Services注册码:
1306-4100-8708-9432-2243-5880
1306-4867-8501-8670-3893-7864

Popularity: 51% [?]

MSSQL优化之 1.3 存储架构之 页

2008年8月18日 admin 没有评论

数据库的页构成

SQL Server中的页是最基本的数据单位组成,他有8KB,也就是8192个字节(mssql7.0以前是一个页面2KB),而sql server的一个页面,由页头,数据行,和slot table组成(行偏移的位置的记录数组。

页头

页头是一个固定的96字节的大小,他是一个页面的元数据,记载与本页相关的许多信息,具体的参数,大家可以参看我很久以前写的一篇文章,SQL server数据页页头参数列表,这篇文章没有太细致的对参数进行讲解,我在这里仔细说一下:

PAGEID

页面的ID,在mssql中,唯一定位一行数据(包括索引)的,靠的是mssql里面的一个我把它称之为的三段式表达式:FPS ID,即 file id,page id,slot idFile ID 为文件ID,找到行所在的文件,pageID找到行所在的页面,slot ID为插槽ID,即这一行位于这个页面的第几个插槽。插槽的概念会在稍后提到。1:1:2表示这行数据位于第一个文件的第一个页面的第二个插槽。

Nextpage

这个参数在页面处于页面链的时候,指示这个页面的下一个页面地址,这个的表达格式是 fileidpageid,比如:12,请注意一下,这个页面指针并不是完全指向物理磁盘上的页面地址,因为外部碎片的存在!如果是堆表,那么这两个参数会是null

objID

sysobjects 表内的对应的ID

Lsn

Log sequence number ,日志序列号,他用来记录当这个页面行数据发生改变时的日志记录号,和此前版本的lsn,这个对于事务的管理非常重要,他将指示数据是否被回滚,或者被重做。

Slotcnt

页面插槽总数。也就是这个页面有多少行。一个萝卜一个坑,一行数据一个槽。

Level

在索引页中的级别,0为子叶节点。

Indexed

0为普通数据页面(堆表),1为聚集索引页面,大于1都为非聚集索引。

Pminlen

每行数据的固定长度,比如一行数据有3int字段,1char5的字段,2varchar字段,那么固定长度是17.这个参数在mssql定位字段数据时起到至关重要的作用。

freeCnt

页面空闲的字节数,在每次需要插入数据时就检测这个值,空间是否够用。

m_ghostRecCnt

页面含有的幻影行的数目。幻影行是sql server在删除数据时,并不及时删除数据,而是仅仅将他标记为幻影行,并不对磁盘中的数据进行清空。这样做有非常大的好处。如果数据回滚,那么只需要将标记去掉即可。数据库会在空闲的时候将页面进行整理,去掉幻影行,而没有必要即时性的整理页面。

Slot table

插槽表是用于记录行在页内的逻辑顺序和物理顺序的对应数组。比如逻辑上是第一行的数据可能在这个页面内是物理上位于第二行。而这个物理上的位置,指的是在这个页面的8KB的空间内的位置,slottable有记录行的逻辑顺序数,物理顺序数,还有相对页头的偏移量,以便数据查找定位。在这里衍生的一个问题就是,逻辑上的行顺序可能存储在磁盘上的物理顺序也不会是一个顺序!(当然还有可能页面存在lob数据,成为一个页指针)

猜想:Slottable实际上是对空间的一个利用,当然也涉及到了当数据行进行增删改查时,对页面的破坏,最后在设计上导入了slot table。假设一个场景,当一个页面全部被填充满了,freecnt0的时候,删除一个数据(页面存储100个数据,删除其中的第2个),那么如果根据正常的逻辑,应该是将2到第100行的数据全部移动,然后整理出末尾还剩一行的数据。这样现实吗?那样页面所有数据都要移动,似乎不大现实。所以mssql在设计上引入了slot table ,这样,物理上和逻辑上的顺序由slot table 映射起来,存储引擎负责向slot table 要数据位置,slot table负责映射其真正的物理位置,slottable在其中搭建起一个桥梁,降低了他们之间的耦合,使得当逻辑顺序发生变化的时候,物理位置却不需要相应的变化,哈哈,相信这个也是一个典型的设计上的解耦的例子吧~~

Popularity: 21% [?]