好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

Atitit.各种 数据类型 ( 树形结构,表形数据 ) 的结构与存储数据库 attilax

(  树形结构 , 表形数据   )  的结构与存储数据库  attilax   总结

 

1. 数据结构( 树形结构, 表形数据,对象结构 ) 1

2. 编程语言中对应的数据结构  java c# php ( Dic/Map      List    datatable ) 1

3. 数据库存储数据  1

4. 数据的表形显示( 多条记录 与单条记录 ) 2

5. ASP.NET 数据控件:GridView,DataList,Repeater ,DetailsView,FormView。 2

6. 树形数据常见的操作 2

6.1. 获取所有子节点 2

7. Java   操作注册表 2

7.1. 使用 Preferences API  (限定访问路径了) 2

7.2. 使用 JNI 4

7.3. Jregistrykey  推荐 4

7.4. Jregistry 4

 

1. 数据结构(  树形结构 , 表形数据,对象结构 )

 

2.  编程语言中对应的数据结构  java c# php ( Dic/Map      List    datatable )

 

 

作者 ::  老哇的爪子  Attilax  艾龙,   EMAIL:1466519819@qq.com

转载请注明来源:   http://blog.csdn.net/attilax

 

3.   数据库存储数据 

表形数据当然适合 常见的关系型数据库了。。

树形数据库(层次数据库ldap ,,, 注册表  ) ,树形数据库可以使用LDAP来访问,相当于rmdb的sql

面向对象数据库   db4o

 

 

 

4. 数据的表形显示( 多条记录 与单条记录 )

 

 

 

 

5. ASP.NET 数据控件:GridView,DataList,Repeater ,DetailsView,FormView。

 
ASP.NET 数据控件综述: 
1.前3个用于呈现多条记录,后面2个用于呈现单条数据明细,即常用的记录明细。 
2.GridView和DetailsView控件的布局固定,自定义数据显示的布局功能有限,一般适合布局简单的

数据呈现。3.DataList,Repeater和FormView数据控件都有很强的自定义布局能力,如果数据呈现

需要较为复杂的布局方案,这3个控件是首选。

 

 

6. 树形数据常见的操作

6.1. 获取所有子节点

 

 

7. Java  操作注册表

7.1. 使用 Preferences API  (限定访问路径了)

由于java程序是“write once, run everywhere”,用java读写注册表,那程序的跨平台性就差了。java对注册表的操作,在jdk1.4以前的版本中,那是不可能的,只能用 JNI来实现;然而jdk1.4之后提供的prefs包可以操作windows注册表,不过定死了root只在SOFTWARE/JavaSoft /prefs下,估计也是出于这种两难吧,又要保证所谓平台无关,还要照顾大家对windows的依赖

。而  JDK  提供操作  Windows  的  API  也就是  Preferences ,因为这个  API  也是跨平台的,所功能比较弱,在  Win32  下只能用来操作  HKCU\Software\JavaSoft  和  HKLM\Software\JavaSoft  下及子节点的数据。

自由访问注册表其他键的值光用  Java  是做不到的,必然方案就是  JNI ,

 

Preferences API 并不是为访问 Windows 注册表而设计的,这是值得指出的一点。

我们之所以会有上面的误解是由于 Sun 的 Windows 版本的 JDK 在实现 Preferences API 时使用了 Windows 注册表作为存储库,即我们用 Preferences API 存储的数据会保存到 Windows 注册表中,这样 Preferenes API 也就有了访问 Windows 注册表的能力。但是换到其它的平台或其它厂商的 JDK 实现又会怎么样呢?这个问题是和 Preferences API 的实现相关的,我们没有办法回答。 

如果程序不关心存储库的细节,只是要找一个存放数据的地方,那么 Preferences API 很合适。

Preferences API 也是有局限的,请您考虑两个问题: 

· 一个 Java 软件,这次我在 Sun 的 JDK 上运行并使用 Preferences API 保存了我的个人喜好,下次我在 IBM 的 JDK 上运行,这时我的个人喜好还可以通过 Preferences API 得到吗?可能可以也可能不可以,这时的行为是由 Sun 和 IBM 的 Preferences API 实现决定的。(在相同的 JDK 实现上可以使用 Preferences API 来在不同的程序间共享数据) 

· 一个 Java 软件需要让用户设置是否和操作系统一起启动,类似的需求还很多。这类需求就是要求 Java 程序有真正的和相关操作系统协同的能力。这种能力不是 Preferences API 的设计目标。 

java读写注册表需要用到两种方式:
1. java.util.prefs.* 中的包
   其中 Preferences.systemRoot() 得到的是 HKEY_LOCAL_MACHINE/Software/JavaSoft/prefs 可以在此位置之下方便的进行注册表的        读写
   Preferences.userRoot() 得到的是 HKEY_LOCAL_USER/Software/JavaSoft/prefs,可以在此位置下进行注册表

但是对其他
   位置操作就不方便。
   示例代码:
   import java.util.prefs.*;   
   public class Registery {   
     String[] keys = {"aaa", "bbb", "ccc"};   
     String[] values = {"1", "2", "3"};   
     //把相应的值储存到变量中去   
    public void writeValue() {   
     // HKEY_LOCAL_MACHINE/Software/JavaSoft/prefs下写入注册表值.   
        Preferences pre = Preferences.systemRoot().node("/javaplayer");   
        for (int i = 0; i < keys.length; i++) {   
            pre.put(keys, values);   
        }   
    }   
    public static void main(String[] args) {   
        Registery reg = new Registery();   
        reg.writeValue();   
    }   
  }  
  执行代码的结果会在 HKEY_LOCAL_MACHINE/Software/JavaSoft/prefs/javaplayer 位置插入三个键值

7.2. 使用 JNI

Windows 操作系统提供了操作注册表的 API ,因此用 JNI 将 Java 和这些 API 连接起来我们就获得了用 Java 操作注册表的能力。这说起来有些简单,实现起来却需要处理大量的细节。幸运的是这样的工作已经有人做了,我们要感谢他们。下面我们就来看看其中的一个包。

com.ice.jni.registry 包是通过 JNI(Java native interface) 实现的 Windows 注册表操作 API ,可以用来访问、修改和导出 Windows 注册表。现在这个包已经公开了,可以放心的使用而不 必担心 license 的问题,并且包括一个构建好的 DLL 和 Java 、 C 的源代码。它可以在 Java 1.1 和更高的版本上工作。 

 

2. 开源读写注册表的库 registry-3.1.3 主页地址: http://www.trustice.com/java/jnireg/index.shtml
   下载后需要将ICE_JNIRegistry.dll放到目前正在用的 jdk的bin目录下

7.3. Jregistrykey 推荐

7.4. Jregistry 

 jRegistry通过JNI技术来访问WINDOWS注册表API。

 

 

Atitit.各种 数据类型 ( 树形结构,表形数据 ) 的结构与存储数据库 attilax 总结

标签:

查看更多关于Atitit.各种 数据类型 ( 树形结构,表形数据 ) 的结构与存储数据库 attilax的详细内容...

  阅读:24次