栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

5年京东疯狂资深架构师整理出来的一份Java核心知识点,PDF篇

5年京东疯狂资深架构师整理出来的一份Java核心知识点,PDF篇

在上一篇文章中给大家分享了大厂面试的题材,这一篇我给大家分享我在京东工作这些年总结的一份蛮不错的Java核心知识点。覆盖了JVM、锁、并发、Java反射、Spring原理、微服务、Zookeeper、数据库、数据结构等大量知识点,分享给大家,希望能给你们带来一些帮助。这些知识点仅代表本人的经验,总结。我把他结合成了PDF。如觉得你们有更好的知识点可以评论探讨。最后,点赞+转发+关注。私信回复暗号:【444】获取这套java的核心知识点。包括一些大厂面试资料。

目录

基础篇:

JDK常用的包Get和Post的区别ava多态的具体体现Hashtable与HashMap的区别九大隐式对象Forword(请求转发)与Redirect(重定向)JQurey总结XML和Json的特点Ajax总结JSP9大隐视对象中四个作用域的大小与作用范围java的基本数据类型冒泡排序二分查找法时间类型转换阶乘UE和UI的区别osi七层模型线程和进程的区别jvm的内存结构内存泄露和内存溢出.................

并发篇

Synchronized用过吗,其原理是什么?你刚才提到获取对象的锁,这个“锁”到底是什么?如何确定对象的锁?什么是可重入性,为什么说;Synchronized 是可重入锁?JVM对Java的原生物做了事些优化?为什么说Sychronized是非公平锁?什么是锁消除和锁粗化?为什么说Schrorized是个悲观物?乐观锁的实现原理又是什么?什么是CAS,它有乐观锁-定就是好的吗?Java中的线程池是如何实现的?创建线程池的几个核心构造参数?线程池中的线程是怎么创建的?是一开始就随着线程池的启动创建好的吗?既然提到可以通过配置不同参数创建出不同的线程池,那么Java中默认实现好的线程池又有哪些呢?如何在Java线程池中提交线程?

对象头:存储对象的 hashCode、锁信息或分代年龄或 GC 标志,类型指针指向对象的类元数据,JVM 通过这个指针确定该对象是哪个类的实例等信息。

实例变量:存放类的属性数据信息,包括父类的属性信息。

填充数据:由于虚拟机要求对象起始地址必须是 8 字节的整数倍。填充数据不是必须存在的,仅仅是为了字节对齐。

●加锁时的流程

当执行 synchronized 同步方法或同步代码块时,会在对象头中记录锁标记,锁标记指向的是 monitor 对象(也称为管程或监视器锁)的起始地址来记录锁信息。每个对象都存在着一个 monitor 与之关联,对象与其 monitor 之间的关系有存在多种实现方式,如 monitor 可以与对象一起创建销毁或当线程试图获取对象锁时自动生成,但当一个 monitor 被某个线程持有后,它便处于锁定状态。

另外的线程想获取对象头中的锁信息的时候,会发现对象头中已经记录一把锁(monitor),他就获取不到。monitor是互斥的,对象头记录的monitor就不会分配给其他线程了,此时这个线程就会进入阻塞状态。当执行中的线程发生异常,或者是释放锁标记,对象头的锁信息就会释放它记录的monitor。阻塞状态的线程就会弹出来一同争夺,重新在锁信息中记录monitor。

ObjectMonitor(java的monitor的实现)中有两个队列,_WaitSet 和 _EntryList,以及_Owner标记。其中WaitSet是用于管理等待队列(wait)线程的,EntryList 是用于管理锁池阻塞线程的,_Owner 标记用于记录当前执行线程。

JVM篇

1、类加载器(Class Loader)2、运行时数据区(Runtime Data Area)3、执行引擎(Execution Engine)4、本地库接口(Native Interface)5、本地方法库(Native Libraies)

类加载器:加载字节码文件到内存。

执行引擎:对 JVM 指令进行解析,翻译成机器码,解析完成后提交到操作系统中。

本地库接口:供 Java 调用的融合了不同开发语言的原生库。

