Java面试题记录(含答案)

【高频面试题五】讲一讲java stream流的使用 流是从支持数据处理操作的源生成的元素序列,源可以是数组、文件、集合、函数。流不是集合元素,它不是数据结构并不保存数据,它的主要目的在于计算;:抽取对象集合中的某个元素组成集合。:根据某一条件对集合进行筛选。 阅读详情

1. java8的新特性

  • Lamdba表达式搭配Stream API

    1、Stream自己不会存储数据。
    2、Stream不会改变源对象。相反,它们会返回一个持有结果的新Stream对象
    3、Stream操作时延迟执行的。这就意味着它们等到有结果时候才会执行。
    4、和list不同,Stream代表的是任意Java对象的序列,且stream输出的元素可能并没有预先存储在内存中,而是实时计算出来的。它可以“存储”有限个或无限个元素。例如:我们想表示一个全体自然数的集合,使用list是不可能写出来的,因为自然数是无线的,不管内存多大也没法放到list中,但是使用Sream就可以

  1. 函数式接口
  2. 方法引用和构造引用
  3. 接口中的默认方法和静态方法
  4. 新时间日期API
  5. OPtional

    1、 optional类是一个容器,代表一个值存在或者不存在,原来使用null表示一个值存不存在,现在使用optional可以更好的表达这个概念,并且可以避免空指针异常。
    2、Optional.ofNullable(T t) :若t不为空创建一个Optional实例否则创建一个空实例;
    3、isPresent() : 判断是否包含值;
    4、orElse(T t) :如果调用对象包含值,返回该值,否则返回t;

2. java8四大内置函数接口

  1. 消费型接口 Consumer void accept(T t)
  2. 供给型接口 Supplier T get()
  3. 函数型接口 Function<T,R> R apply(T t)
  4. 断定型接口 Predicate boolean test(T t)

3. volatile关键字作用

  1. 线程的可见性:当一个线程修改一个共享变量时,另外一个线程能读到这个修改的值。
  2. 顺序一致性:禁止指令重排序。

Volatile与Synchronized比较

  1. Volatile是轻量级的synchronized,因为它不会引起上下文的切换和调度,所以Volatile性能更好。
  2. Volatile只能修饰变量,synchronized可以修饰方法,静态方法,代码块。
  3. Volatile对任意单个变量的读/写具有原子性,但是类似于i++这种复合操作不具有原子性。而锁的互斥执行的特性可以确保对整个临界区代码执行具有原子性。
  4. 多线程访问volatile不会发生阻塞,而synchronized会发生阻塞。
  5. volatile是变量在多线程之间的可见性,synchronize是多线程之间访问资源的同步性。

4. redis五种类型

  1. string(字符串)
  2. hash(哈希)
  3. list(列表)
  4. set(集合)
  5. sort set (有序集合)

5. MySQL底层数据结构

  1. 首先要知道索引存储在文件中,文件放置磁盘中,索引建多了会影响增删改效率。每查询一次索引节点都会进行一次磁盘IO读取,即要寻道和旋转。寻道需要移动磁头耗费较多时间。
  2. MySQL有两种常见的存储引擎:InnoDB(默认)、MyISAM(用得少,在MySQL8.0中被废弃掉了),存储引擎范围是表级别的

6. 慢sql处理

7. 索引最左匹配原则

8. synchronized如何实现同步锁

9. synchronized和lock的区别

10. springboot的核心

11. redis的持久化机制

12. redis的RDB和AOF

13. redis的缓存击透、雪崩解决方案

14. 多线程

笔试题:类加载 多线程 sql
父子类static块加载顺序 二分法查找有序数组中的数字
多线程轮流打印1和10(1到10)
sql查找某一天可以参加的活动

面试题:Dubbo jvm mybatis spring 集合(arraylist hashmap)
springboot redis mongodb ddd

几率大的网络安全面试题含答案 其他篇章:Java校招极大几率出的面试题含答案)----汇总 本文面试题汇总: 防范常见的 Web 攻击 重要协议分布层 arp协议的工作原理 rip协议是什么?rip的工作原理 什么是RARP?工作原理 OSPF协议?OSPF的工作原理 TCP与UDP区别总结 什么是三次握手四次挥手? tcp为什么要三次握手? dns是什么?dns的工作原理 一次完整的HTTP请求过程 Cookies和ses... 阅读详情

相关推荐

