hp-ux创建lv实例

       
使用创建的Dog类来创建实例,例如创建一条名为’willie’、年龄为6的小狗。

         
创建一个名为Restaurant的类,其方法_init_()设置两个属性:restaurant_name和cuisine_type。创建一个名为describe_restaurant()的方法和一个名为open_restaurant()的方法,其中前者打印前述两项信息,而后者打印一条信息,指出餐馆正在营业。

using System;

创建和使用Vue实例,分为4部:

 

代码如下:

图片 1

namespace Demo.Data
{
public class DatabaseProvider
{
private static IDataProvider _instance = null;
private static object lockHelper = new object();

第1步 创建语法

<script>
      let vm = new Vue({});
</script>

释:给Vue( )传了一个参数选项,是一个空对象;

  1. vgdisplay查看卷组

图片 2

创建Restaurant类

private DatabaseProvider()
{
}

第2步 设置数据

 let vm = new Vue({
     //实例vm的数据
   data:{
     name: "hiddensmile",
     sex : "女"
     }
  });

释:参数对象不再是一个空对象,它包含一个属性:data,而data的值也是一个对象,这个对象就是我们给实例vm设置的数据了。比如:name为hiddensmile,sex为女等等。

 

     
运行时报错,查阅资料后发现是代码第6行构造函数里的下划线问题,_int_(self,name,age)这个构造函数左右下划线都是两个,我只用了一个,导致报错。正确是:

图片 3

static DatabaseProvider()
{
GetProvider();
}

第3步 挂载元素(怎么把数据展示在视图上呢? 通过挂载元素)

[[email protected]:/]#
vgdisplay

图片 4

创建实例restaurant_1

//创建IDataProvider实例
private static void GetProvider()
{
try
{
var s =
Type.GetType(“Demo.Data.SqlServer.DataProvider,Demo.Data.SqlServer”);
_instance =
(IDataProvider)Activator.CreateInstance(Type.GetType(string.Format(“Demo.Data.{0}.DataProvider,
Demo.Data.{0}”, “SqlServer”), false, true));
}
catch (Exception exp)
{
throw new Exception(exp.Message);
}
}

视图view部分:
<div id="app"></div>

— Volume groups —

修改后:

图片 5

public static IDataProvider Instance()
{
if (_instance == null)
{
lock (lockHelper)
{
if (_instance == null)
{
GetProvider();
}
}
}
return _instance;
}

视图(html部分)上我们有一个id为“app”的div元素。
let vm=new Vue({
   //挂载元素
   el:'#app',
   //实例vm的数据
   data:{
      name:"hiddensmile",
      sex:"女"
    }
 })

释:不但有属性“data”,还多了个属性:“el”,el参数提供一个在页面上已经存在的DOM元素,作为vm的挂载目标。表示vm和id为“app”的DOM节点就关联起来了;

VG Name                     /dev/vg00

1、访问属性,使用句点表示法

代码运行结果

public static void ResetDbProvider()
{
_instance = null;
}
}
}

第4步 渲染(把vm的数据绑定到指定的视图上)

<div id="app">
   我是{{ name }},
   是{{sex}}性
</div>

释:需要用一个双大括号:{{ }} 即可,{{ name }} 和 {{ sex}}
就是我们给实例vm设置的数据name和sex,我们用{{ }}可以直接读取到它们的值;

图片 6

数据渲染成功

VG Write Access             read/write     

my_dog.name

using System.Data;
using System.Data.SqlClient;

总结一下:创建并使用一个Vue实例并不难,仅需4步走:

图片 7

创建Vue实例步骤

VG Status                   available                 

     
我们通常默认首字母大写的名称(如Dog)指的是类,小写名称(如my_dog)指根据类创建的实例。

namespace Demo.Data.SqlServer
{
public partial class DataProvider : IDataProvider
{

Max LV                      255    

图片 8

//这个类必须实现IDataProvider接口

Cur LV                      8      

访问属性

}
}

Open LV                     8      

2、调用方法


Max PV                      16     

      可以使用句点表示法调用Dog类中定义的任何方法

百度的解释,还是看不懂啊,还会出错有没有大佬帮我看看的。

Cur PV                      3      

调用方法:实例名称 .要调用的方法


Act PV                      3      

比如:my_dog.sit()和my_dog.roll_over

生成dll为Music.Data.SqlServer.dll

