专题5:Java序列化

  • 1、什么是java序列化,如何实现java序列化?

  • 2、保存(持久化)对象及其状态到内存或者磁盘

  • 3、序列化对象以字节数组保持-静态成员不保存

  • 4、序列化用户远程对象传输

  • 5、Serializable 实现序列化

  • 6、writeObject 和 readObject 自定义序列化策略

  • 7、序列化 ID

  • 8、序列化并不保存静态变量

  • 9、Transient 关键字阻止该变量被序列化到文件中

  • 10、序列化(深 clone 一中实现)

专题6:Java注解

  • 1、4种标准元注解是哪四种?

  • 2、注解是什么?

专题7:多线程&并发

  • 1、Java中实现多线程有几种方法

  • 2、继承 Thread 类

  • 3、实现 Runnable 接口。

  • 4、ExecutorService、 Callable、 Future 有返回值线程

  • 5、基于线程池的方式

  • 6、4 种线程池

  • 7、如何停止一个正在运行的线程

  • 8、notify()和notifyAll()有什么区别?

  • 9、sleep()和wait() 有什么区别?

  • 10、volatile 是什么?可以保证有序性吗?

  • 11、Thread 类中的start() 和 run() 方法有什么区别?

  • 12、为什么wait, notify 和 notifyAll这些方法不在thread类里面?

  • 13、为什么wait和notify方法要在同步块中调用?

  • 14、Java中interrupted 和 isInterruptedd方法的区别?

  • 15、Java中synchronized 和 ReentrantLock 有什么不同?

  • 16、有三个线程T1,T2,T3,如何保证顺序执行?

  • 17、SynchronizedMap和ConcurrentHashMap有什么区别?

  • 18、什么是线程安全

  • 19、Thread类中的yield方法有什么作用?

  • 20、Java线程池中submit() 和 execute()方法有什么区别?

  • 21、说一说自己对于 synchronized 关键字的了解

  • 22、说说自己是怎么使用 synchronized 关键字,在项目中用到了吗synchronized关键字最主要的三种使用方式

  • 23、什么是线程安全?Vector是一个线程安全类吗?

  • 24、volatile关键字的作用?

  • 25、简述一下你对线程池的理解

  • 26、线程生命周期(状态)

  • 27、新建状态(NEW)

  • 28、就绪状态(RUNNABLE)

  • 29、运行状态(RUNNING)

  • 30、阻塞状态(BLOCKED)

  • 31、线程死亡(DEAD)

  • 32、终止线程 4 种方式

  • 33、start 与 run 区别

  • 34、JAVA 后台线程

  • 35、什么是乐观锁

  • 36、什么是悲观锁

  • 37、什么是自旋锁

  • 38、Synchronized 同步锁

  • 39、ReentrantLock

  • 40、Condition 类和 Object 类锁方法区别区别

  • 41、tryLock 和 lock 和 lockInterruptibly 的区别

  • 42、Semaphore 信号量

  • 43、Semaphore 与 ReentrantLock 区别

  • 44、可重入锁(递归锁)

  • 45、公平锁与非公平锁

  • 46、ReadWriteLock 读写锁

  • 47、共享锁和独占锁

  • 48、重量级锁(Mutex Lock)

  • 49、轻量级锁

  • 50、偏向锁

  • 51、分段锁

  • 52、锁优化

  • 53、线程基本方法

  • 54、线程等待(wait)

  • 55、线程睡眠(sleep)

  • 56、线程让步(yield)

  • 57、线程中断(interrupt)

  • 58、Join 等待其他线程终止

  • 59、为什么要用 join()方法?

  • 60、线程唤醒(notify)

  • 61、线程其他方法

  • 62、进程

  • 63、上下文

  • 64、寄存器

  • 65、程序计数器

  • 66、PCB-“切换桢”

  • 67、上下文切换的活动

  • 68、引起线程上下文切换的原因

  • 69、同步锁

  • 70、死锁

  • 71、线程池原理

  • 72、线程复

  • 73、线程池的组成

  • 74、拒绝策略

  • 75、Java 线程池工作过程

  • 76、JAVA 阻塞队列原理

  • 77、Java 中的阻塞队列

  • 78、ArrayBlockingQueue(公平、非公平)

  • 79、LinkedBlockingQueue(两个独立锁提高并发)

  • 80、PriorityBlockingQueue(compareTo 排序实现优先)

  • 81、DelayQueue(缓存失效、定时任务 )

  • 82、SynchronousQueue(不存储数据、可用于传递数据)

  • 83、LinkedTransferQueue

  • 84、LinkedBlockingDeque

  • 85、在 java 中守护线程和本地线程区别

  • 86、线程与进程的区别?

  • 87、什么是多线程中的上下文切换?

  • 88、死锁与活锁的区别,死锁与饥饿的区别?

  • 89、Java 中用到的线程调度算法是什么?

  • 90、什么是线程组,为什么在 Java 中不推荐使用?

  • 91、为什么使用 Executor 框架?

  • 92、在 Java 中 Executor 和 Executors 的区别?

  • 93、如何在 Windows 和 Linux 上查找哪个线程使用的 CPU 时间最长?

  • 94、什么是原子操作?在 Java Concurrency API 中有哪些原子类(atomic classes)?

  • 95、Java Concurrency API 中的 Lock 接口(Lock interface)是什么?对比同步它有什么优势?

  • 96、什么是 Executors 框架?

  • 97、什么是阻塞队列?阻塞队列的实现原理是什么?如何使用阻塞队列来实现生产者-消费者模型?

  • 98、什么是 Callable 和 Future?

  • 99、什么是 FutureTask?使用 ExecutorService 启动任务。

  • 100、什么是并发容器的实现?

  • 101、多线程同步和互斥有几种实现方法,都是什么?

  • 102、什么是竞争条件?你怎样发现和解决竞争?

  • 103、为什么我们调用 start()方法时会执行 run()方法,为什么我们不能直接调用 run()方法?

  • 104、Java中,你怎样唤醒一个阻塞的线程?

  • 105、在 Java 中 CycliBarriar 和 CountdownLatch 有什么区别?

  • 106、什么是不可变对象,它对写并发应用有什么帮助?

  • 107、Java 中用到的线程调度算法是什么?

  • 108、什么是线程组,为什么在 Java 中不推荐使用?

