java开发中间件学习记录(持续更新中~)

1 Redis

2JVM

3 java基础底层

4Mysql

5 spring

6 微服务

7.......(持续更新)

One:Redis篇

1:Redis

1.穿透 

1.1缓存穿透

1.1.1布隆过滤器 

1.2缓存击穿 

2:击穿 

1.3:缓存雪崩 

1.4:双写一致  

1.5.持久化(RDB,AOF)

 1.6删除策略

1.7淘汰策略 

1.8分布式锁 (setnx,redisson)

1.9Redis集群 

1.9.1主从复制 

1.9.2哨兵(Sentinel )

1.9.2.1脑裂 

1.9.3分片集群 

1.10 (为什么Redis这么快)I/O多路复用模型 

2:MYSQL

2.1如何定位慢查询 

2.2什么是索引 (了解索引吗)

2.3什么是聚集索引(聚簇索引)二级索引(非聚簇索引)

2.3.1回表查询 

2.4覆盖索引 

2.5MYSQL超大分页处理 

2.6索引创建的原则 

2.7索引失效 

2.7.1最左前缀法则 

 2.7.2范围查询右边列失效

2.7.3在索引列上进行运输操作 

2.7.4以%开头的模糊匹配

2.8sql优化 

2.9事务的特性 (ACID)

2.10并发事物带来的问题(脏读,不可重复读,幻读) 

2.11undo log,redo log 区别

2.12MVCC(多版本并发控制) 

2.13MYSQL主从同步原理 

2.14分库分表 

3: JVM:

3.1JVM组成部分 ,运行流程

3.2程序计数器 

3.3介绍一下Java堆

3.4虚拟机栈

3.4.1栈溢出 

3.5解释一下方法区

3.5.1常量池 

3.5.2运行时常量池 

3.6听说过直接内存吗:

3.7什么是类加载器,类加载器有哪些

3.8什么是双亲委派模型

3.9类加载的执行过程 

3.10对象什么时候被垃圾器回收

3.10.1可达性分析算法 

3.11垃圾回收算法有哪些

3.12JVM的分代回收

3.13有哪些垃圾回收器:

3.14 G1垃圾回收器

3.15强引用,软引用,弱引用,虚引用区别

3.16JVM调优的参数在哪里设置参数值

3.17JVM调优参数有哪些

3.18JVM调优工具

3.19java内存泄漏排查思路

3.20CPU飙高排查 

4:常见集合篇:

4.1List

4.1.1数字索引从0开始为什么

4.2ArrayList底层实现原理

4.3Arraylist扩容

4.4数字和list转换

4.5ArrayList和LinkedList的区别

4.6HashMap 

4.6.1红黑树 

4.6.2散列表 

4.7哈希冲突 

4.8HashMap的实现原理 

4.9HashMap的put方法具体流程

4.10HashMap的扩容机制

4.11hashMap的寻址公式

4.12hashmap多线程死循环

5:多线程:

5.1线程和进程的区别 

 5.2并行和并发的区别

5.3创建线程的方式

5.4runnable和callable(创建线程时) 的区别

5.5线程 run()和start()的区别

5.6线程包括那些状态(之间是如何转换的)

5.7多个线程之间的执行顺序

5.8 notify()和notifyAll()的区别

9:wait()和sleep()的区别

5.10如何停止一个运行的线程

2:

3:

5.11synchronized关键字的底层原理

5.12 锁升级

2:

5.13java内存模型

5.14CAS你知道吗

5.15volatile的理解 

简单说就是JVM为了对代码进行优化提高性能会在不影响结果的情况下把代码执行顺序改变,但多线程就可能会出现结果不对的问题

然后volatile原理就是加了一些屏障,使屏障后的代码一定不会比屏障前的代码先执行,从而实现有序性

5.16什么是AQS 

5.17ReentrantLock的实现原理 

5.18死锁产生的条件 

​​​​​​6:框架篇(spring( boot,mvc),mybatis)

7微服务:

8:消息中间件(MQ,Kafka)

9 设计模式

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

电脑桌面数据误删如何恢复?提供一份实用指南

电脑桌面作为我们工作和学习的主要界面,存放着大量重要的文件。一旦这些数据不慎被删除,不仅会影响我们的工作效率,还可能造成无法挽回的损失。幸运的是,通过一些有效的方法,我们有机会恢复这些误删的桌面数据。本文将…

Leetcode面试经典150题-79.搜索单词

