基础面试题整理1

1.面向对象的特点

继承(复用性)、封装(复用性)、多态(可移植性、灵活性)

2.ArrayList与LinkedList区别

ArrayList和LinkedList都是实现了List接口

ArrayList底层是动态数组

LinkedList底层是链表,每个节点存储数据和指向下一个节点的指针及上一个节点的指针

查询时:ArrayList速度比LinkedList快,因为读取数组下标即可。

新增/删除时: LinkedList比ArrayList快,因为该节点的下一指针修改,同时下一节点的前指针修改即可。

3.高并发问题

线程安全 Vector、Hashtable 使用synchronized修饰方法

非线程安全 ArrayList、HashMap

需要使用线程安全时,使用 Collections.synchronizedList、Collections.synchronizedMap;

高并发集合类

ConcurrentHashMap通过细粒度的锁分离机制实现并发安全,允许多个线程同时读取,写操作是互斥的,实现读写分离。

写操作:采用加锁操作实现,不可多个线程同时写入

 

读操作:未加锁,可多个线程读取

CopyOnWriteArrayList通过复制机制实现并发安全,采用读写分离方式

写操作:通过创建一个新的数组,然后将原始数组复制到新数组中

读操作:直接根据下标获取动态数据的数据

4.jdk1.8新特性

接口默认方法:接口中可以实现方法,需要加关键字 default

Lamba表达式

常用lambda表达式 lambda表达式

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

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

相关文章

【EI会议征稿通知】2024年人工智能与电力系统国际学术会议(AIPS 2024)

2024年人工智能与电力系统国际学术会议(AIPS 2024) 2024 International Conference on Artificial Intelligence and Power System 2024年人工智能与电力系统国际学术会议 (AIPS 2024) 将于2024年04月19日-21日在中国成都召开。AIPS 2024将围绕“人工智…

Python实现某城市从站点API获取天气状况示例(Crossin教室实例24)

一、要点说明: 根据站点当前API数据是由‘\r’字符连接的字符串的特点,主要用到了字符串的split()方法。此方法参数就是‘\r’。函数返回值是被分隔的字符串的列表。通过使用列表索引就可以分项取到天气数据。 二、示例代码: import reque…

操作系统期末复习知识点

目录 一.概论 1.操作系统的介绍 2.特性 3.主要功能 4.作用 二.进程的描述与控制 1.进程的定义 2.特性 3.进程的创建步骤 4.基本状态转化 5.PCB的作用 6.进程与线程的比较 三.进程同步 1.同步的概念(挺重要的) 2.临界区 3.管程和进程的区…

Spring Boot 整合 Caffeine 本地缓存及 Spring Cache 注解的使用

Spring Boot 整合 Caffeine 本地缓存及 Spring Cache 注解的使用 介绍 在现代的Web应用程序中,缓存是提高性能和响应速度的重要手段之一。Spring Boot提供了对缓存的良好支持,并且可以轻松地整合Caffeine本地缓存作为缓存提供者。结合Spring Cache注解…

DDIA 第十一章:流处理

本文是《数据密集型应用系统设计》(DDIA)的读书笔记,一共十二章,我已经全部阅读并且整理完毕。 采用一问一答的形式,并且用列表形式整理了原文。 笔记的内容大概是原文的 1/5 ~ 1/3,所以你如果没有很多时间…

RocketMQ MQClientInstance、生产者实例启动源码分析

🔭 嗨,您好 👋 我是 vnjohn,在互联网企业担任 Java 开发,CSDN 优质创作者 📖 推荐专栏:Spring、MySQL、Nacos、Java,后续其他专栏会持续优化更新迭代 🌲文章所在专栏&…

C语言编译器(C语言编程软件)完全攻略(第二十四部分:Turbo C 2.0使用教程(使用Turbo C 2.0编写C语言程序))

介绍常用C语言编译器的安装、配置和使用。 二十四、Turbo C 2.0使用教程&#xff08;使用Turbo C 2.0编写C语言程序&#xff09; 首先&#xff0c;我们给出一段完整的C语言代码&#xff1a; #include <stdio.h> int main() { puts("hello&#xff0c;world!"…

C++标准库中string的底层实现方式

前言 string是C标准库中常见的容器&#xff0c;不管是在校生日常练习换是职场老鸟写项目&#xff0c;它都是会经常使用的一个容器&#xff0c;你是否经常使用它呢&#xff1f;你是否了解过它的底层实现呢&#xff0c;如果你对此感兴趣&#xff0c;不妨与我共同探索一下它的底层…

监控各大电商平台商品价格,库存信息,数据分析,京东SKU详情

要接入API接口以采集电商平台上的商品数据&#xff0c;可以按照以下步骤进行&#xff1a; 1、找到可用的API接口&#xff1a;首先&#xff0c;需要找到支持查询商品信息的API接口。这些信息通常可以在电商平台的官方文档或开发者门户网站上找到。 2、注册并获取API密钥&#x…

使用IDEA官方docker插件构建镜像

此方法同样适用于jetbrains系列的其他开发软件 在IDEA中&#xff0c;如果是maven项目&#xff0c;可以使用插件 <plugin><groupId>com.spotify</groupId><artifactId>docker-maven-plugin</artifactId><version>1.2.2</version> &…

神经网络框架的基本设计

一、神经网络框架设计的基本流程 确定网络结构、激活函数、损失函数、优化算法&#xff0c;模型的训练与验证&#xff0c;模型的评估和优化&#xff0c;模型的部署。 二、网络结构与激活函数 1、网络架构 这里我们使用的是多层感知机模型MLP(multilayer prrceptron)&#x…

Docker中容器的相关操作(一)

1.查看容器 docker ps&#xff1a;查看当前docker引擎中正在运行的容器。 docker ps -a&#xff1a;查看所有的容器(包括运行中的和停止的)。 docker ps -aq&#xff1a;查看所有的容器id。 2.运行容器 错误举例&#xff1a;docker run 镜像名/镜像id 注意&#xff1a;这种…