手机网页及网站设计 pdfwordpress主题谁的最好

web/2025/9/27 4:42:36/文章来源:
手机网页及网站设计 pdf,wordpress主题谁的最好,网站下要加个备案号 怎么做,找人做一个网站多少钱问题#xff1a;通常我会这么定义列表#xff1a;ListString names new ArrayList()names类型使用List接口#xff0c;那么具体实现该如何选择。 什么时候应该用LinkedList替代ArrayList#xff0c;反之亦然#xff1f;这里大家可以关注一下我的个人专栏…问题通常我会这么定义列表ListString names new ArrayList()names类型使用List接口那么具体实现该如何选择。 什么时候应该用LinkedList替代ArrayList反之亦然这里大家可以关注一下我的个人专栏《Java 进阶集中营》每天会给大家即时分享一个最新的java技术资讯有优秀的java技术内容也欢迎分享在我的专栏。JAVA 进阶集中营​zhuanlan.zhihu.com总结大多数情况下相比LinkedList更推荐使用ArrayList或ArrayDeque。如果不确定可以直接选用ArrayList。LinkedList和ArrayList是List接口的两种不同实现。LinkedList采用双向链表实现。ArrayList通过动态调整数组大小实现。与标准链表和数组操作一样不同的实现方法算法运行时也不同。对于LinkedListEget(int index)复杂度为On平均步长n/4add(E element)复杂度为O1add(int index, E element)复杂度为On平均步长n/4。但是当index 0时复杂度为O1--- LinkedListE的主要优点。remove(int index)复杂度为On平均步长n/4Iterator.remove()复杂度为O1。---LinkedListE的主要优点ListIterator.add(E element)复杂度为O1。这是LinkedListE的一个主要优点。注意许多操作平均需要n/4步长最好的情况下例如index 0步长为常数最坏的情况下需要n/2步列表中间。对于ArrayListEget(int index)复杂度为O1--- ArrayListE的主要优点add(E element)分摊后的复杂度为O1但最坏的情况是On因为需要调整数组大小并进行拷贝addint indexE element复杂度为On平均步长n/2remove(int index)复杂度为On平均步长n/2Iterator.remove()复杂度为On平均步长n/2ListIterator.add(E element)复杂度为On平均步长n/2注意许多操作要求平均步长为n/2最好情况下列表末尾步长为常数最坏情况下列表开始需要n步LinkedListE可以使用iterator实现固定时间插入或删除但只能顺序访问元素。换句话说可以向前或向后遍历列表但是在列表中查找固定位置元素花费的时间与列表大小成正比。Javadoc中这么写道“在列表中建立索引会从列头或列尾开始遍历从更靠近的位置开始”这些方法平均复杂度为On平均步长n/4尽管index 0时复杂度为O(1)。另一方面ArrayListE支持快速随机读取访问因此获取任何元素都能在恒定时间内完成。但是除了列尾在其它任何位置添加或删除元素都需要把后面的所有元素移位。同样如果添加的元素多于底层数组的容量则会分配一个新数组大小是之前的1.5倍并把旧数组复制到新数组中。因此在ArrayList中添加元素时间复杂度最差为On平均情况下为常数。因此根据您打算执行的操作选择对应的实现。遍历这两种List开销都很小。从技术上看ArrayList更快但除非确实对性能要求十分敏感否则不必担心。遍历的复杂度都是常量使用LinkedList其中一个好处可以重用已有iterator插入和删除元素。然后修改本地列表即可操作的时间复杂度为O1。在ArrayList中数组余下的部分需要移动即拷贝。而在LinkedList中执行seek操作遍历最坏时间复杂度为On平均步长n/2而ArrayList中可以直接计算位置进行访问复杂度为O1。在LinkedList列头增加或删除操作时间复杂度为O1而ArrayList需要On。请注意ArrayDeque可以用来替代LinkedList适合在列头添加和删除元素但它不是List。另外如果列表很大请记住内存使用情况也有所不同。每个LinkedList元素都有额外开销因为里面还存储了指向下一个和上一个元素的指针。ArrayLists没有这种开销。但是无论是否实际添加了元素ArrayList都会分配初始容量大小的内存。ArrayList默认初始容量很小Java 1.4-1.8中设为10。但是由于底层实现是数组因此如果添加很多元素则必须调整数组大小。如果提前知道需要添加很多元素为避免调整数组大小带来的开销在创建ArrayList时需要设置更大的初始容量。答案2(案例分析)现代计算机体系结构中ArrayList性能几乎在所有情况下都得到大大提升。因此除非一些非常独特和极端的情况应避免使用LinkedList。从理论上讲LinkedList的add(E element)时间复杂度为O(1)。同样在列表中间添加元素应该非常有效。实际并非如此因为LinkedList是一种对缓存不友好的数据结构。从性能的角度看只有在极少数情况下LinkedList的性能会优于缓存友好的ArrayList。下面是在随机位置插入元素的基准测试结果。就像你看到的那样ArrayList的效率要高得多。尽管从理论上讲每次向列表中插入元素都需要“移动”数组中后续n个后元素个数越少越好在缓存更大、速度更快的下一代硬件上运行得出的结论更明确LinkedList完成相同工作所需的时间更长。有两个主要原因主要原因LinkedList节点随机分布在整个内存中。RAM“随机访问存储器”并不是真正随机需要获取内存块进行缓存。这个操作非常耗时并且当这种操作频繁发生时需要一直替换缓存中的内存页 - 缓存未命中 - 缓存效率低下。ArrayList元素存储在连续内存中这正是现代CPU架构优化的内容。其次LinkedList需要保留指向前一个与后一个元素的指针这意味着每个元素的内存消耗是ArrayList的3倍。DynamicIntArray是一个自定义ArrayList实现元素类型为Int原始类型而非Object。因此所有数据实际上都是相邻存储因此效率更高。记住一个关键因素获取存储块比访问单个存储单元的开销更大。这就是为什么读取器1MB顺序内存要比从不同内存块中读取同样的数据量快400倍的原因延迟数据比较〜2012 ---------------------------------- L1 cache reference 0.5 ns Branch mispredict 5 ns L2 cache reference 7 ns 14x L1 cache Mutex lock/unlock 25 ns Main memory reference 100 ns 20x L2 cache, 200x L1 cache Compress 1K bytes with Zippy 3,000 ns 3 us Send 1K bytes over 1 Gbps network 10,000 ns 10 us Read 4K randomly from SSD* 150,000 ns 150 us ~1GB/sec SSD Read 1 MB sequentially from memory 250,000 ns 250 us Round trip within same datacenter 500,000 ns 500 us Read 1 MB sequentially from SSD* 1,000,000 ns 1,000 us 1 ms ~1GB/sec SSD, 4X memory Disk seek 10,000,000 ns 10,000 us 10 ms 20x datacenter roundtrip Read 1 MB sequentially from disk 20,000,000 ns 20,000 us 20 ms 80x memory, 20X SSD Send packet CA-Netherlands-CA 150,000,000 ns 150,000 us 150 ms来源每个程序员都应该知道的延迟数据为了让观点表达得更清晰可以查看列表开头的add element结果。从理论上讲这只是一种情况。其实LinkedList应该表现得更好而ArrayList的结果应该不及它注意这是C Std库的基准测试。但是根据我之前的经验C和Java的结果非常类似。源代码复制连续内存是现代CPU的一种优化理论在不断演变实际上又让ArrayList和Vector效率变得更高。参考文中发布的所有基准测试均来自KjellHedström。在他的博客上可以找到更多数据。博客地址https://kjellkod.wordpress.com/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/81016.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站建设设计制作包头关键词排名优化网站建设公司