专题8:JVM

  • 1、java中会存在内存泄漏吗,请简单描述。

  • 2、64 位 JVM 中,int 的长度是多数?

  • 3、Serial 与 Parallel GC 之间的不同之处?

  • 4、32 位和 64 位的 JVM,int 类型变量的长度是多数?

  • 5、Java 中 WeakReference 与 SoftReference 的区别?

  • 6、JVM 选项 -XX:+UseCompressedOops 有什么作用?为什么要使用?

  • 7、怎样通过 Java 程序来判断 JVM 是 32 位 还是 64位?

  • 8、32 位 JVM 和 64 位 JVM 的最大堆内存分别是多数?

  • 9、JRE、JDK、JVM 及 JIT 之间有什么不同?

  • 10、解释 Java 堆空间及 GC?

  • 11、JVM 内存区域

  • 12、程序计数器(线程私有)

  • 13、虚拟机栈(线程私有)

  • 14、本地方法区(线程私有)

  • 15、你能保证 GC 执行吗?

  • 16、怎么获取 Java 程序使用的内存?堆使用的百分比?

  • 17、Java 中堆和栈有什么区别?

  • 18、描述一下 JVM 加载 class 文件的原理机制

  • 19、GC 是什么?为什么要有 GC?

  • 20、堆(Heap-线程共享) -运行时数据区

  • 21、方法区/永久代(线程共享)

  • 22、JVM 运行时内存

  • 23、新生代

  • 24、老年代

  • 25、永久代

  • 26、JAVA8 与元数据

  • 27、引用计数法

  • 28、可达性分析

  • 29、标记清除算法( Mark-Sweep)

  • 30、复制算法(copying)

  • 31、标记整理算法(Mark-Compact)

  • 32、分代收集算法

  • 33、新生代与复制算法

  • 34、老年代与标记复制算法

  • 35、JAVA 强引用

  • 36、JAVA软引用

  • 37、JAVA弱引用

  • 38、JAVA虚引用

  • 39、分代收集算法

  • 40、在新生代-复制算法

  • 41、在老年代-标记整理算法

  • 42、分区收集算法

  • 43、GC 垃圾收集器

  • 44、Serial 垃圾收集器(单线程、 复制算法)

  • 45、ParNew 垃圾收集器(Serial+多线程)

  • 46、Parallel Scavenge 收集器(多线程复制算法、高效)

  • 57、Serial Old 收集器(单线程标记整理算法 )

  • 58、Parallel Old 收集器(多线程标记整理算法)

  • 59、CMS 收集器(多线程标记清除算法)

  • 60、G1 收集器

  • 61、JVM 类加载机制

  • 62、类加载器

  • 63、双亲委派

  • 64、OSGI( 动态模型系统)

  • 65、动态改变构造

  • 66、模块化编程与热插拔

  • 67、JVM内存模型

  • 68、栈

  • 69、本地方法栈

  • 70、程序计数器

  • 71、堆

  • 72、方法区

  • 73、分代回收

  • 74、堆和栈的区别

  • 75、什么时候会触发FullGC

  • 76、什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”?

  • 77、对象分配规则

  • 78、描述一下JVM加载class文件的原理机制?

  • 79、Java对象创建过程

  • 80、简述Java的对象结构

  • 81、如何判断对象可以被回收

  • 82、JVM的永久代中会发生垃圾回收么

  • 83、垃圾收集算法

  • 84、调优命令有哪些?

  • 85、调优工具

  • 86、Minor GC与Full GC分别在什么时候发生?

  • 87、你知道哪些JVM性能调优

