dictionary

Java两种集合框架

ぐ巨炮叔叔 提交于 2020-11-10 03:42:08
接口 Java集合Collction接口和Map接口 Collection接口 Map接口 ** Java集合Collction接口和Map接口 ** 1.Java集合就好比一个容器,它可以储存任何类型的数据。 在Java中,集合类通常存在于Java.util包中。 2.Java集合主要由两大体系构成,分别是: Collection体系 Map体系 其中:Collection体系和Map体系分别是两大体系中的顶层接口。 3.Collection主要有三个子接口,分别为List(列表)、Set(集)、Queue(列队)。 有序可重复:List、Queue 无序不可重复:Set Collection接口 List有序,可重复 1.ArrayList 优点:底层数据结构是数组,查询快,增删慢。 缺点:线程不安全,但是效率高。 2.Vector 优点:底层数据结构是数组,查询快,增删慢。 缺点:线程安全,效率低 3.LinkedList 优点:底层数据结构是数组,查询慢,增删块。 缺点:线程不安全,效率高 Set无序,唯一 1.HashSet 底层数据结构是哈希表。(无序,唯一) 如何来保证元素唯一性? 依赖两个方法:hashCode()和equals() 2.LinkedHashSet 底层数据结构是链表和哈希表。(FIFO插入有序,唯一) Ⅰ.由链表保证元素有序 Ⅱ

oracle-数据库的各种-锁-详解

余生长醉 提交于 2020-11-08 16:23:03
数据库 是一个多用户使用的共享资源。当多个用户并发地存取数据时,在数据库中就会产生多个事务同时存取同一数据的情况。若对并发操作不加控制就可能会读取和存储不正确的数据,破坏数据库的一致性。 如果是单用户的系统,那完全没有必要这个锁,就是因为有多用户并发操作,我们为了确保资源的安全性(也就是 Oracle 的数据完整性和一致性)才引申出这个锁出来。Oracle 利用其锁机制来实现事务间的数据并发访问及数据一致性。 加锁是实现数据库并发控制的一个非常重要的技术。当事务在对某个数据对象进行操作前,先向系统发出请求,对其加锁。加锁后事务就对该数据对象有了一定的控制,在该事务释放锁之前,其他的事务不能对此数据对象进行更新操作。 Oracle的锁机制是一种轻量级的锁定机制,不是通过构建锁列表来进行数据的锁定管理,而是直接将锁作为数据块的属性,存储在数据块首部。 在 Oracle 数据库中,它并不是对某个表加上锁或者某几行加上锁, 锁是以数据块的一个属性存在的。 也就是说, 每个数据块本身就存储着自己数据块中数据的信息,这个地方叫 ITL( Interested Transaction List), 凡是在这个数据块上有活动的事务,它的信息就会记录在这里面供后续的操作查询,一保证事务的一致性。 在oracle数据库中,不存在真正意义上属于某个对象或数据的锁

Java

坚强是说给别人听的谎言 提交于 2020-11-08 05:49:11
Java 数据结构 Java工具包提供了强大的数据结构。在Java中的数据结构主要包括以下几种接口和类: 枚举(Enumeration) 位集合(BitSet) 向量(Vector) 栈(Stack) 字典(Dictionary) 哈希表(Hashtable) 属性(Properties) 以上这些类是传统遗留的,在Java2中引入了一种新的框架-集合框架(Collection),我们后面再讨论。 枚举(Enumeration) 枚举(Enumeration)接口虽然它本身不属于数据结构,但它在其他数据结构的范畴里应用很广。 枚举(The Enumeration)接口定义了一种从数据结构中取回连续元素的方式。 例如,枚举定义了一个叫nextElement 的方法,该方法用来得到一个包含多元素的数据结构的下一个元素。 关于枚举接口的更多信息, 请参见枚举(Enumeration) 。 位集合(BitSet) 位集合类实现了一组可以单独设置和清除的位或标志。 该类在处理一组布尔值的时候非常有用,你只需要给每个值赋值一"位",然后对位进行适当的设置或清除,就可以对布尔值进行操作了。 关于该类的更多信息, 请参见位集合(BitSet) 。 向量(Vector) 向量(Vector)类和传统数组非常相似,但是Vector的大小能根据需要动态的变化。 和数组一样