几率大的Redis面试题含答案

本文的面试题如下: Redis 持久化机制 缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等问题 热点数据和冷数据是什么 Memcache与Redis的区别都有哪些? 单线程的redis为什么这么快 redis的数据类型,以及每种数据类型的使用场景,Redis 内部结构 redis的过期策略以及内存淘汰机制【~】 Redis 为什么是单线程的,优点 如何解决redis的并发竞争key问题 Red...

38万+

Java 中的 Streams 面试问题

它们总是惰性的,执行诸如filter()之类的中间操作实际上并不执行任何过滤,而是创建一个新的Stream,在遍历时包含与给定谓词匹配的初始Stream的元素。然而,值得注意的是,并非所有任务都会从并行化中受益,在某些情况下,由于管理多个线程的开销,它甚至可能会降低性能。流上的常见操作包括 filter(根据条件选择元素)、map(转换元素)、reduce(组合元素)、collect(将元素累积到集合中)和 forEach(对每个元素执行操作) )。这使得流能够表示大型或无限的数据集,一次处理一个元素。

我的博客,不一样的自我表达 651

【2021最新版】Java基础面试题总结(70道题含答案解析)

文章目录Java集合/泛型面试题1、ArrayList和linkedList的区别2、 HashMap和HashTable的区别3、Collection包结构,与Collections的区别4、泛型常用特点(待补充)5、说说List、Set、Map、三者的区别?6、Array与ArrayList有什么不一样?7、Map有什么特点?8、集合类存放于Java.util包中,主要有几种接口?9、什么是list接口10、说说ArrayList(数组)11、Vector(数组实现、 线程同步)12、说说LinkLis

程序媛小琬的博客 2万+

Java经典面试题总结(附答案)(一)

