随笔分类 - Java
Redis实现分布式锁有哪些方案?
摘要:Redis实现分布式锁有哪些方案? 在这里分享六种Redis分布式锁的正确使用方式,由易到难。 本文已收录到Java面试网站 方案一:SETNX+EXPIRE 方案二:SETNX+value值(系统时间+过期时间) 方案三:使用Lua脚本(包含SETNX+EXPIRE两条指令) 方案四::ET的扩展
阅读全文
spring源码解析——IOC之bean创建
摘要:正文 在 Spring 中存在着不同的 scope,默认是 singleton ,还有 prototype、request 等等其他的 scope,他们的初始化步骤是怎样的呢?这个答案在这篇博客中给出。 singleton Spring 的 scope 默认为 singleton,第一部分分析了从缓
阅读全文
一文吃透SpringMVC面试八股文
摘要:> 内容摘自我的学习网站:topjavaer.cn ## 说说你对 SpringMVC 的理解 SpringMVC是一种基于 Java 的实现MVC设计模型的请求驱动类型的轻量级Web框架,属于Spring框架的一个模块。 它通过一套注解,让一个简单的Java类成为处理请求的控制器,而无须实现任何接
阅读全文
一文吃透Java并发高频面试题
摘要:> 内容摘自我的学习网站:topjavaer.cn **分享50道Java并发高频面试题**。 ## 线程池 线程池:一个管理线程的池子。 ### 为什么平时都是使用线程池创建线程,直接new一个线程不好吗? 嗯,手动创建线程有两个缺点 1. 不受控风险 2. 频繁创建开销大 **为什么不受控**?
阅读全文
大公司为什么禁止SpringBoot项目使用Tomcat?
摘要:前言 在SpringBoot框架中,我们使用最多的是Tomcat,这是SpringBoot默认的容器技术,而且是内嵌式的Tomcat。同时,SpringBoot也支持Undertow容器,我们可以很方便的用Undertow替换Tomcat,而Undertow的性能和内存使用方面都优于Tomcat,那
阅读全文
京东面经总结
摘要:非科班,经历了无数场秋招,现将面试京东的题目记录如下: 一面 kafka在应用场景以及 项目 里的实现 bitmap底层 object里有哪些方法 hashmap相关 sychronized和reentrantlock相关问题以及锁升级 cas和volatile 线程几种状态以及转化 jvm内存模型
阅读全文
美团面经总结(2023最新)
摘要:分享一份读者面试美团的面经,比较有参考性,感兴趣的可以看看~ 一面 消息队列如何保证可靠性 消息队列如何保证消息幂等性 消息队列的优缺点 为什么用b+树 聚集索引和主键区别,其他引擎怎么做的 平时数据库编码 explain参数 http报文参数有哪些吗? 做题,链表奇偶有序输出 二面 自我介绍 有哪
阅读全文
一文吃透Tomcat核心知识点
摘要:架构 首先,看一下整个架构图。最全面的Java面试网站 接下来简单解释一下。 Server:服务器。Tomcat 就是一个 Server 服务器。 Service:在服务器中可以有多个 Service,只不过在我们常用的这套 Catalina 容器的Tomcat 中只包含一个 Service,在 S
阅读全文
订单30分钟未支付自动取消怎么实现?
摘要:目录 了解需求 方案 1:数据库轮询 方案 2:JDK 的延迟队列 方案 3:时间轮算法 方案 4:redis 缓存 方案 5:使用消息队列 了解需求 在开发中,往往会遇到一些关于延时任务的需求。最全面的Java面试网站 例如 生成订单 30 分钟未支付,则自动取消 生成订单 60 秒后,给用户发短
阅读全文
这可能是最全面的Redis面试八股文了
摘要:Redis连环40问,绝对够全! Redis是什么? Redis(Remote Dictionary Server)是一个使用 C 语言编写的,高性能非关系型的键值对数据库。与传统数据库不同的是,Redis 的数据是存在内存中的,所以读写速度非常快,被广泛应用于缓存方向。Redis可以将数据写入磁盘
阅读全文
吃透Redis面试八股文
摘要:Redis连环40问,绝对够全! Redis是什么? Redis(Remote Dictionary Server)是一个使用 C 语言编写的,高性能非关系型的键值对数据库。与传统数据库不同的是,Redis 的数据是存在内存中的,所以读写速度非常快,被广泛应用于缓存方向。Redis可以将数据写入磁盘
阅读全文
一天吃透SpringMVC面试八股文
摘要:说说你对 SpringMVC 的理解 SpringMVC是一种基于 Java 的实现MVC设计模型的请求驱动类型的轻量级Web框架,属于Spring框架的一个模块。 它通过一套注解,让一个简单的Java类成为处理请求的控制器,而无须实现任何接口。同时它还支持RESTful编程风格的请求。 什么是MV
阅读全文
一天吃透JVM面试八股文
摘要:什么是JVM? JVM,全称Java Virtual Machine(Java虚拟机),是通过在实际的计算机上仿真模拟各种计算机功能来实现的。由一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域等组成。JVM屏蔽了与操作系统平台相关的信息,使得Java程序只需要生成在Java虚拟机
阅读全文
计算机网络高频面试八股文
摘要:网络分层结构 计算机网络体系大致分为三种,OSI七层模型、TCP/IP四层模型和五层模型。一般面试的时候考察比较多的是五层模型。最全面的Java面试网站 五层模型:应用层、传输层、网络层、数据链路层、物理层。 应用层:为应用程序提供交互服务。在互联网中的应用层协议很多,如域名系统DNS、HTTP协议
阅读全文
大公司为什么禁止SpringBoot项目使用Tomcat?
摘要:前言 在SpringBoot框架中,我们使用最多的是Tomcat,这是SpringBoot默认的容器技术,而且是内嵌式的Tomcat。同时,SpringBoot也支持Undertow容器,我们可以很方便的用Undertow替换Tomcat,而Undertow的性能和内存使用方面都优于Tomcat,那
阅读全文
三天吃透计算机网络八股文
摘要:网络分层结构 计算机网络体系大致分为三种,OSI七层模型、TCP/IP四层模型和五层模型。一般面试的时候考察比较多的是五层模型。最全面的Java面试网站 五层模型:应用层、传输层、网络层、数据链路层、物理层。 应用层:为应用程序提供交互服务。在互联网中的应用层协议很多,如域名系统DNS、HTTP协议
阅读全文
消息队列常见的使用场景
摘要:消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题 实现高性能,高可用,可伸缩和最终一致性架构。最全面的Java面试网站 使用较多的消息队列有 RocketMQ,RabbitMQ,Kafka,ZeroMQ,MetaMQ 以下介绍消息队列在实际应用中常用的使用场景。 异
阅读全文
三天吃透计算机网络八股文
摘要:本文已经收录到Github仓库,该仓库包含计算机基础、Java基础、多线程、JVM、数据库、Redis、Spring、Mybatis、SpringMVC、SpringBoot、分布式、微服务、设计模式、架构、校招社招分享等核心知识点,欢迎star~ Github地址:https://github.c
阅读全文
三天吃透Redis面试八股文
摘要:本文已经收录到Github仓库,该仓库包含计算机基础、Java基础、多线程、JVM、数据库、Redis、Spring、Mybatis、SpringMVC、SpringBoot、分布式、微服务、设计模式、架构、校招社招分享等核心知识点,欢迎star~ Github地址:https://github.c
阅读全文