专题9:Mysql

  • 1、数据库存储引擎

  • 2、InnoDB(B+树)

  • 2、TokuDB( Fractal Tree-节点带数据)

  • 3、MyIASM

  • 4、Memory

  • 5、数据库引擎有哪些

  • 6、InnoDB与MyISAM的区别

  • 7、索引

  • 8、常见索引原则有

  • 9、数据库的三范式是什么

  • 10、第一范式(1st NF - 列都是不可再分)

  • 11、第二范式(2nd NF- 每个表只描述一件事情)

  • 12、第三范式(3rd NF- 不存在对非主键列的传递依赖)

  • 13、数据库是事务

  • 14、SQL优化

  • 15、简单说一说drop、delete与truncate的区别

  • 16、什么是视图

  • 17、什么是内联接、左外联接、右外联接?

  • 18、并发事务带来哪些问题?

  • 19、事务隔离级别有哪些?MySQL的默认隔离级别是?

  • 20、大表如何优化?

  • 21、水平分区

  • 22、分库分表之后,id 主键如何处理

  • 23、存储过程(特定功能的 SQL 语句集)

  • 24、存储过程优化思路

  • 25、触发器(一段能自动执行的程序)

  • 26、数据库并发策略

  • 27、MySQL 中有哪几种锁?

  • 28、MySQL 中有哪些不同的表格?

  • 29、简述在 MySQL 数据库中 MyISAM 和 InnoDB 的区别

  • 30、MySQL 中 InnoDB 支持的四种事务隔离级别名称,以及逐级之间的区别?

  • 31、CHAR 和 VARCHAR 的区别?

  • 32、主键和候选键有什么区别?

  • 33、myisamchk 是用来做什么的?

  • 34、MyISAM Static 和 MyISAM Dynamic 有什么区别?

  • 35、如果一个表有一列定义为 TIMESTAMP,将发生什么?

  • 36、你怎么看到为表格定义的所有索引?

  • 37、LIKE 声明中的%和_是什么意思?

  • 38、列对比运算符是什么?

  • 39、BLOB 和 TEXT 有什么区别?

  • 40、MySQL_fetch_array 和 MySQL_fetch_object 的区别是什么?

  • 41、MyISAM 表格将在哪里存储,并且还提供其存储格式?

  • 42、MySQL 如何优化 DISTINCT?

  • 43、如何显示前 50 行?

  • 44、可以使用多少列创建索引?

  • 45、NOW()和 CURRENT_DATE()有什么区别?

  • 46、什么是非标准字符串类型?

  • 47、什么是通用 SQL 函数?

  • 48、MySQL 支持事务吗?

  • 49、MySQL 里记录货币用什么字段类型好

  • 50、MySQL 有关权限的表都有哪几个?

  • 51、列的字符串类型可以是什么?

  • 52、MySQL 数据库作发布系统的存储,一天五万条以上的增量,预计运维三年,怎么优化?

  • 53、锁的优化策略

  • 54、索引的底层实现原理和优化

  • 55、什么情况下设置了索引但无法使用

  • 56、实践中如何优化 MySQL

  • 57、优化数据库的方法

  • 58、简单描述 MySQL 中,索引,主键,唯一索引,联合索引的区别,对数据库的性能有什么影响(从读写两方面)

  • 59、数据库中的事务是什么?

  • 60、SQL 注入漏洞产生的原因?如何防止?

  • 61、为表中得字段选择合适得数据类型

  • 62、存储时期

  • 63、对于关系型数据库而言,索引是相当重要的概念,请回答有关索引的几个问题

  • 64、解释 MySQL 外连接、内连接与自连接的区别

  • 65、Myql 中的事务回滚机制概述

  • 66、SQL 语言包括哪几部分?每部分都有哪些操作关键

  • 67、完整性约束包括哪些?

  • 68、什么是锁?

  • 69、什么叫视图?游标是什么?

  • 70、什么是存储过程?用什么来调用?

  • 71、如何通俗地理解三个范式?

  • 72、什么是基本表?什么是视图?

  • 73、试述视图的优点?

  • 74、NULL 是什么意思

  • 75、主键、外键和索引的区别?

  • 76、你可以用什么来确保表格里的字段只接受特定范围里的值?

  • 77、说说对 SQL 语句优化有哪些方法?(选择几条)

  • 78、什么是乐观锁

  • 79、什么是悲观锁

  • 80、什么是时间戳

  • 81、什么是行级锁

  • 82、什么是表级锁

  • 83、什么是页级锁