如果还有其他数据库访问途径,类似方法
建其他的类库
配置文件中写上Access/SqlServer或者其他,
要和你的命名空间保持一致。因为反射时是根据命名空间+类名的方式创建对象的,如代码中的:
Type.GetType(string.Format("Music.Data.{0}.DataProvider,Music.Data.{0}", Configs.GetDbType)
里面的字符串就是你要创建的类的完整名字:
格式为:
Type.GetType("类完整名,程序集名");

类完整名=命名空间名+类名

下面的方法:
IDataProvider GetInstance() 
就是使用单件模式,获取一个IDataProvider
里面使用了锁,防止多线程同时进行时冲突,这里面进行了判断,如果_instance为空就用上面的函数创建一个新的,然后返回。

最后一个方法是释放对象。

有时间去网上搜点反射方面的例子,单件模式应该很容易看懂的,就是用一个静态私有变量,只保持一个实例对象_instance存在。
建议研究一下PetShop源代码,然后关于三层和反射工厂就会有一个新的认识。

Max PE per PV               4350         

图片 9

 

VGDA                        6   

调用方法

PE Size (Mbytes)            8               

3、创建多个实例

Total PE                    13020   

再创建一个名为your_dog实例

Alloc PE                    12825   

图片 10

Free PE                     195     

创建多个实例

Total PVG                   0        

Total Spare PVs             0              

Total Spare PVs in use      0                    

VG Name                     /dev/vg_jc

VG Write Access             read/write     

VG Status                   available                 

Max LV                      255    

Cur LV                      24     

Open LV                     24     

Max PV                      16     

Cur PV                      2      

Act PV                      2      

Max PE per PV               1600         

VGDA                        4   

PE Size (Mbytes)            128             

Total PE                    2398    

Alloc PE                    1929    

Free PE                     469     

Total PVG                   0        

Total Spare PVs             0              

Total Spare PVs in use      0                    

 

  1.  在vg00卷组中  创建  一个10M的 名字 为xyy的逻辑卷

 

[[email protected]:/]#
lvcreate -L 10  -n xyy /dev/vg00/xyy

lvcreate: Volume group “/dev/vg00/xyy” does not exist in the
“/etc/lvmtab” file.

[[email protected]:/]#
lvcreate -L 10  -n xyy /dev/vg00

Warning: rounding up logical volume size to extent boundary at size “16”
MB.

Logical volume “/dev/vg00/xyy” has been successfully created with

character device “/dev/vg00/rxyy”.

Logical volume “/dev/vg00/xyy” has been successfully extended.

Volume Group configuration for /dev/vg00 has been saved in
/etc/lvmconf/vg00.conf

 

3.查看是否存在 xyy  逻辑卷

 

[[email protected]:/]#
lvdisplay  /dev/vg00/xyy

— Logical volumes —

LV Name                     /dev/vg00/xyy

VG Name                     /dev/vg00

LV Permission               read/write   

LV Status                   available/syncd           

Mirror copies               0            

Consistency Recovery        MWC                 

Schedule                    parallel     

LV Size (Mbytes)            16              

Current LE                  2         

Allocated PE                2           

Stripes                     0       

Stripe Size (Kbytes)        0                   

Bad block                   on           

Allocation                  strict                    

IO Timeout (Seconds)        default      

 

 

4.为  /dev/vg00/xyy 逻辑卷 创建文件系统

newfs -F vxfs /dev/vg00/rxyy

 

  1. mkdir /xyy    //创建一个挂载点

 

  1. mount   /dev/vg00/xyy         /xyy                          
    //挂载新创建的文件系统

 

7.bdf                   //进行查看

[[email protected]:/]#
bdf

Filesystem          kbytes    used   avail %used Mounted on

/dev/vg00/lvol3    2048000  513552 1522760   25% /

/dev/vg00/lvol1     497584   74360  373464   17% /stand

/dev/vg00/lvol8    3072000 1020760 2035576   33% /var

/dev/vg00/lvol7    5120000 1685792 3407448   33% /usr

/dev/vg00/lvol6    3072000  406376 2645760   13% /tmp

/dev/vg00/lvol5    12288000 7919968 4343296   65% /opt

/dev/vg00/lvol4     516096   15544  496712    3% /home

/dev/vg00/xyy        16384    1117   14320    7% /xyy

[[email protected]:/]#

 

8.umount     /xyy           //取消挂载

 

  1. lvremove   /dev/vg00/xyy       //删除   /dev/vg00/xyy 逻辑卷

 

[[email protected]:/]#
lvremove  /dev/vg00/xyy

The logical volume “/dev/vg00/xyy” is not empty;

do you really want to delete the logical volume (y/n) : y

Logical volume “/dev/vg00/xyy” has been successfully removed.

Volume Group configuration for /dev/vg00 has been saved in
/etc/lvmconf/vg00.conf

 

10.
 [[email protected]:/]#
lvdisplay /dev/vg00/xyy

lvdisplay: “/dev/vg00/xyy”: No such file or directory                  
               

//发现已经不存在了
 

1. vgdisplay查看卷组
[[email protected]:/]#
vgdisplay — Volume groups — VG Name /dev/vg00 VG Write Access
read/write VG Status available Max LV 255 Cur LV 8 O…

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图