分布式调度框架 服务端 1、根据执行器创建任务, 2、底层通过netty发起调度。 客户端 1、注册到服务端成为执行器 2、注册任务类,任务类需要实现JobHandler这个接口的类 2、接受调度请求,找到对应的bean,并把bean放到线程池&…

调试网站解析域名影响wordpress启用收费下载无效

命令模式:将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。 命令模式的好处: 1、它能较容易地设计一个命令队列; 2、在需要的情况下&a…

宁德商城网站开发设计远程数据库 wordpress

来源:http://www.noahweb.net/mail/2/Project.htm#biao B/S系统中的权限比C/S中的更显的重要,C/S系统因为具有特殊的客户端,所以访问用户的权限检测可以通过客户端实现或通过客户端服务器检测实现,而B/S中,浏览器是每一…

什么网站做电子元器件简洁的网页模板

JSON.parse和JSON.stringify这两个浏览器自带(IE6/7除外)的方法平常我们经常用到,但是一般都只是用到了他们的第一个参数,比如字符串转对象:JSON.parse({}) 对象转字符串:JSON.stringify({}) 今天特意看了…

哈尔滨门户网站建设网络营销的特点包含()。

文章首发于我的个人博客:欢迎大佬们来逛逛 文章目录 处理带返回值的函数asyncpackaged_taskpromise 处理带返回值的函数 有三种方法: asyncpackaged_taskpromise async 第一种方法是使用 async 函数。 步骤: 使用 async 创建线程处理函…

横沥镇网站建设晓风彩票网站建设源代码授权

一、安装 双击安装文件,然后安装指引点击下一步 ​​ 选择【Custom】安装类型 ​​ 将程序安装到D盘MongoDB目录下(如果切换了目录,记得对应调整monggo.bat下面的路径) ​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​…