最后

最后,强调几点:

  • 1. 一定要谨慎对待写在简历上的东西,一定要对简历上的东西非常熟悉。因为一般情况下,面试官都是会根据你的简历来问的; 能有一个上得了台面的项目也非常重要,这很可能是面试官会大量发问的地方,所以在面试之前好好回顾一下自己所做的项目;
  • 2. 和面试官聊基础知识比如设计模式的使用、多线程的使用等等,可以结合具体的项目场景或者是自己在平时是如何使用的;
  • 3. 注意自己开源的Github项目,面试官可能会挖你的Github项目提问;

我个人觉得面试也像是一场全新的征程,失败和胜利都是平常之事。所以,劝各位不要因为面试失败而灰心、丧失斗志。也不要因为面试通过而沾沾自喜,等待你的将是更美好的未来,继续加油!

以上面试专题的答小编案整理成面试文档了,文档里有答案详解,以及其他一些大厂面试题目。

如何获取整理好的Java面试专题资料?

资料获取方式:点击这里免费下载

面试答案

最后

最后,强调几点:

  • 1. 一定要谨慎对待写在简历上的东西,一定要对简历上的东西非常熟悉。因为一般情况下,面试官都是会根据你的简历来问的; 能有一个上得了台面的项目也非常重要,这很可能是面试官会大量发问的地方,所以在面试之前好好回顾一下自己所做的项目;
  • 2. 和面试官聊基础知识比如设计模式的使用、多线程的使用等等,可以结合具体的项目场景或者是自己在平时是如何使用的;
  • 3. 注意自己开源的Github项目,面试官可能会挖你的Github项目提问;

我个人觉得面试也像是一场全新的征程,失败和胜利都是平常之事。所以,劝各位不要因为面试失败而灰心、丧失斗志。也不要因为面试通过而沾沾自喜,等待你的将是更美好的未来,继续加油!

以上面试专题的答小编案整理成面试文档了,文档里有答案详解,以及其他一些大厂面试题目。

如何获取整理好的Java面试专题资料?

资料获取方式:点击这里免费下载

面试答案

[外链图片转存中…(img-27vd7j2u-1625046901091)]

[外链图片转存中…(img-I5yUXcBp-1625046901093)]