本地方法库:Java 本地方法的具体实现。

运行时数据区:JVM 核心内存空间结构模型。

网络

网络7层架构TCP/IP原理TCP三次握手/四次挥手选项:最常见的可选字段是最长报文大小,又称为MSS(Maximum Segment Siz数据: TCP报文段中的数据部分是可选的。在一个连接建立和一个连接终止时,双方交换的报文段三次握手四次挥手HTTP原理传输流程HTTP状态HTTPSCDN原理

数据库

1.请简洁描述MySQL中InnoDB支持的四种事务隔离级别名称,以及逐级之间的区别?2.在MySQL中ENUM的用法是什么?3. CHAR和VARCHAR的区别?4.列的字符串类型可以是什么?5. MySQL中使用什么存储引擎?6. TIMESTAMP在UPDATE CURRENT TIMESTAMP数据类型上做什么?7.主键和候选键有什么区别?8. MySQL数据库服务器性能分析的方法命令有哪些?9. LIKE和REGEXP操作有什么区别?10. BLOB和TEXT有什么区别?11.数据库的三范式?12. MySQL表中允许有多少个TRIGGERS?13.什么是通用SQL函数?14. MySQL中有哪几种锁?15. MySQL数据优化。16. MySQL的关键字。17.存储引擎。18.数据库备份。19. truncate delete drop的区别。20. Redis是什么?两句话做一下概括。21. Redis (管道,哈希)。22. Redis实现原理或机制。23. Redis有两种类型分区。24.什么是MongoDB。25. MongoDB特点。26. MongoDB的功能。

Spring 原理

1.、 什么是Spring框架? Spring框架有哪些主要模块?2、使用Spring框架能带来哪些好处?3、什么是控制反转(IOC)?什么是依赖注入?4、请解释下Spring框架中的loC?5、BeanFactory 和ApplicationContext有什么区别?6、Spring 有几种配置方式?7.如何用基于XML配置的方式配置Spring?8.如何用基于Java配置的方式配置Spring?9、怎样用注解的方式配置Spring?10、 请解释Spring Bean的生命周期?11、Spring Bean的作用域之间有什么区别?12、什么是Spring inner beans?13、Spring 框架中的单例Beans是线程安全的么?14、请举例说明如何在Spring中注入-个Java Collection?15、如何向Spring Bean中注入一个Java.util.Properties?16. 请解释Spring Bean的自动装配?17、请解释自动装配模式的区别?18. 如何开启基于注解的自动装配?19.请举例解释@Required注解?20.请举例解释@Autowired注解?22、构造方法注入和设值注入有什么区别?23、Spring 框架中有哪些不同类型的事件?24、FileSystemResource 和ClassPathResource有何区别25、Spring 框架中都用到了哪些设计模式?

以及Spring面试

微服务

用户服务商品服务促销服务订单服务数据分析服务

Zookeeper

ZooKeeper是什么?ZooKeeper提供了什么?Zookeeper文件系统四种类型的znodeZookeeper通知机制Zookeeper做了什么?zk的命名服务(文件系统)zk的配置管理(文件系统、通知机制)Zookeeper集群管理(文件系统、通知机制)Zookeeper分布式锁(文件系统、通知机制)获取分布式锁的流程Zookeeper队列管理(文件系统、通知机制)Zookeeper数据复制Zookeeper工作原理zookeeper是如何保证事务的顺序一致性的?Zookeeper下Server工作状态zookeeper是如何选取主leader的?Zookeeper同步流程分布式通知和协调机器中为什么会有leader?zk节点宕机如何处理?zookeeper负载均衡和nginx负裁均衡区别zookeeper watch机制

大厂面试题资料

总结

还有很多我就不全部展示出来了,学习的过程是艰辛的,只有不断地去更新自己的知识库,你的储存库里永远不会出现高并发。最后我把这些总结写成了PDF,喜欢学习的小伙伴可以点赞+转发+关注。私信【444】即可免费获取java高端精准知识点,和大厂面试资料。

Java码农之路

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/773793.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号