企业网站优化三层含义网站平台建设目标

元类就是类的类,type就是Python中创建所有类的元类。type就是创建类对象的类。Python中所有的东西——都是对象。这包括整数、字符串、函数以及类。它们全部都是对象,并且它们都是从一个类创建来,这个类就是type。# class Foo(object):# …

网站是先备案还是先做网站wordpress推荐主题

判断文件夹是否存在时,可以使用Directory类的Exists()方法或者DirectoryInfo类的Exists属性来实现。 一、判断文件夹是否存在 1.Directory类的Exists()方法 Exists()方法用于确定给定路径是否引用磁盘上的现有目录,语法如下。 public static bool Ex…

手机网站页面设计要求网站推广有什么方法

判断任意输入年份是闰年还是普通闰年还是平年 判断输入年份是否为世纪闰年(能被100整除但不能被400整除)或普通闰年(能被4整除但不能被100整除,或者能被400整除)。用户输入一个年份后,程序会判断该年份是世…

国内精美网站欣赏福田做网站需要多少钱

EasyRecovery数据恢复软件是一款专业且功能强大的数据恢复工具,它旨在帮助用户从各种存储设备中恢复由于各种原因(如误删除、格式化、病毒攻击、系统崩溃等)导致丢失的数据。这款软件支持多种存储介质,包括但不限于硬盘驱动器、U盘…

哪个网站做轴承外贸的人比较多品牌建设经费投入占销售比重

用360浏览器访问星瞳科技官网,一直提示访问不了。后面换了IE浏览器就可以访问。第一个坑。

如何建单页网站网络工程师考试大纲

理论基础 刷题大纲: 动态规划5步曲: 1、确定dp数组以及下标的含义 2、确定递推公式 3、dp数组如何初始化 4、确定遍历顺序 5、举例推导dp数组 509. 斐波那契数 509. 斐波那契数 - 力扣(LeetCode) 代码随想录 (programmercarl.co…

动漫网站建设方案策划书川沙网站建设

uniapp适配暗黑模式配置 目录 uniapp适配暗黑模式配置setUIStyleDarkMode 适配app-plus manifest.json配置theme.json配置pages.json配置页面切换代码实现同步手机暗黑配置额外适配 参考官方文档:https://uniapp.dcloud.net.cn/tutorial/darkmode.html 主要用到api…

大岭山镇网站建设公司阿里巴巴做网站难吗

接同事需求,要求从SQLITE的数据转到MYSQL,这东西以前也没接触过。这里搜搜,那里试试,下面把过程列一下。主要过程分三步:1,把SQLITE表结构导出来,作一定的格式调整2,把SQLITE数据导出…

flash网站全屏代码招聘网页制作人员

Brute-Force蛮力匹配 Brute-Force蛮力匹配是一种简单直接的模式识别方法,经常用于计算机视觉和数字图像处理领域中的特征匹配。该方法通过逐一比较目标图像中的所有特征点与源图像中的特征点来寻找最佳匹配。这种方法的主要步骤包括: 特征提取&#xff…

海口seo网站推广给别人做网站去掉版权

网上找了一些,都是基本介绍,没有直接就可以使用类,在实际工作当中都有适合当前项目的上传文件的方法,本人写了一个类,比较基础,但呆以满足项目的上传文件功能,使用了commons-fileupload这个组件…

分销网站方案5ucms怎样做网站自适应

有意向获取代码,请转文末观看代码获取方式~也可转原文链接获取~ 1 基本定义 MVMD-LSTM神经网络时序预测算法是一种结合了多变量经验模态分解(Multivariate Multiscale Decomposition,MMD)和长短期记忆神经网络(LSTM&a…

网站制作完成后为了东莞好的网站建设效果

经常会听到比如"为什么我的js代码没执行啊?","我明明发送了请求,为什么反应?","我这个网站怎么加载的这么慢?"这类的问题,那么问题既然存在,就需要去解决它,需要…

代做网站推广的公司店面设计公司

文章目录 1、前言2、Backbone网络3、YOLOv8模型训练代码3.1、模型大小选择3.2、训练参数设置 4、训练参数说明5、目标检测系列文章 1、前言 YOLO 因为性能强大、消耗算力较少,一直以来都是实时目标检测领域的主要范式。该框架被广泛用于各种实际应用,包…

住房建设城乡网站查找网站域名

前言 在现代的Java开发中,Spring Boot已经成为了一个备受欢迎的框架。它以其简化开发流程、提高效率和强大的功能而闻名,使得开发人员能够更加专注于业务逻辑的实现而不必过多地关注配置问题。 然而,你是否曾经好奇过Spring Boot是如何做到…