摘要

Spring框架自诞生来就备受开发者青睐,很多开发者一致认为它是目前最屌的Java项目,正是因为它的“过人之处”,市面上99%的企业都在使用Spring框架。

所以,Spring一直Java技术里的重点难点,也是Java开发者面试中的重点,重要性不言而喻。

谷歌大牛甚至直言:“对于Java开发者,学习Java就是在学Spring。”

本篇内容一定是你从所未见过的学习笔记,我将分成4个部分跟大家分享,请认真看完本文,对你工作一定大有帮助!

本文所提供的限量版笔记无偿分享,请关注我!转发!点赞!支持一下!

专题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、什么是页级锁

最后

小编在这里分享些我自己平时的学习资料,由于篇幅限制,pdf文档的详解资料太全面,细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!有需要的程序猿(媛)可以关注+点赞,点击这里免费获取

程序员代码面试指南 IT名企算法与数据结构题目最优解

这是” 本程序员面试宝典!书中对IT名企代码面试各类题目的最优解进行了总结,并提供了相关代码实现。针对当前程序员面试缺乏权威题目汇总这一-痛点, 本书选取将近200道真实出现过的经典代码面试题,帮助广“大程序员的面试准备做到万无一失。 “刷”完本书后,你就是“题王”!

《TCP-IP协议组(第4版)》

本书是介绍TCP/IP协议族的经典图书的最新版本。本书自第1版出版以来,就广受读者欢迎。

本书最新版进行」护元,以体境计算机网络技不的最新发展,全书古有七大部分共30草和7个附录:第一部分介绍一些基本概念和基础底层技术:第二部分介绍网络层协议:第三部分介绍运输层协议;第四部分介绍应用层协议:第五部分介绍下一代协议,即IPv6协议:第六部分介绍网络安全问题:第七部分给出了7个附录。

Java开发手册(嵩山版)

这个不用多说了,阿里的开发手册,每次更新我都会看,这是8月初最新更新的**(嵩山版)**

MySQL 8从入门到精通

本书主要内容包括MySQL的安装与配置、数据库的创建、数据表的创建、数据类型和运算符、MySQL 函数、查询数据、数据表的操作(插入、更新与删除数据)、索引、存储过程和函数、视图、触发器、用户管理、数据备份与还原、MySQL 日志、性能优化、MySQL Repl ication、MySQL Workbench、 MySQL Utilities、 MySQL Proxy、PHP操作MySQL数据库和PDO数据库抽象类库等。最后通过3个综合案例的数据库设计,进步讲述 MySQL在实际工作中的应用。

Spring5高级编程(第5版)

本书涵盖Spring 5的所有内容,如果想要充分利用这一领先的企业级 Java应用程序开发框架的强大功能,本书是最全面的Spring参考和实用指南。

本书第5版涵盖核心的Spring及其与其他领先的Java技术(比如Hibemate JPA 2.Tls、Thymeleaf和WebSocket)的集成。本书的重点是介绍如何使用Java配置类、lambda 表达式、Spring Boot以及反应式编程。同时,将与企业级应用程序开发人员分享一些见解和实际经验,包括远程处理、事务、Web 和表示层,等等。

JAVA核心知识点+1000道 互联网Java工程师面试题

企业IT架构转型之道 阿里巴巴中台战略思想与架构实战

本书讲述了阿里巴巴的技术发展史,同时也是-部互联网技 术架构的实践与发展史。

Proxy、PHP操作MySQL数据库和PDO数据库抽象类库等。最后通过3个综合案例的数据库设计,进步讲述 MySQL在实际工作中的应用。

[外链图片转存中…(img-JIjVLzGi-1618209532559)]

Spring5高级编程(第5版)

本书涵盖Spring 5的所有内容,如果想要充分利用这一领先的企业级 Java应用程序开发框架的强大功能,本书是最全面的Spring参考和实用指南。

本书第5版涵盖核心的Spring及其与其他领先的Java技术(比如Hibemate JPA 2.Tls、Thymeleaf和WebSocket)的集成。本书的重点是介绍如何使用Java配置类、lambda 表达式、Spring Boot以及反应式编程。同时,将与企业级应用程序开发人员分享一些见解和实际经验,包括远程处理、事务、Web 和表示层,等等。

[外链图片转存中…(img-dLDtgbYc-1618209532560)]

JAVA核心知识点+1000道 互联网Java工程师面试题

[外链图片转存中…(img-VqijltVc-1618209532561)]

[外链图片转存中…(img-FzGnmRmj-1618209532562)]

企业IT架构转型之道 阿里巴巴中台战略思想与架构实战

本书讲述了阿里巴巴的技术发展史,同时也是-部互联网技 术架构的实践与发展史。

