11 2022 档案
摘要:【面试题】深度解析Java多线程中的 run() 与 start() 有什么区别? 大多数人的回答 start() run() 深入底层源码的解析 run() 与 start() 为什么我们不能直接调用 run() 方法? 如何证明 start() 会调用 run() 方法? JVM -> OS执行
阅读全文
摘要:【并发】深入理解Java线程的底层原理 线程基础知识 一、线程与进程 进程 线程 【面试题】进程与线程的区别 进程间通信的方式 二、线程的同步互斥 线程同步 线程互斥 上下文切换 【面试题】什么情况下会发生上下文切换? 三、操作系统层面线程生命周期 Java中的状态模型 Java线程详解 一、Jav
阅读全文
摘要:【并发】Java并发线程池底层原理详解与源码分析(下) 前情回顾 上篇文章地址 遗留问题解析 手动实现线程池代码 运行结果 !!!先说结论!!! 图解 ThreadPoolExecutor ThreadPoolExecutor 源码分析 线程池源码结构 【面试题】 execute()方法与submi
阅读全文
摘要:【并发】Java并发线程池底层原理详解与源码分析(上) 线程池与线程对比 使用线程的方式运行 使用线程池的方式运行 分析 单线程、多线程、线程池效率问题 详细代码 结果分析 单线程为什么是最快的? 单线程都这么快了,我们是不是就不再需要多线程、线程池了呢? 三种常用的线程池 代码描述 运行结果 (1
阅读全文
摘要:初学者一枚,好久没有上VM——Ubuntu了,今天使用了start-all.sh竟然少了namenode!!!之前都是有的。 本人试过了网上的很多办法,都是不行: (1)我检查了所有文件都配置 ,进行hdfs namenode -format 是对namenode进行初始化也成功了,但是在启动HDF
阅读全文
摘要:关于equals与hashCode关系的描述 我们可以先来看一下这个定理 (1)如果两个对象的 hashCode 值相等的情况下,对象的内容值不一定相等(hash碰撞问题) (2)如果使用 equals 方法比较两个对象内容值相等的情况下,则两个对象的hashCode值一定要相等 相信有看过类似文章
阅读全文
摘要:char 与 Character char是一种基本的数据类型,Character是char类型的包装类,即通过Character创建出来的是一种对象。 Character是char的包装类,就像Integer和int,以及Long和long一样。 包装类和基本类型可以自动转换,这是jdk1.5(5
阅读全文
摘要:String转int (1)Integer.parseInt(String) 方法 支持“负号”! String str = "123"; int num = Integer.parseInt(str); 如果这个字符串中间有字母会报错! (2)Integer.valueOf(String) 方法
阅读全文
摘要:Redis的分布式锁问题(九)Redis + Lua 脚本实现分布式锁 上集回顾 Lua的简单介绍 redis调用函数 set name jack set name Rose,再执行get name redis的 EVAL 命令 Lua脚本解决unLock业务流程 代码实现 unLock.lua R
阅读全文
摘要:Redis的分布式锁问题(八)基于Redis的分布式锁 分布式锁 什么是分布式锁? 成为分布式锁的必要条件 分布式锁的实现方案 基于Redis实现分布式锁 关于锁的两个级别操作 获取锁 释放锁 如果在添加过期时间后宕机了呢? Redis分布式锁实现秒杀下单(初级版本) 代码实现 测试结果 存在问题
阅读全文
摘要:Redis的优惠券秒杀问题(七)在集群模式下的问题 问题描述 伪集群模式搭建 (1)IDEA启动镜像 (2)修改nginx配置 (3)验证nginx是否启动成功 BUG复现 (1)获取Token (2)使用Postman 发请求 (3)锁“失效”发生 问题分析 解决思路 Redis的优惠券秒杀问题(
阅读全文
摘要:传统的Token 传统的Token实现登入的流程 传统的Token的优、缺点 优点 缺点 JWT 什么是JWT? JWT解密平台 JWT组成的部分 Header(头) Payload(有效载荷) Signature(签名) JWT优缺点 优点 缺点 JWT模拟登入 传统的Token 传统的Token
阅读全文
摘要:【面试题】详解Cookie、localStorage、sessionStorage区别 三者基本概念 Cookie localStorage sessionStorage 安全性的考虑 Cookie、localStorage、sessionStorage、indexedDB对比 应用场景 Token
阅读全文
摘要:【面试题】深入理解Cookie、Session、Token的区别 Cookie与Session Cookie Session Cookie与Session之前的联系 Cookie与Session的在请求中的工作流程 Cookie与Session存在问题 Token 什么是Token? 为什么要有to
阅读全文
摘要:Redis的优惠券秒杀问题(六)超卖问题、一人一单问题 超卖问题 问题描述 使用Jmeter进行压测 发生超卖问题原因分析 解决方案 悲观锁与乐观锁 1. 版本号 2. CAS法 CAS三大问题(题外话!) CAS三大问题的解决方案 代码实现 一人一单问题 问题描述 流程设计 解决方案 代码实现 代
阅读全文
摘要:目录 一.Hbase简介 1.什么是Hbase? 2.Hbase的特性(5个) 二.HDFS的原理 1.HDFS是什么? 2.HDFS基本架构 3.HDFS的块 4.分块的好处 5.HDFS中的NameNode 6.两个核心的数据结构:FsImage和EditLog 7.NameNode启动执行了什
阅读全文
摘要:Java工程师笔试题目(限30分钟完成) 一、请参考图片回答以下问题。 二、如何理解面向对象编程? 三、String s = new String("Hello");s = s + " world!";这两行代码执行后,内存是如何变化的? 四、Java中链表、栈、队列如何实现? 五、数据库连接池的工
阅读全文
摘要:Redis的优惠券秒杀问题(五)全局唯一ID 以及 秒杀下单 关于优惠秒杀问题的Redis实现章节总览 全局唯一ID 场景分析 不能用自增的原因 id的规律性太明显 受单表数据量的限制 全局唯一ID的条件 全局唯一ID的Redis实现 代码实现 单元测试 其它全局唯一ID的生成策略 秒杀下单 场景分
阅读全文
摘要:Spring的三种注入方式 一、属性注入 @Resource和@Autowired的区别 为什么尽量使用 @Resource? 二、setter 注入 三、构造器注入 具体可以看看Spring官网 为什么构造器注入不需要 @Autowired 或 @Resource 注解? Spring的三种注入方
阅读全文
摘要:@Autowired 和 @Resource 的有什么区别? 相同点 不同点 @Autowired @Resource @Resource的装配顺序 要是实在不理解可以看看这个视频 !!! 为什么更推荐使用 @Resource ? @Autowired 和 @Resource 的有什么区别? @Au
阅读全文
摘要:Spring的三种注入方式 在讨论这个问题之前,我们可以先来回忆一下Spring的依赖注入的三种方式。 分别是——属性注入、setter 注入、构造器注入 一、属性注入 这种方式是最常用的,我们可以使用 @Autowired 或者是 @Resource 进行注入 @RestController @R
阅读全文
摘要:需求分析 我们先看看这个页面,剥离出本质其实就是CRUD! 这里面还有一个 “启售” 和 “停售”,在黑马视频中是没有的,我们这里也将其一起来实现一下! 这里我们基本上在前面都有讲过一些,所以这里就不做过多的分析了! 请求参数 菜品分页查询 请求说明请求方式GET请求路径/dish/page请求参数
阅读全文
摘要:引言 今天是2022.11.09,本人跟着图灵学院学习到了Spring源码部分。想要成为一名优秀的开发人员,不是光光看看“八股文”,背背面试题就好的。是要去深入了解框架源码的底层是如何实现的?用了什么设计模式?为什么要使用这种设计模式?有什么好处? 当然,在此之前,去Spring官网下载源码到本地,
阅读全文
摘要:【MySQL】深入理解MVCC与BufferPoll缓存机制 MVCC多版本并发控制机制 undo日志版本链与read view机制详解 undo日志版本链 read view机制 版本链比对规则(重点!!!) 案例说明 MVCC总结(undo + readview) Innodb引擎SQL执行的B
阅读全文
摘要:案例描述 今天跟着黑马程序员的视频,完成“瑞吉外卖”项目的菜品信息管理模块的时候,遇到了一个比较陌生的写法 用到了Java8的新特性 stream().map((item) -> {}).collect() List<DishDto> collect = records.stream().map((
阅读全文
摘要:throws是用来声明一个方法可能抛出的所有异常信息,throws是将异常声明但是不处理,而是将异常往上传,谁调用我就交给谁处理 throw是指抛出的一个具体的异常类型 所以throws 是用来声明异常,而 throw 是用来拋出异常! throws 声明异常 方法的定义上使用 throws 表示这
阅读全文
摘要:瑞吉外卖08-文件上传下载 需求分析 前端介绍 服务端介绍 代码开发 遇到的BUG 代码获取 需求分析 文件上传,也称为upload,是指将本地图片、视频、音频等文件上传到服务器上,可以供其他用户浏览或下载的过程。 文件上传在项目中应用非常广泛,我们经常发微博、发微信朋友圈都用到了文件上传功能。 文
阅读全文
摘要:瑞吉外卖07-对于分类信息的CRUD 数据模型 需求分析 1. 新增分类 2. 分类信息分页查询 3. 删除分类 4. 修改分类 前端页面分析 1. 新增分类 2. 分类信息分页查询 3. 删除分类 4. 修改分类 代码实现 代码获取(免费) 数据模型 分类信息我们要用一个新的表来存储——categ
阅读全文