题目比较简单,回溯最基础的题,记得除非覆盖,否则一定要恢复现场就行 解法都在代码里,不懂就留言或者私信 class Solution {public boolean exist(char[][] board, String word) {int m board.length; int n board[0].length;i…

AI周报(9.8-9.14)

AI应用-NEKO Health用AI颠覆体检 Neko Health 由 Spotify 创始人丹尼尔埃克和哈亚尔马尔尼尔森共同创立,致力于通过每年的全身扫描和由 AI 驱动的洞察力来改善预防性医疗保健,能够检测诸如心脏病和皮肤癌等疾病。 该公司通过使用人工智能软件支持的全身…

基于Python的量化交易回测框架Backtrader初识记录(二)

版权声明:本文为博主原创文章,如需转载请贴上原博文链接:基于Python的量化交易回测框架Backtrader初识记录(二)-CSDN博客 前言:在上一篇文章 基于Python的量化交易回测框架Backtrader初识记录(一…

转置卷积与反卷积的区分

transposed convolution(转置卷积)和deconvolution(反卷积)是两个完全不同的概念。 deconvolution为“inverse of convolution”、“inverse filter”,翻译为反卷积、解卷积。在信号处理中,反卷积是指从卷积…

Golang协程泄漏定位和排查

Golang协程泄漏定位和排查 1 场景:无缓冲channel写阻塞2 排查和定位思路2.1 Golang pprof2.2 协程数监控2.3 操作系统内存泄漏 参考 1 场景:无缓冲channel写阻塞 package mainimport ("log""net/http"_ "net/http/pprof"…

JavaScript --函数的作用域(全局和局部)

全局作用域 全局作用域&#xff0c;就算不在一个script标签也能调用 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta nam…

【win工具】win安装flameshot并设置截图快捷键

1.下载flameshot软件2.windows端配置flameshot快捷键3.取消win自带截图快捷键 1.下载flameshot软件 https://flameshot.org/#download installer版本为安装包 portable版本为免安装版 2.windows端配置flameshot快捷键 https://cloud.tencent.com/developer/article/2114952 W…

第三方软件测评机构分享:软件性能测试的测试方法和内容

软件性能测试是对软件系统在特定负载和条件下的性能进行评估的过程。它旨在确定软件的响应时间、稳定性、资源消耗及其可扩展性&#xff0c;以确保其在实际环境中能够满足用户的需求。通过性能测试&#xff0c;开发团队能够发现潜在的瓶颈问题&#xff0c;优化应用程序架构&…

Spring3-IoC1-IoC容器、基于xml管理bean

目录 IoC容器 概述 依赖注入 IoC容器在Spring中的实现 基于xml管理bean 获取bean 依赖注入 setter注入 构造器注入 特殊值处理 字面量赋值 null值 xml实体 CDATA节 特殊类型属性注入 对象类型属性注入 方式一&#xff1a;引用外部bean 方式二&#xff1a;内部…

基于OpenSSL的密码管理系统-应用密码学课程报告

第1章 概要设计 1.1 设计目的 本研究旨在设计并实现一个基于OpenSSL的密码管理系统&#xff0c;该系统具备密钥对的生成、密钥上传、密钥的核对、身份认证、文件与邮件的加密和解密、数字签名及数字证书管理等常用功能。研究的意义主要体现在以下几个方面&#xff1a; 提升网…

M3U8是什么,如何解析下载

M3U8是什么&#xff1f;如何解析下载 M3U8是苹果公司推出的视频播放标准&#xff0c;准确来说是一种索引文件&#xff0c;使用M3U8文件实际上是通过它来解析对应的放在服务器上的视频网络地址&#xff0c;从而实现在线播放。M3U8文件使用UTF-8字符编码。M3U8是一种常见的流媒体…

互联网巨头的默契

​转载&#xff1a;树龙谈 作者&#xff1a;贺树龙 2024年的第二季度财报&#xff0c;大部分互联网公司都已经发布了。 分析已上市、最值钱的10家中国互联网公司的财报&#xff0c;不难发现这些相似之处&#xff1a; 1.它们的营收增长比较乏力&#xff1b; 2.它们的净利润增长…

工作流技术(WorkFlow)

什么是工作流 1.使用编程语言完成一套固定的审批流程 例如请假审批流程 订单配送流程 入职&#xff0c;辞职审批流程 2.使用场景 业务类&#xff1a;合同审批流程、订单处理流程、出入库审批流程等。 行政类&#xff1a;请假流程、出差流程、用车流程、办公用品申请流程…

dedecms(四种webshell姿势)

步骤一&#xff0c;登录网站 步骤二&#xff0c;进入后台 账号密码同为admin 姿势一&#xff0c;通过文件管理器上传WebShell 登陆到后台点击 【核心】--》【文件式管理器】【文件上传】 将准备好的一句话代码上传...OK 1.我们先创建一个1.php上传 2.上传之后我们双击1.php 3…

还有人认为C++容器是线程安全的吗?

C标准库中的容器&#xff08;如std::vector, std::list, std::map等&#xff09;本身不是线程安全的、不是线程安全的、不是线程安全的&#xff0c;重要的事情讲三遍。这意味着如果你在多线程环境中同时访问&#xff08;读或写&#xff09;同一个容器实例&#xff0c;而没有进行…

【二叉树的最大深度】带你理解递归奥妙!

&#x1f680;个人主页&#xff1a;一颗小谷粒 &#x1f680;所属专栏&#xff1a;力扣刷题 很荣幸您能阅读我的文章&#xff0c;诚请评论指点&#xff0c;欢迎欢迎 ~ 目录 &#x1f4a5;1.1 题目要求 ​&#x1f4a5;1.2 算法思路 &#x1f4a5;1.3 图解分析 &#x1…

elementui组件el-upload实现批量文件上传

el-upload组件上传文件时&#xff0c;每传一个文件会调一次接口&#xff0c;所以当上传多个文件的时候&#xff0c;有 n 个文件就要调 n 次接口。 刚好之前工作中遇到使用el-upload组件批量上传文件的需求&#xff0c;来看看怎么实现。 思路&#xff1a; 1.取消组件的自动上…

Springboot项目总结

1.为了调用写在其他包里面的类的方法 但是不使用new来实现调用这个类里面的方法&#xff0c;这个时候我们就需要将这个类注入到ioc容器里面&#xff0c;通过ioc容器来实现自动生成一个对象。 对ioc容器的理解&#xff1a;自动将一个对象实现new. 考察了and 和 or组合使用&…

[docker]入门

本文章主要讲述的是&#xff0c;docker基本实现原理&#xff0c;docker概念的解释&#xff0c;docker的使用场景以及docker打包与部署的应用。 文章中docker所运行的系统&#xff1a;CentOS Linux release 7.9.2009 (Core) 目录 docker是什么&#xff0c;什么时候需要去使用 …