A. android中有几种布局技术,各自优缺点
在4.0以前版本中一共有五种布局,都是ViewGroup的子类。分别是AbsoluteLayout、RelativeLayout、LinearLayout、FrameLayout、TableLayout。而TableLayout是LinearLayout的子类。(中文分别是:绝对布局、相对布局、线性布局念弊敏、帧布局、表格布局)。
在2.2作业系统中将AbsoluteLayout过期。而目前FrameLayout、TableLayout也逐渐少用。
在4.0之后又新增GridLayout。(GridLayout最经典的案例是计算器接口)
总之,Android中一共有六种布局。目前推荐使用RelativeLayout、LinearLayout、GridLayout三种布局。
一般简单的布局就用LinearLayout,复杂点的用RelativeLayout(可以防止多层巢状),像FrameLayout,里面的控制元件是重叠的,AbsoluteLayout里面控制元件位置是绝对的,在萤幕适配方面就不行了。
xml布局简单,推荐使用;程式码布局可以实现更丰富的功能。
具体使用根据你自己专案的需求来选择。
RAID是“Rendant Array of Independent Disk”的缩写,中文意思是独立冗余磁盘阵列。
主要包含RAID 0~RAID 7等数个规范,它们的侧重点各不相同,常见的规范有如下几种:
RAID 0:无差错控制的带区组
要实现RAID0必须要有两个以上硬盘驱动器,RAID0实现了带区组,资料并不是储存在一个硬盘上,而是分成资料块储存在不同驱动器上。因为将资料分布在不同驱动器上,所以资料吞吐率大大提高,驱动器的负载也比较平衡。如果刚好所需要的资料在不同的驱动器上效率最好。它不需要计算校验码,实现容易。它的缺点是它没有资料差错控制,如果一个驱动器中的资料发生错误,即使其它盘上的资料正确也无济于事了。不应该将它用于对资料稳定性要求高的场合。如果使用者进卜派行图象(包括动画)编辑和其它要求传输比较大的场合使用RAID0比较合适。同时,RAID可以提高资料传输速率,比如所需读取的档案分布在两个硬盘上,这两个硬盘可以同时读取。那么原来读取同样档案的时间被缩短为1/2。在所有的级别中,RAID 0的速度是最快的。但是RAID 0没有冗余功能的,如果一个磁盘(物理)损坏,则所有的资料都无法使用。
RAID 1:镜象结构
raid1对于使用这种RAID1结构的装置来说,RAID控制器必须能够同时对两个盘进行读操作和对两个镜象盘进行写操作。通过下面的结构图您也可以看到必须有两个驱动器。因为是镜象结构在一组盘出现问题时,可以使用镜象,提高系统的容错能力。它比较容易设计和实现。每读一次盘只能读出一块资料,也就是说资料块传送速率与单独的盘的读取速率相同。因为RAID1的校验十分完备,因此对系统的处理能力有很大的影响,通常的RAID功能由软体实现,而这样的实现方法在服务器负载比较重的时候会大大影响服务器效率。当您的系统需要极高的可靠性时,如进行资料统计,那么使用RAID1比较合适。而且RAID1技术支援“热替换”,即不断电的情况下对故障磁盘进行更换,更换完毕只要从映象盘上恢复资料即可。当主仔枝硬盘损坏时,映象硬盘就可以代替主硬盘工作。映象硬盘相当于一个备份盘,可想而知,这种硬盘模式的安全性是非常高的,RAID 1的资料安全性在所有的RAID级别上来说是最好的。但是其磁盘的利用率却只有50%,是所有RAID级别中最低的。
RAID2:带海明码校验
从概念上讲,RAID 2 同RAID 3类似,两者都是将资料条块化分布于不同的硬盘上, 条块单位为位或字 节。然而RAID 2 使用一定的编码技术来提供错误检查及恢复。这种编码技术需要多个磁盘存放检查及恢复资讯,使得RAID 2技术实施更复杂。因此,在商业环境中很少使用。下图右边的各个磁盘上是资料的各个位,由一个数据不同的位运算得到的海明校验码可以储存另一组磁盘上,具体情况请见下图。由于海明码的特点,它可以在资料发生错误的情况下将错误校正,以保证输出的正确。它的资料传送速率相当高,如果希望达到比较理想的速度,那最好提高储存校验码ECC码的硬盘,对于控制器的设计来说,它又比RAID3,4或5要简单。没有免费的午餐,这里也一样,要利用海明码,必须要付出资料冗余的代价。输出资料的速率与驱动器组中速度最慢的相等。
RAID3:带奇偶校验码的并行传送
raid3这种校验码与RAID2不同,只能查错不能纠错。它访问资料时一次处理一个带区,这样可以提高读取和写入速度,它像RAID 0一样以并行的方式来存放资料,但速度没有RAID 0快。校验码在写入资料时产生并储存在另一个磁盘上。需要实现时使用者必须要有三个以上的驱动器,写入速率与读出速率都很高,因为校验位比较少,因此计算时间相对而言比较少。用软体实现RAID控制将是十分困难的,控制器的实现也不是很容易。它主要用于图形(包括动画)等要求吞吐率比较高的场合。不同于RAID 2,RAID 3使用单块磁盘存放奇偶校验资讯。如果一块磁盘失效,奇偶盘及其他资料盘可以重新产生资料。如果奇偶盘失效,则不影响资料使用。RAID 3对于大量的连续资料可提供很好的传输率,但对于随机资料,奇偶盘会成为写操作的瓶颈。利用单独的校验盘来保护资料虽然没有映象的安全性高,但是硬盘利用率得到了很大的提高,为(n-1)/n。
RAID4:带奇偶校验码的独立磁盘结构
raid4RAID4和RAID3很像,不同的是,它对资料的访问是按资料块进行的,也就是按磁盘进行的,每次是一个盘。在图上可以这么看,RAID3是一次一横条,而RAID4一次一竖条。它的特点和RAID3也挺像,不过在失败恢复时,它的难度可要比RAID3大得多了,控制器的设计难度也要大许多,而且访问资料的效率不怎么好。
RAID5:分散式奇偶校验的独立磁盘结构
RAID5清晰图片从它的示意图上可以看到,它的奇偶校验码存在于所有磁盘上,其中的p0代表第0带区的奇偶校验值,其它的意思也相同。RAID5的读出效率很高,写入效率一般,块式的集体访问效率不错。因为奇偶校验码在不同的磁盘上,所以提高了可靠性,允许单个磁盘出错。RAID 5也是以资料的校验位来保证资料的安全,但它不是以单独硬盘来存放资料的校验位,而是将资料段的校验位互动存放于各个硬盘上。这样,任何一个硬盘损坏,都可以根据其它硬盘上的校验位来重建损坏的资料。硬盘的利用率为n-1。但是它对资料传输的并行性解决不好,而且控制器的设计也相当困难。RAID 3 与RAID 5相比,重要的区别在于RAID 3每进行一次资料传输,需涉及到所有的阵列盘。而对于RAID 5来说,大部分资料传输只对一块磁盘操作,可进行并行操作。在RAID 5中有“写损失”,即每一次写操作,将产生四个实际的读/写操作,其中两次读旧的资料及奇偶资讯,两次写新的资料及奇偶资讯。RAID-5的话,优点是提供了冗余性(支援一块盘掉线后仍然正常执行),磁盘空间利用率较高(N-1/N),读写速度较快(N-1倍)。RAID5最大的好处是在一块盘掉线的情况下,RAID照常工作,相对于RAID0必须每一块盘都正常才可以正常工作的状况容错效能好多了。因此RAID5是RAID级别中最常见的一个型别。RAID5校验位即P位是通过其它条带资料做异或(xor)求得的。计算公式为P=D0xorD1xorD2…xorDn,其中p代表校验块,Dn代表相应的资料块,xor是数学运算子号异或。
RAID5校验位演算法详解
P=D1 xor D2 xor D3 … xor Dn (D1,D2,D3 …Dn为资料块,P为校验,xor为异或运算)
XOR(Exclusive OR)的校验原理如下表:
A值 B值 Xor结果
0 0 0
1 0 1
0 1 1
1 1 0
这里的A与B值就代表了两个位,从中可以发现,A与B一样时,XOR(非或又称"非异或")结果为0,A与B不一样时,XOR结果就是1,如果知道XOR结果,A和B中的任何两个数值,就可以反推出剩下的一个数值。比如A为1,XOR结果为1,那么B肯定为0,如果XOR结果为0,那么B肯定为1。这就是XOR编码与校验的基本原理。
RAID6:两种储存的奇偶校验码的磁盘结构
raid6名字很长,但是如果看到图,大家立刻会明白是为什么,请注意p0代表第0带区的奇偶校验值,而pA代表资料块A的奇偶校验值。它是对RAID5的扩充套件,主要是用于要求资料绝对不能出错的场合。当然了,由于引入了第二种奇偶校验值,所以需要N+2个磁盘,同时对控制器的设计变得十分复杂,写入速度也不好,用于计算奇偶校验值和验证资料正确性所花费的时间比较多,造成了不必须的负载。我想除了军队没有人用得起这种东西。
常见的RAID6组建型别RAID 6(6D + 2P)
1 RAID 6(6D + 2P)原理
和RAID 5相似,RAID 6(6D + 2P)根据条带化的资料生成校验资讯,条带化资料和校验资料一起分散储存到RAID组的各个磁盘上。在图1中,D0,D1,D2,D3,D4和D5是条带化的资料,P代表校验资料,Q是第二份校验资料。
RAID 6(6D + 2P)根据条带化的资料生成校验资讯,条带化资料和校验资料一起分散储存到RAID组的各个磁盘上
RAID 6校验资料生成公式(P和Q):
P的生成用了异或
P = D0 XOR D1 XOR D2 XOR D3 XOR D4 XOR D5
Q的生成用了系数和异或
Q = A0*D0 XOR A1*D1 XOR A2*D2 XOR A3*D3 XOR A4*D4 XOR A5*D5
D0~D5:条带化资料
A0~A5:系数
XOR:异或
*:乘
在RAID 6中,当有1块磁盘出故障的时候,利用公式1恢复资料,这个过程是和RAID 5一样的。而当有2块磁盘同时出故障的时候,就需要同时用公式1和公式2来恢复资料了。
各系数A0~A5是线性无关的系数,在D0,D1,D2,D3,D4,D5,P,Q中有两个未知数的情况下,也可以联列求解两个方程得出两个未知数的值。这样在一个RAID组中有两块磁盘同时坏的情况下,也可以恢复资料。
上面描述的是校验资料生成的算法。其实RAID 6的核心就是有两份检验资料,以保证两块磁盘同时出故障的时候,也能保障资料的安全。
RAID7:优化的高速资料传送磁盘结构
RAID7所有的I/O传送均是同步进行的,可以分别控制,这样提高了系统的并行性,提高系统访问资料的速度;每个磁盘都带有高速缓冲储存器,实时作业系统可以使用任何实时操作晶片,达到不同实时系统的需要。允许使用SNMP协议进行管理和监视,可以对校验区指定独立的传送通道以提高效率。可以连线多台主机,因为加入高速缓冲储存器,当多使用者访问系统时,访问时间几乎接近于0。由于采用并行结构,因此资料访问效率大大提高。需要注意的是它引入了一个高速缓冲储存器,这有利有弊,因为一旦系统断电,在高速缓冲储存器内的资料就会全部丢失,因此需要和UPS一起工作。当然了,这么快的东西,价格也非常昂贵。
RAID10/01:高可靠性与高效磁盘结构
这种结构无非是一个带区结构加一个镜象结构,因为两种结构各有优缺点,因此可以相互补充,达到既高效又高速还可以互为映象的目的。大家可以结合两种结构的优点和缺点来理解这种新结构。这种新结构的价格高,可扩充性不好。主要用于容量不大,但要求速度和差错控制的资料库中。
其中可分为两种组合:RAID10和RAID01
RAID 10是先镜射再分割槽资料。是将所有硬盘分为两组,视为是RAID 0的最低组合,然后将这两组各自视为RAID 1运作。RAID 10有着不错的读取速度,而且拥有比RAID 0更高的资料保护性。
RAID 01则是跟RAID 10的程式相反,是先分割槽再将资料镜射到两组硬盘。它将所有的硬盘分为两组,变成RAID 1的最低组合,而将两组硬盘各自视为RAID 0运作。RAID 01比起RAID 10有着更快的读写速度,不过也多了一些会让整个硬盘组停止运转的机率;因为只要同一组的硬盘全部损毁,RAID 01就会停止运作,而RAID 10则可以在牺牲RAID 0的优势下正常运作。
RAID 10巧妙的利用了RAID 0的速度以及RAID 1的保护两种特性,不过它的缺点是需要的硬盘数较多,因为至少必须拥有四个以上的偶数硬盘才能使用。
RAID 50:被称为分布奇偶位阵列条带
同RAID 10相仿的,它具有RAID 5和RAID 0的共同特性。它由两组RAID 5磁盘组成(每组最少3个),每一组都使用了分散式奇偶位,而两组硬盘再组建成RAID 0,实验跨磁盘抽取资料。RAID 50提供可靠的资料储存和优秀的整体效能,并支援更大的卷尺寸。即使两个物理磁盘发生故障(每个阵列中一个),资料也可以顺利恢复过来。
RAID 50最少需要6个驱动器,它最适合需要高可靠性储存、高读取速度、高资料传输效能的应用。这些应用包括事务处理和有许多使用者存取小档案的办公应用程式。
RAID 53:称为高效资料传送磁盘结构
结构的实施同Level 0资料条阵列,其中,每一段都是一个RAID 3阵列。它的冗余与容错能力同RAID 3。这对需要具有高资料传输率的RAID 3配置的系统有益,但是它价格昂贵、效率偏低。
RAID 1.5:一个新生的磁盘阵列方式
它具有RAID 0+1的特性,而不同的是,它的实现只需要2个硬盘。
从表面上来看,组建RAID 1.5后的磁盘,两个都具有相同的资料。当然,RAID 1.5也是一种不能完全利用磁盘空间的磁盘阵列模式,因此,两个80GB的硬盘在组建RAID 1.5后,和RAID 1是一样的,即只有80GB的实际使用空间,另外80GB是它的备份资料。如果把两个硬盘分开,分别把他们执行在原系统,也是畅通无阻的。但通过实际应用,我们发现如果两个硬盘在分开执行后,其资料的轻微改变都会引起再次重组后的磁盘阵列,没法实现完全的资料恢复,而是以资料较少的磁盘为准。
:ke../view/7102.htm
一是基于端口的静态vlan,一是基于mac地址的动态vlan,
布局最好是根据电路的原理先把元器件布局好,布线的话,数位电路用自动布线加手工调整,也可以先把关键的部分手工布好,再自动走其他的线,最后手工调整,类比电路、高频电路都是需要手工布线的 自动的快,手动的是合理
一般是先自动后再用手动更改自动布线效率高,手工布线更合理
air sole:元祖级气垫,厚1/2英寸,具有一定减震力现在常常用于入门级球鞋中。分为内建和外接。
zoom air:在一个较薄的气垫中加入立体织物,以增强其弹性,多用于前掌内建,以增加启动速度。
zoom cage:zoom air的加大版本,在强调弹性的同时加强了缓震性,但是由于设计因素,因此外部基本上加上龙骨作为支撑。多用于跑鞋。
air max:气体容量大,缓震效果一流,内部分隔为不同气室,气压不同,以增强稳定性。多用于中锋鞋或者后掌。脚感较硬,沉重。
total max:理解为巨型max就可以了。
tuned air:一种非常好的气垫,内部半圆形球体可以调节气压,缓震效果一流,但是成本太高,已经几乎绝迹,但是有的跑鞋上貌似还有使用的说。
shox:工程橡胶一体铸成的圆柱体结构,机械缓震体系,依赖形变来缓冲并反弹,目前唯一经过证实可以提高弹跳的科技。
impax:另外一种机械缓震系统,依靠拱形结构在运动中的形变来吸收冲击力。实际应用效果远不如理论效果,缓震较差,硬。
i.p.s:jordan系列自主研发的最新科技,根据运动中足底受力点来安置不同密度的phylon柱来提供缓震,用于jordan鞋。
phylon:就是你看见的nike的鞋子的白色鞋底
单提马:中路防守薄弱 可以起横车在六路和四路加强中路防与攻 注意对手一般会从中路进攻 比如盘头马。 窝心炮:炮窝心不宜太久,如果出不去了会造成麻烦 一般是为了强行吃对方中路的兵或进五路兵。 巡河车:对掉兵卒,活马路,并且保马,要注意如果你是车 马 兵这样的位置,对方进炮拴住你车和马 那就相当麻烦了,所以进巡河车一定注意对方的炮。 夹炮屏风:炮在士角的位置 然后上两个正马,一般走成士角炮 和 过宫炮 局,灵活运用炮,攻守兼备。但要注意对方会出车骚扰你的阵型 特别是没有跟的马。 仙人指路:第一步走三路或七路兵,应付对仙人指路有同样进兵卒,有顽强凶狠的直接运炮打兵。所以要看对方怎么走,这种开局比较考棋力。初学者一般不建议走。 飞相局:首着飞相,比较注重防守,可以走成很多布局。。
一般的分旱秧和水秧,这个前期秧苗耐旱点且工作简单一些,但是浪费种子多一点秧苗没有水秧苗好。至于很详细的东西就不好说了。
动态布局,也就是可以根据业务的需求改变接口。实际上就是用程式码写出接口,程式码量比较大。而且维护起来十分的繁琐。特别是一些接口空间比较多的时候。静态的布局,是通过xml来实现的,适用于页面比较固定的情况。但是维护起来比较方便。
喷墨印表机优点:整机价格相对彩色镭射机便宜,较低的一次性购买成本获得彩色照片级输出的效果,缺点:使用耗材为墨盒,成本较高,长时间不用容易堵头;
镭射印表机优点:耗材单张打印成本低,耗材为墨粉,长时间不用也不用担心堵头的问题,打印速度快,高阶产品可以满足高负荷企业级输出以及图文输出,缺点:中低端彩激的彩色打印效果不如喷墨机,可使用的打印介质较少;
针式印表机优点:可以复写打印(发票及多联单据),可以超厚打印(存折证书打印),耗材为色带,耗材成本低,缺点:工作噪音大,体积不可能缩小,打印精度不如喷墨及镭射机。
B. 安卓的布局
安卓的布局就是以下六大基本布局
线性布局
线性布局在开发中使用最多,具有垂直方向与水平方向的布局方式,通过设置属性“android:orientation”控制方向,属性值垂直(vertical)和水平(horizontal),默认水平方向。
相对布局可以让子控件相对于兄弟控件或父控件进行布局,可以设置子控件相对于兄弟控件或父控件进行上下左右对齐。
FrameLayout
帧布局或叫层布局,从屏幕左上角按照层次堆叠方式布局,后面的控件覆盖前面的控件。
绝对布局中将所有的子元素通过设置android:layout_x 和 android:layout_y属性,将子元素的坐标位置固定下来,即坐标(android:layout_x, android:layout_y) ,layout_x用来表示横坐标,layout_y用来表示纵坐标。屏幕左上角为坐标(0,0),横向往右为正方,纵向往下为正方。实际应用中,这种布局用的比较少,因为Android终端一般机型比较多,各自的屏幕大小。分辨率等可能都不一样,如果用绝对布局,可能导致在有的终端上显示不全等。
TableLayout
表格布局,适用于多行多列的布局格式,每个TableLayout是由多个TableRow组成,一个TableRow就表示TableLayout中的每一行,这一行可以由多个子元素组弊判成。
GridLayout(网格布明乎局)
作为android 4.0 后新增的一个布局,与前面介绍过的TableLayout(表格布局)其实有租槐改点大同小异;
C. Android的五大布局
1.RelativeLayout 相对布局
2. LinearLayout 线性布局
3. FrameLayout 帧布局
4.TableLayout 表格布局 (被GridView代替)
5.AbsoluteLayoutf 绝对布局(已经被谷歌废弃,几乎不会用到)
相对布局RelativeLayout允许子元素指定它们相对于其父元素或兄弟元素的位置,这是实际布局中最常用的布局方式之一。
特点:相对于其他空间的位置,和相对父元素的位置进行布局;
layout_centerHorizontal(相当于父节点是水平居中)
layout_centerVertical(相当于父节点是垂直居中)
layout_centerInParent(相当于父节点在正中间)
layout_above(在XX之上)
layout_below(在XX之下)
layout_toLeft(在XX的左边)
layout_toRight(在XX的右边)
layout_alignParentTop(和父节点的顶部或中穗对齐)
layout_alignParentBottom(和衫卜父节点的底部对齐)
layout_alignParentLeft(和父节点的左边对齐)
layout_alignParentRight(和父节点的右边对齐)
layout_alignTop(和XXX顶部对齐)
layout_alignBottom(和XXX底部对齐)
layout_alignLeft (和XXX左边对齐)
layout_alignRight(和XXX右边对齐)
线性布局LinearLayout是根据指定朝向orientation水平Horizontal或者垂直Vertical方向排列的布局,其最大的特点是可以给子培肢控件按照权重weight属性分配空间.
常见案例:计算器
3. FrameLayout 帧布局
通俗的讲就是在屏幕上一层覆盖着一层的控件,在fragment中比较常用
<TextView
android:layout_width= "200px"
android:layout_height= "200px"
android:layout_gravity= "center"
android:background= "#00ff00"
android:gravity= "center" />
D. Android线性布局和表格布局及其相对布局 都适用于哪些场景
线性布局适用于控件呈线性排列场景(一个接着一个),此线性可以为横向的线性与纵向的线性。
表格布局适用于控件呈表格状分布,如m行n列,像HTML中的表单。
相对布局适用于另一控件或父控件,如在某个控件的左(右、上、下、中线对齐)或相对于父控件左(右、上、下、中线对齐)。
布局是可以互相嵌套的,如父控件(容器)是线性纵向布局,第一个子布局为相对,第二个是表格,第三个是线性...
Android布局的概念是从Swing及HTML的布局引申而来,与他们的排版都非常相似。
Android中还有一种绝对布局,与HTML中的DIV也非常相似,都是以绝对坐标定位的方式定位控件,但这种布局难以匹配Android不同的屏幕尺寸及不同分辨率,所以使用很少。
E. 请介绍下Android中常用的五种布局,分别的布局方式。谢谢!急
LinearLayout,线性布局
RelativeLayout,相对布局
AbsoluteLayout,绝对布局
FrameLayout,帧布局
TableLayout,表格布局
BorderLayout,
BoxLayout,
CardLayout,
DefaultMenuLayout,
FlowLayout,
GridBagLayout,
GridLayout,
GroupLayout
swing里常用的也有这些,至于每个具体的功能你自己查一下API就可以了。
1、Java初步
Java是由sun公司开发的一种新型的面向物件的程式设计语言,主要用于web页面的设计。
Java语言的发展颇具传奇性,它与Inter的的迅猛发展是分不开的。由于其发展迅速,有人将它比喻为Inter上的世界语。前面讲到在Inter上Web页面的设计采用的是HTML语言,使用者借助于Web浏览器(如Netscape,HotJava,IE等),可以访问到远端web服务器上静态的、具有超连结的Web页面。Java语言的出现改变了 Web页面的这种传统的静态模式,通过在Web页面中附加一些利用Java编写的App1et(称为小程式),可饥型以使Web页面更具多样蠢空性和变化性,这样使用者就能够访问到动态的,具有互动功能的web页面。
例如一些小的动画,实时更新的图表、声音等。总之,Web页面的设计主要采用HTML语言,利用Java则使其锦上添花。
Sun公司于1995年5月正式推出Java语言,由于其简单、高效、可移植性强等特点,一经推出,很快引起广大使用者和众多厂商的普遍关注,特别是Sum公司将其定位于Inter的应用开发上,使得Java得以迅速发展。在同期推出的还有被称为HotJava(热咖啡)的浏览器,Hotjava是一个完全由Java语言编写,基于Java典型应用的web浏览器,并且第一个支援Java Applet。HotJava充分展示了Java在全球Inter网上的强大威力,同时也为Java语言程式设计提供了一个理想的执行平台。
Java语言推出后,各大软体厂商相继宣布支援Java。首先是Netscape公司在其Web浏览器(Netscape Navigator2.0)中支援Java,不久,sun,SGI和Macromedia三家公司制定了基于Java的开放式多媒体标准。后来许多公司,如IBM,Microsoft,Orac1e等,都宣布支援Java。Netscape公司进一步与sun公司合作,推出了类似于Java的JavaScript语言。目前,Sun公司已成立了专门的Javasoft分部,负责管理Java语言的开发、维护工作(可从Http:Javasoft,站点了解详细资讯)。
对于Java这一名字,较为流行的说法是它来源于印度尼西亚的一个重要岛屿,该岛屿的中文译名为"爪哇",岛上盛产咖啡,于是sun公司的开发人员将这种新语言起名为Java,寓意是使其与热气腾腾的咖啡联络起来,将它奉献给全球的计算机使用者。
2、Java语言的特点
Java语言的流行除了因为它能够编制嵌入HTML档案中的Applet外,还在于Java语言本身的面向物件、简单、平台无关性、安全性、多执行绪等特点。Java语言的结构与编写方式,与c++语言类似,因此学习Java语言,不仅要了解Java语言独有的程式设计特点,同时还要有程式设计基础和面向物件的概念。 <BR>Java语言的主要特点如下:
(1)简单、高效
Java语言与C++类似,如果使用者了解C++和面向物件的概念,就可以很快编写出Java程式;此外,Java又不同于诸如C++语言提供的各种各样的方法,它只提供了基本的方法,这样就减少了程式设计的复杂性,例如去掉了标头档案、指标变数、结构、运算子过载、多重继承等复杂特性。Java语言虽然简单,却很高效,它可以用面向物件的方法来描述使用者的每一个动作。
(2)面向物件
Java语言是一种新的面向物件的程式设计语言,它除了几种基本的资料型别外,大都是类似c++中的物件和方法,程式程式码大多体现了类机制,以类的形式带肢瞎组织,由类来定义物件的各种行为。Java同样支援类继承,这样也减少了程式设计的复杂性。
(3)平台无关性 Java语言经编译后生成与计算机硬体结构无关的位元组程式码(Bytecode),这些位元组程式码被定义为不依赖任何硬体平台和作业系统。当Java程式在执行时,需要由一个解释程式对生成的位元组程式码解释执行。这体现了Java语言的与平台无关性,使得Java程式可以在任何平台上执行,如MS-DOS,Windows,Unix等,因此具有很强的移植性。
(4)互动式特性
Java是面向物件的网路程式语言,由于它支援TCP/IP协议,使得使用者可以通过浏览器访问到Inter上的各种动态物件。并且在网路上使用者可以互动式地进行各种动作,而多执行绪技术的引入使得这种互动式操作更为容易。
(5)多执行绪机制
Java语言支援多执行绪机制,多执行绪机制使得Java程式能够并行处理多项任务。Java程式可以设计成具有多个执行绪,例如让一个执行绪负责资料的检索、查寻,另一个执行绪与使用者进行互动,这样,两个执行绪得以并行执行。多执行绪机制可以很容易地实现网路上的互动式操作。
(6)动态的记忆体管理机制
Java语言采用了自动垃圾回收机制进行记忆体的管理。在C++语言中,程式设计师在编写程式时要仔细地处理记忆体的使用,例如当某个记忆体快使用完毕时,要及时释放,以供其它程式使用,一旦记忆体管理不当,就有可能造成记忆体空间浪费或程式执行故障。 <BR>在Java系统中包括了一个自动垃圾回收程式,它可以自动、安全地回收不再使用的记忆体块,这样,程式设计师在程式设计时就无需担心记忆体的管理问题,从而使Java程式的编写变得简单,同时也减少了记忆体管理方面出错的可能性。
(7)安全性
在类似Inter的这种分散式网路环境中,安全性是个不容忽视的问题。Java语言在安全性方面引入了实时记忆体分配及布局来防止程式设计师直接修改实体记忆体布局;通过位元组程式码验证器对位元组程式码的检验,以防止网路病毒及其它非法程式码侵入。此外,Java语言还采用了许多面向物件的异常处理机制,负责对一些异常事件进行处理,如记忆体空间不够,程式异常中止等的处理。 <BR>以上介绍了Java语言的一些主要特点,除此之外它还具有动态性、类库丰富、高效能等特点,这些都使得Java语言在各个方面得以成熟和完善,成为大众日益青睐的程式设计语言之一。
3、Java应用程式和Java AppletJava语言是一种面向物件的程式设计语言,利用Java语言,能够编写出两大类程式:Java应用程式(Application)和Java App1et(小程式):
Java应用程式是由Java语言编写,在经过编译和解释后,可以独立执行在MS-DOS,UNIX等操作平台上。Java应用程式一般以命令列方式执行。
Java Applet是不能独立执行的,App1et必须嵌入到HTML档案中,并且需要启动浏览器才能执行。这样,指定的Applet会自动下载到使用者的浏览器中执行,从而产生一些特殊的页面效果,如动画、声音、图表、影象等。通过在Web页面中嵌入Applet,可以使Web页面与使用者之间进行动态互动,例如接收使用者的输入,然后根据使用者的需要产生不同的响应。
就Java Applet而言,它是嵌入到HTML档案中的,HTML档案呈现的内容大多为文字、图片、表格、声音等,但这些内容一般都是静态的、二维的。但当HTML档案中嵌有 Applet后,整个页面会呈现出多样性和变化性,例如互动功能、图表等。在运用方面Java语言和HTML语言的区别在于:
(1)HTML语言属于一种简单的标记语言,一般使用者均可在数小时内学会如何编写HTML档案。而Java语言的结构和编写方法更类似于c++,所以学习Java语言要有程式设计的基础和面向物件的概念。
(2)Web页面的编写主要采用HTML语言,但若想使页面更具变化性、多样性、互动性,可采用Java语言来达到这种效果,起到锦上添花的作用。
4、在HTML档案中嵌入Applet</FONT> <BR>Applet是Java在Inter的中的一个重要应用,同时它的出现也促使了Java成为日益流行的程式设计语言。Applet是指由Java语言编写的,被嵌入到Web页面中,并通过浏览器执行以产生特殊页面效果的小程式。嵌入了Applet的Web页面看上去会更加丰富多彩,具有动态互动能力。
在Inter上拥有大量的App1et,这些Applet大都是由Sun等公司的Java开发人员设计出来的,对于广大使用者,特别是初学者,可以将这些App1et下载到自己的计算机中,井通过将这些下载下来的App1et嵌入到自己的Web页面中来,获得自己具有相同效果的Web页面,以丰富自己的页面内容。
Android的常见布局方法:线性布局、表格布局、相对布局、帧布局和巢状布局;
好的,纠结了几天了,换了各种版本的eclipse,那什么版本以下预设的是线性布局的呢 检视原帖>>
线性布局LinearLayout 表格布局TableLayout 帧布局Framelayout 相对布局RelativeLayout 绝对布局AbsoluteLayout
android4.0版本后新增的GridLayout
你在网络搜索 “css+div的布局方式,比table的布局方式” 就会有很多关于这个问题答案,你可以看看,虽然都有优缺点,但是建议还是改用div+css吧,table已经过时了
:codesky./article/201008/139693.
希望可以帮到你
KIKC自2013年创立以来,在几年内已经扩张600多个店铺,预计将在2018年实现1000个店铺的全面布局,其发展速度堪称业界奇迹。
借用网络一句话:响应式布局是Ethan Marcotte在2010年5月份提出的一个概念,简而言之,就是一个网站能够相容多个终端——而不是为每个终端做一个特定的版本。这个概念是为解决移动网际网路浏览而诞生的。
响应式布局就是可以,适应多种装置的网页,比如电脑端和移动端 可以共用同一套CSS。不需要为单独的装置而开发相应程式
浮动布局,定位布局以及响应式布局,这三种布局是最基本最常见的,此外比较特殊的是弹性布局,弹性布局相对使用较少,需要根据专案的具体情况而定。
在网站开发当中,通常是需要结合多种布局去实现网页布局的。如果是在学习网页布局的相关知识,可以弄本 HTML5布局之路 ,来辅助自己的学习
F. android studio Listview如何让文字覆盖在图片上
这个应该是布局的问题吧,使用相对布局,先定义图片(imageview),然后再定义文字(textview)
<ImageView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:src="@drawable/home2"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="这是一个测试数据"
/>
向这样文字就在图片上面
G. android中常见的五种布局有什么特点
1,FrameLayout,特点:所有的View都会放在左上角,并且后添加进去的View会覆盖之前放进去的View。
2,LinearLayout,特点:在水平或者垂直方向上依次按照顺序来排列子元素,控件的排列顺序遵循其在布局文件中被写出的先后顺序。
3,RelativeLayout,特点:以某一个子元素为参照物,其余子元素均按照其相对位置来完成布局。
4,TableLayout,特点:每个TableLayout都是由一个或多个TableRow组成的,一个TableRow就代表TableLayout的一行。
5,AbsoluteLayout,表格布局类似Html里面的Table。每一个TableLayout里面有表格行TableRow,TableRow里面可以具体定义每一个元素,设定他的对齐方式 android:gravity="" 。
(7)android相对布局覆盖扩展阅读:
开放性:
在优势方面,Android平台首先就是其开放性,开发的平台允许任何移动终端厂商加入到Android联盟中来。显着的开放性可以使其拥有更多的开发者,随着用户和应用的日益丰富,一个崭新的平台也将很快走向成熟。
开放性对于Android的发展而言,有利于积累人气,这里的人气包括消费者和厂商,而对于消费者来讲,最大的受益正是丰富的软件资源。开放的平台也会带来更大竞争,如此一来,消费者将可以用更低的价位购得心仪的手机。
丰富的硬件:
这一点还是与Android平台的开放性相关,由于Android的开放性,众多的厂商会推出千奇百怪,功能特色各具的多种产品。功能上的差异和特色,却不会影响到数据同步、甚至软件的兼容,如同从诺基亚Symbian风格手机一下改用苹果iPhone,同时还可将Symbian中优秀的软件带到iPhone上使用、联系人等资料更是可以方便地转移。