Zookeeper一致性级别分析,含爱奇艺,小米,腾讯,阿里相关推荐

  1. 爱奇艺,腾讯和优酷市场分析(1)

    在影视行业迅猛发展与粉丝经济的强大带动背景下,爱奇艺与腾讯视频借助其自身流量优势,纷纷推出了泡泡与doki两个子功能,爱奇艺更是将原有交互界面改版,以增加用户对于泡泡功能的使用频率.本文主要针对爱奇艺 ...

  2. 互联网晚报 | 10月5日 星期二 | 爱奇艺、腾讯、优酷宣布取消超前点播;蜜雪冰城冲刺A股上市;吴京主演电影票房超200亿...

    ‍ 今日看点 ✦ 爱奇艺.腾讯视频.优酷相继宣布取消剧集超前点播服务 ✦ 吴京主演电影票房超200亿,成为中国电影市场第二位200亿主演票房影人 ✦ 蜜雪冰城冲刺A股上市:已完成IPO辅导备案,门店数 ...

  3. 爱奇艺、腾讯视频等接连涨价 地主家也没有余粮了?

    继爱奇艺.芒果TV后,腾讯视频会员也要涨价了. 4月9日,腾讯视频宣布将于4月20日零点对腾讯视频VIP和超级影视VIP会员价格进行调整.其中,腾讯视频VIP月卡以及超级影视VIP的多项套餐等5种会员 ...

  4. 传“爱奇艺与腾讯在接触”:谁才是爱奇艺门外的野蛮人?

    在李彦宏和龚宇联手MBO爱奇艺后,资本市场传来最新的消息是,爱奇艺和腾讯正在进行资本接触. 这并非是爱奇艺和腾讯第一次闹"资本绯闻".2015年上半年,坊间传闻腾讯.百度.爱奇艺三 ...

  5. 动漫市场硝烟再起:优酷、爱奇艺、腾讯三方如何互掐?

    2018年对不少行业来说都不太友好,P2P的频频爆雷.长租公寓的频频爆仓.游戏行业和影视行业均进入资本寒冬等等都证实了这一点.而与游戏行业.影视行业有密切关系的动漫行业在今年也受到了不小的打击.市场上 ...

  6. 步爱奇艺与腾讯视频的后尘,B站扬帆出海能否跨海破圈?

    2020年,"出海潮"成为不少互联网企业的动作之一,哔哩哔哩的出海计划也已经提上了日程. 12月28日消息,B站已经登陆东南亚市场.视频平台"出海",在哔哩哔哩 ...

  7. 爱奇艺,腾讯Java岗面试经历,这些问题我是真没抗住

    前言 对, 就是今年的金九银十,我满怀希望的抓住了这次面试招聘的好机会,也只是没想到这才开始就遇到了不测,接连面试了两个心仪的公司都没过,面试过程可以算是最心酸了的一次经历了,最心酸的两次-详细的过程 ...

  8. 爱奇艺、腾讯、优酷同日宣布:全面取消超前点播

    近日,视频平台爱奇艺.优酷和腾讯先后宣布,将取消超前点播.这也标志着"超前点播"这一备受争议的模式最终被平台放弃. 面对这一突然宣布的措施,众多网友纷纷叫好,许多人表示,自己开通多 ...

  9. 阻止爱奇艺、腾讯视频强制更新,和爱奇艺万能播放器联网

    1.阻止爱奇艺强制更新 在地址栏输入%appdata%\IQIYI Video\LStyle,将此文件夹下的QyUpdate.exe和QyUpdate.ini设置为只读,然后复制粘贴一份,命名为QyU ...

  10. 安卓开发快速上手!优秀Android程序员必知必会的网络基础,含爱奇艺,小米,腾讯,阿里

    写这篇文章的目的是想说说这段时间一直被不断提起搞得人心惶惶的话题,裁员.为什么突然聊这个,本来一直是想避开这个话题的,一是网上已经有了铺天盖地的消息不想要再造成大家的恐慌,二是我身边几乎没有发生这样的 ...

最新文章

  1. Gartner 2019年超融合魔力象限:新增深信服,国内华为、华云在榜
  2. 前端模块化,AMD与CMD的区别
  3. 记一次php手工注入(mysql)
  4. ArrayList集合的使用和源码详细分析
  5. php怎么检查输入名称,PHP |通过$_POST []获取输入名称
  6. 软件oem要注意什么_做化妆品oem,选择化妆品包材要注意什么问题
  7. java自定义栈类代码,异常堆栈和自定义类
  8. Android的触摸监听器实现滑动图片
  9. Kafka Producer生产者原理
  10. clousx6机器人怎么导入词库_clousx6
  11. android斗鱼app源代码,android文件管理器源码、斗鱼直播源码、企业级erp源码等
  12. 数学建模——SPSS的非参数检验
  13. 51单片机学习制作定时闹钟及《花海》演奏
  14. 数字电路——流水灯(二)_往返流水灯
  15. rxjava背压_Android RxJava :图文详解 背压策略
  16. Metasploitable渗透测试实战:ms17-010
  17. RN导入高德地图定位的用法实例
  18. win10计算机搜索记录怎么删除,Win10系统
  19. 股票的发行原理是什么?
  20. python初体验-hello world答案_第三节 Hello world --python初体验

热门文章

  1. 裁剪图片 华为手机显示为圆
  2. Day28——回溯法力扣打卡
  3. 在线的MySQL数据库表结构对比工具
  4. 看完这个教程,不怕Xshell中修改字体有困难
  5. 手机间高速传输---微传
  6. 洛谷 P1567 统计天数
  7. 学习云计算怎么样?云服务和云计算有什么区别?
  8. 在GitHub上被称为“MySQL荣耀笔记“,从入门到精通只需一个月
  9. 怎么对document.write写出来的内容调整对齐方式_【求职技巧】给少数人:硅谷BAT级别的简历这么写...
  10. 夸克浏览器网页版入口网址分享