② List特点:元素有放入顺序,元素可重复 ,Set特点:元素无放入顺序,元素不可重复,重复元素会覆盖掉,(元素虽然无放入顺序,但是元素在set中的位置是有该元素的HashCode决定的,其位置其实是固定的,加入Set 的Object必须定义equals()方法 ,另外list支持for循环,也就是通过下标来遍历,也可以用迭代器,但是set只能用迭代,因为他无序,无法用下标来取得想要的值。List:和数组类似,List可以动态增长,查找元素效率高,插入删除元素效率低,因为会引起其他元素位置改变。

leikunbo的博客 223

Java Stream面试题

【代码】Stream面试题

qq_21277357的博客 1632

java基础面试题

数组在指定位置增删元素较慢,如果要在指定索引处增加一个元素,需要新创建一个数组,把原数组复制过去,再在创建的新数组末尾添加新元素,然后再次创建一个新数组,把指定索引位置前的数组直接复制过去,再在指定的索引处加入新添加的元素,剩余的元素索引加一,复制到对应的索引位置处。如果要在指定索引处删除一个元素,需要新创建一个数组,把指定索引位置前的数组直接复制过去,然后跳过指定的索引处的元素,剩余的元素索引减一,复制到对应的索引位置处。String的不可变指的是存储在堆中的内容不可变,但是栈中的引用可以变。

best_wan的博客 677

android banner框架_Android/Java面试题总结2020(转载+含答案),最近面试的一些企业也包含(记录+大厂也有)...

*******************知识总结**************Android面试题总结(含答案),欢迎各位补充。_z151213的博客-CSDN博客_android面试题总结(含答案),欢迎各位补充。*******************面试总结**************某桥,某康,某条,某旷,职位需求略有不同:主要是Java、C++(OpenGL)、Androidmvp,mvvm,...

weixin_29086203的博客 121

android mvvm框架搭建_Android/Java面试题总结2020(转载+含答案),最近面试的一些企业也包含(记录+大厂也有)...

*******************知识总结**************Android面试题总结(含答案),欢迎各位补充。_z151213的博客-CSDN博客_android面试题总结(含答案),欢迎各位补充。*******************面试总结**************某桥,某康,某条,某旷,职位需求略有不同:主要是Java、C++(OpenGL)、Androidmvp,mvvm,...

weixin_39783149的博客 134

java程序员面试题大全含答案(2018--2019)

java程序员面试题大全含答案(2018--2019) 1、10道经典java面试题_实习生必问! 2、15个Java线程并发面试题和答案 3、15个高级Java多线程面试题及回答 4、2018年java分布式相关最新面试题 5、2018最新java技术面试题与答案 6、4个Spring常见面试题及答案解析 7、css面试题及答案 8、HR常问面试题总结(...

技术研究中心 4127

Android面试题含答案

面试的时候总会遇到一些各种各样的面试题,而且这些面试题很多都是关于平时容易疏忽的理论方面的,所以整理一份Android高级开发工程师面试集锦,对照这些问题进行复习,将会事半功倍。从基础到中级在高级,从Android到java记录下来有需要的时候多复习复习,也希望能帮到有需要的你。 Android部分 1、Activity生命周期? 2、Service生命周期? 3、Activi...

hyd_coder的博客 2万+

几率大的数据库(MySQL)面试题含答案

本文的面试题如下: MyisAM和innodb的有关索引的疑问 innodb为什么要用自增id作为主键 MySql索引是如何实现的 说说分库与分表设计(面试过) 聚集索引与非聚集索引的区别 事务四大特性(ACID)原子性、一致性、隔离性、持久性? 事务的并发?事务隔离级别,每个级别会引发什么问题,MySQL默认是哪个级别? MySQL常见的存储引擎InnoDB、MyISAM的区别?【~】 数据库三...

4万+

【2022最新版】Java基础面试题总结(70道题含答案解析)

最近面试的小伙伴很多,对此整理了一份Java面试题手册:基础知识、Java集合/泛型面试题Java异常面试题Java中的IO与NIO面试题Java反射、Java序列化、Java注解、多线程&并发、JVM、Mysql、Redis、Memcached、MongoDB、Spring、SpringBoot、SpringCloud、RabbitMQ、等等。可以分享给大家学习。 【持续更新中】 ......

m0_58479954的博客 1万+

【2022最新Java面试宝典】—— Java异常面试题(33道含答案

目录一、Java异常架构与异常关键字1. Java异常简介2. Java异常架构1.Throwable2. Error(错误)3. Exception(异常)运行时异常编译时异常3. Java异常关键字二、Java异常处理1. 声明异常2. 抛出异常3. 捕获异常4. 如何选择异常类型5. 常见异常处理方式直接抛出异常封装异常再抛出捕获异常自定义异常try-catch-finallytry-with-resource三、Java异常常见面试题1. Error 和 Exception 区别是什么?2. 运行时

记录各种Bug解决案例及日常学习内容 8405

Java 最常见的 208 道面试题(含答案)之五

原文:https://blog.csdn.net/sufu1065/article/details/88051083 Java 最常见的 208 道面试题(含答案)之一 Java 最常见的 208 道面试题(含答案)之二 Java 最常见的 208 道面试题(含答案)之三 Java 最常见的 208 道面试题(含答案)之四 Java 最常见的 208 道面试题(含答案)之六 Java ...

shadow_zed的博客 4223

JAVA小白不得不知道的50个面试题含答案)——第五篇

问题涵盖了Java基础知识、面向对象编程、集合、多线程、异常处理、泛型、反射、JDBC、JVM以及设计模式等方面。设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式主要是为了解决在软件开发中反复出现的问题,并提供优化和测试过的经验法则,从而提高代码的可重用性、易读性、可扩展性和可靠性。

weixin_46123033的博客 656

2020最新面试题含答案

1.sql中有select,from,where,group by,order by,having请问sql执行时的顺序是怎样的? 答:前面从from(表)where(按条件取出数据)group by(再对取出的数据分组)having(分组后再过滤得到最新数据集)select(按照设置列从数据集里面去除数据)order by(对取出的数据进行排序) 执行顺序:from–where–group by...

余生一个帆的博客 1万+

字节跳动Java面试题、笔试题(含答案

其他互联网大厂面试题 1:阿里巴巴Java面试题 2:阿里云Java面试题-实习生岗 3:腾讯Java面试题-高级 4:字节跳动Java面试题 5:字节跳动Java面试题-大数据方向 6:百度Java面试题 7:蚂蚁金服Java面试题-中级 8:蚂蚁金服Java面试题-高级 9:京东Java面试题-中级 10:拼多多Java面试题-电商部 11:商汤科技Java面试题 12:中软国际Java面试题-初级 13:唯品会Java面试题 14:携程Java面试题-高级 15:软通动力Java面试题 下载链接:全

码农code之路 2613
上一篇: 操作系统概念
下一篇: Redis相关内容
BlooM_
博客等级 码龄8年 6粉丝 9原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值