做网站开发 用的最多的语言网络营销宏观环境有哪些

张小明 2026/1/17 5:39:38
做网站开发 用的最多的语言,网络营销宏观环境有哪些,有域名了也备案了怎么做网站,域名私人定制摄影一、HashMap 与 HashTable 有什么区别#xff1f;1. 线程安全#xff1a; HashMap 是非线程安全的#xff0c;HashTable 是线程安全的#xff1b; HashTable 内部的方法基本都经过 synchronized 修饰。#xff08;如果你要保证线程安全的话就使用 ConcurrentHashMap 吧1.线程安全 HashMap 是非线程安全的HashTable 是线程安全的 HashTable 内部的方法基本都经过 synchronized 修饰。如果你要保证线程安全的话就使用 ConcurrentHashMap 吧2.效率 因为线程安全的问题HashMap 要比 HashTable 效率高一点。另外HashTable 基本被 淘汰不要在代码中使用它3.对Null key 和Null value的支持 HashMap 中null 可以作为键这样的键只有一个可以有一 个或多个键所对应的值为 null。但是在 HashTable 中 put 进的键值只要有一个 null直接抛 NullPointerException。4.初始容量大小和每次扩充容量大小的不同 ①创建时如果不指定容量初始值Hashtable 默认的 初始大小为11之后每次扩充容量变为原来的2n1。HashMap 默认的初始化大小为16。之后 每次扩充容量变为原来的2倍。②创建时如果给定了容量初始值那么 Hashtable 会直接使用你 给定的大小而 HashMap 会将其扩充为2的幂次方大小。也就是说 HashMap 总是使用2的幂作为 哈希表的大小后面会介绍到为什么是2 的幂次方。5.底层数据结构 JDK1.8 以后的 HashMap 在解决哈希冲突时有了较大的变化当链表长度大于阈 值默认为8时将链表转化为红黑树以减少搜索时间。Hashtable 没有这样的机制。6.推荐使用在 Hashtable 的类注释可以看到Hashtable 是保留类不建议使用推荐在单线程环境 下使用 HashMap 替代如果需要多线程使用则用 ConcurrentHashMap 替代。二、如何决定使用 HashMap 还是TreeMap对于在Map中插入、删除和定位元素这类操作HashMap是 好的选择。然而假如你需要对一个有序的key集合进行遍历TreeMap是更好的选择。基于你的collection的大小 也许向HashMap中添加元素会更快将map换为TreeMap进行有序key的遍历三、HashMap 和 ConcurrentHashMap 的区别1. ConcurrentHashMap对整个桶数组进行了分割分段(Segment)然后在每一个分段上都用lock锁进 行保护相对于HashTable的synchronized 锁的粒度更精细了一些并发性能更好而HashMap 没有锁机制不是线程安全的。JDK1.8之后ConcurrentHashMap启了一种全新的方式实现,利用 CAS算法。2. HashMap的键值对允许有null但是ConCurrentHashMap都不允许。四、ConcurrentHashMap 和 Hashtable 的区别ConcurrentHashMap 和 Hashtable 的区别主要体现在实现线程安全的方式上不同。底层数据结构 JDK1.7的 ConcurrentHashMap 底层采用 分段的数组 链表 实现JDK1.8 采用的数据结构跟HashMap1.8的结构一样数组链表/红黑 二叉树。Hashtable 和 JDK1.8 之前的 HashMap 的底层数据结构类似都是采用 数组链表 的形式数组 是 HashMap 的主体链表则是主要为了解决哈希冲突而存在的实现线程安全的方式① 在JDK1.7的时候ConcurrentHashMap分段锁 对整个桶数组进行了分割分段(Segment)每一把锁只锁容器其中一 部分数据多线程访问容器里不同数据段的数据就不会存在锁竞争提高并发访问率。默认分配16 个Segment比Hashtable效率提高16 倍。 到了 JDK1.8 的时候已经摒弃了Segment的概念而是直接用 Node 数组链表红黑树的数据结构来实现并发控制使用 synchronized 和 CAS 来操作。JDK1.6以后 对 synchronized锁做了很多优化 整个看起来就像是优 化过且线程安全的 HashMap虽然在JDK1.8中还 能看到 Segment 的数据结构但是已经简化了属性只是为了兼容旧版本。② Hashtable(同一把锁) :使用 synchronized 来保证线程安全效率非常低下。当一个线程访问同步方法 时其他线程也访问同步方法可能会进入阻塞或轮询状态如使用 put 添加元素另一个线程不能使 用 put 添加元素也不能使用 get竞争会越来越激烈效率越低。两者对比图HashTableJDK1.7的ConcurrentHashMapJDK1.8的ConcurrentHashMapTreeBi(img)n: 红黑二叉树节点 Node: 链表节点ConcurrentHashMap 结合了 Hash(img)Map 和 HashTable 二者的优势。 HashMap 没有考虑同 步HashTable 考虑了同步的问题。但是 HashTable 在每次同步执行时都要锁住整个结构。 ConcurrentHashMap 锁的方式是稍微细粒度的。五、Array 和 ArrayList 有何区别1、Array 可以存储基本数据类型和对象ArrayList 只能存储对象。2、Array 是指定固定大小的而 ArrayList 大小是自动扩展的。3、Array 内置方法没有 ArrayList内置方法 多比如 addAll、removeAll、iteration 等方法只有 ArrayList 有。对于基本类型数据集合使用自动装箱来减少编码工作量。但是当处理固定大小的基本数据类型的时 候这种方式相对比较慢。六、comparable 和 comparator的区别1、comparable接口实际上是出自java.lang包它有一个 compareTo(Object obj)方法用来排序2、comparator接口实际上是出自 java.util 包它有一个compare(Object obj1, Object obj2)方法用 来排序一般我们需要对一个集合使用自定义排序时我们就要重写compareTo方法或 compare方法当我们 需要对某一个集合实现两种排序方式比如一个song对象中的歌名和歌手名分别采用一种排序方法的 话我们可以重写compareTo方法和使用自制的Comparator方法或者以两个Comparator来实现歌名 排序和歌星名排序第二种代表我们只能使用两个参数版的Collections.sort().七、Collection 和 Collections 有什么区别1、java.util.Collection 是一个集合接口集合类的一个顶级接口。它提供了对集合对象进行基本操 作的通用接口方法。Collection接口在Java 类库中有很多具体的实现。Collection接口的意义是为 各种具体的集合提供了 大化的统一操作方式其直接继承接口有List与Set。2、Collections则是集合类的一个工具类/帮助类其中提供了一系列静态方法用于对集合中元素进 行排序、搜索以及线程安全等各种操作。八、Vector,ArrayList, LinkedList的区别是什么1. Vector、ArrayList都是以类似数组的形式存储在内存中LinkedList则以链表的形式进行存储。2. List中的元素有序、允许有重复的元素Set中的元素无序、不允许有重复元素。3. Vector线程同步ArrayList、LinkedList线程不同步。4. LinkedList适合指定位置插入、删除操作不适合查找ArrayList、Vector适合查找不适合指定 位置的插入、删除操作。5. ArrayList在元素填满容器时会自动扩充容器大小的50%而Vector则是100%因此ArrayList更节 省空间。九、HashTable, HashMapTreeMap区别1. HashTable线程同步HashMap非线程同步。2. HashTable不允许有空值HashMap允许有空值。3. HashTable使用EnumerationHashMap使用Iterator。4. HashTable中hash数组的默认大小是11增加方式的old*21HashMap中hash数组的默认大小 是16增长方式一定是2的指数倍。5. TreeMap能够把它保存的记录根据键排序默认是按升序排序。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