Java高级面试题!java编程思想怎么学相关推荐

  1. 【JAVA】2022年JAVA高级面试题汇总

    一.参考资料 不容错过的Java高级面试题_帝都的雁的博客-CSDN博客_java高级面试题 java面试题汇总(上)_Oliverfly1的博客-CSDN博客_java面试题 史上最全的中高级 JA ...

  2. JAVA高级面试题汇总及答案

    JAVA高级面试题汇总及答案 1.hashaMap原理源码 2.synchronize关键字1.6之后的优化,(偏向轻量级锁,重量级锁) 3.双亲委派是什么 4.类加载过程中可以动态改字节码吗? 5. ...

  3. java高级面试题收集及答案

    2021 java高级面试题收集及答案 以下问题是个人面试时收集,答案纯属个人见解,如有错误请不吝赐教,感激不尽. 这里写目录标题 2021 java高级面试题收集及答案 一级目录 二级目录 三级目录 ...

  4. 2023最新ChatGPT整理的40道Java高级面试题

    2023 年最火的就是 ChatGPT 了,很多同事使用他完成一些代码上的智能提示,也有人使用它发了财<「用ChatGPT年入百万!」各博主发布生财之道,网友:答辩搬运工>.<&qu ...

  5. 17、Java中的面向对象的编程思想

    Java中的面向对象的编程思想 作者:韩茹 公司:程序咖(北京)科技有限公司 程序咖:IT职业技能评测平台 网址:https://www.chengxuka.com 任务 1. 面向对象 2. 面向过 ...

  6. JAVA中的线程安全与非线程安全,java面试题,java高级笔试题

    写在最前面,我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家.扫码加微信好友进[程序员面试学习交流群],免费领取.也欢迎各位一起在群里探讨技术. 转自 ...

  7. Java常见面试题 Java面试必看 (一)

    本篇博客是本人收集网上Java相关的资料整理所得,仅供参考. 一.Java基础 1.JDK 和 JRE区别 JDK(Java Development Kit)是针对Java开发员的产品,是整个Java ...

  8. Java高级篇——深入浅出Java类加载机制

    转载自 Java高级篇--深入浅出Java类加载机制 类加载器 简单讲,类加载器ClassLoader的功能就是负责将class文件加载到jvm内存. 类加载器分类 从虚拟机层面讲分为两大类型的类加载 ...

  9. Java常见面试题 Java面试必看 (二)

    Java常见面试题 Java面试必看 (一) 十一.Spring Boot/Spring Cloud 104.什么是 spring boot? Spring Boot 是由 Pivotal 团队提供的 ...

最新文章

  1. 现阶段的微信小程序能实现直播功能么?
  2. 图解 wp WordPress 文章 链接 在新窗口打开
  3. P1642 规划 01分数规划+树形DP
  4. NGUI UIRoot原理分析
  5. tensorflow 图像教程 の TF Layers 教程:构建卷积神经网络
  6. 在使用net start mysql命令时提示键入 net helpmsg 3523错误
  7. 多个常见代码设计缺陷
  8. virtual、override-蝌蚪和青蛙-C#多态
  9. Hook技术之Hook Activity
  10. Metasploit Framework命令汇总
  11. Hibernate框架之HQL查询与Criteria 查询的区别
  12. [设计模式-结构型]享元模式(Flyweight )
  13. 运筹优化(四)--线性规划之对偶问题和灵敏度分析
  14. Java 小Q 世界上最遥远的距离 解法二
  15. 裁剪用C语言,多边形裁剪
  16. Android进阶2之有道词典开发
  17. java随机获取字母,Java程序获取随机字母
  18. matlab中caitu_tiqu,Matlab平台基于颜色的车牌识别程序
  19. 渣渣本科的2021届秋招总结-泪目
  20. Kaggle竞赛——Titanic泰坦尼克之灾(0.76315==>0.79186)

热门文章

  1. matlab生成HEX文件-任意信号 大于64K长度
  2. 计算机斐波那流程图,循环结构——斐波那契数列.DOC
  3. linux基本命令du,Linux常用操作命令汇总
  4. pdo mysql fedora_在Fedora 23 Server和Workstation上安装LAMP(Linux, Apache, MariaDB和PHP)
  5. android 录音原始文件_音频采集:Android基于AudioRecord的实现
  6. 达梦数据库查询数据库所有表名_达梦数据库的一些实用小SQL
  7. http 二进制_浅谈HTTP协议
  8. 力扣面试题 01.07. 旋转矩阵
  9. Win32ASM学习[17]:条件跳转
  10. 【DSP复习主要知识点】(大概)