后端

11、ArrayList和linkedList的区别

ArrayList和linkedList的区别 Array(数组)是基于索引(index)的数据结构,它使用索引在数组中搜索和读取数据是很快的。 Array获取数据的时间复杂度是O(1),但是要删除数据却是开销很大,因为这需要重排数组中的所有数据, (因为删除数据以后, 需要把后面所有的数据前移). 缺点: 数组初始化必须指定初始化的长度, 否则报错. 例如: List—是一个有序

Spring 路由匹配机制详解:时间复杂度从 O(n) 降至 O(log n)

🧑 博主简介:CSDN博客专家,历代文学网(PC端可以访问:#/?__c=1000,移动端可微信小程序搜索“历代文学”)总架构师,15年工作经验,精通Java编程,高并发设计,Springboot和微服务,熟悉Linux,ESXI虚拟化以及云原生Docker和K8s,热衷于探索科技的边界,并将理论知识转化为实际应用。保持对新技术的好奇

剑指offer(第2版)

4/75 03.找出数组中重复的数字 03 try1: 遍历 超时 class Solution: def findRepeatNumber(self, nums: List[int]) -> int: for i in range(len(nums)-1): for j in range(i+1,len(nums)): # 第一

04.《JavaEE 学习笔记》MVC设计模式

参考链接: 1、Web应用运行流程: (1)浏览器发送请求到收到响应,简要的过程如下: 浏览器发送请求后,由Web.xml中规定的协议,进入TomCat中

神秘的volatile关键字

前言 volatile关键字是面试中常问的知识点,包括三点:可见性、有序性、非原子性。接下来就说一下这三点。 JMM(Java Memory Model - Java内存模型) 每个 Java 线程都有⾃⼰的⼯作内存。操作数据,⾸先从主内存中读,得到⼀份拷⻉,操作完毕后再写回主内存 JMM可能带来可⻅性、原⼦性和有序性问题 可⻅性:是指某个线程对主内存内容的修改,应该⽴刻通知其它线程 有

第二章 性能瓶颈的分析和定位(8)

剖析工具(Profiler Tools)         至于工具,看起来是没有问题,Qt Creator已经在Analyze菜单中集成了——QML profiler,CPU, 函数(Function) Profiler,以及Memory Analyzer(内存分析器)。但遗憾的是,这些工具大多数只能在Linux上使用,因为Qt Creator使用的工具是valgrind, 其在Windows下是

Android Kotlin面试题

1.1 请简述一下什么是 Kotlin?它有哪些特性? kotlin和java一样也是一门jvm语言最后的编译结果都是.class文件,并且可以通过kotlin的.class文件反编译回去java代码,并且封装了许多语法糖,其中我在项目中常用的特性有 扩展,(使用非集成的方式 扩张一个类的方法和变量):比方说 px和dp之间的转换 之前可能需要写个Util现在,通过扩展Float的变量 最后调用

刷题小记

今天在刷牛客网华为机试的题目。 有个素数伴侣的算法,就是在给定一组数字中,例如2,3,5,6,11,13,找出能够配对最多的素数对数(素数:不能被除了1和本身之外的数整除)。比如2+3就是一个素数,这俩就是一对素数伴侣,剩下四个数以此类推找出最大配对数。 题目很好懂,如果给一个例子自己算也很好算,但就是自己的计算也没有规律可言,都是肉眼找。 思来想去找不到计算规律,查看题解才知道,原来有一个匈牙利