天将建设集团有限公司网站动漫设计与制作属于什么大类

一、引言 根据KnowBe4于2025年12月发布的年度威胁报告,全球组织在过去一年中观测到的钓鱼攻击数量同比激增400%,其中近40%的被窃取身份关联企业邮箱地址,表明攻击者正系统性地将企业员工视为最易突破的入口点。这一数据不仅印证了社会工程攻…

张小明 2026/1/13 12:37:27 网站建设

哪家公司做网站比较好WordPress主题开发核心主食

深入理解AUTOSAR中的BSW模块:从硬件驱动到系统服务的全链路解析你有没有遇到过这样的场景?一个项目刚做完,客户突然提出要换一款MCU芯片——原本用的是NXP S32K,现在要换成Infineon AURIX。如果软件和硬件紧耦合,这意味…

张小明 2026/1/13 3:21:46 网站建设

强生公司网站嘉兴网络推广平台

YOLOv8 FFT-based Conv频域卷积可行性研究 在当前深度学习模型不断追求更高精度与实时性的背景下,计算效率已成为制约部署落地的关键瓶颈。尤其是在目标检测这类对延迟敏感的应用中,如自动驾驶感知系统或工业质检流水线,每一毫秒的推理时间都…

张小明 2026/1/15 1:30:53 网站建设

单位网站等级保护必须做吗爱2345网址大全

泉盛UV-K5/K6专业通讯固件升级指南:解锁卫星追踪与频谱分析功能 【免费下载链接】uv-k5-firmware-custom 全功能泉盛UV-K5/K6固件 Quansheng UV-K5/K6 Firmware 项目地址: https://gitcode.com/gh_mirrors/uvk5f/uv-k5-firmware-custom 还在为普通对讲机功能…

张小明 2026/1/13 2:32:34 网站建设

制作网站riverwordpress适合环境

还在为复杂的流体力学实验发愁吗?🤔 PIVlab作为一款基于MATLAB的开源粒子图像测速工具,让流体速度场测量变得前所未有的简单。无论你是刚接触流体力学的新手,还是需要进行科研分析的专家,这款软件都能为你提供专业而友…

张小明 2026/1/16 4:21:10 网站建设