Java后端开发
文章平均质量分 93
咸鱼也有爱
真理无穷,每进一步,都有欢喜,Java后端,移动端开发,分享日常学习&工作所得
展开
-
MySQL如何实现数据排序
本文将带你熟悉MySQL进行数据排序的基本实现,助你更快更好地通过面试原创 2024-07-07 10:46:15 · 350 阅读 · 0 评论 -
面试总结之并发编程
每个线程都有一个成员变量ThreadLocalMap,当线程访问ThreadLocal修饰的共享数据时,该线程就会在自己的ThreadLocalMap中存储一份共享数据的副本,key指向ThreadLocal这个弱引用,value保存的是共享数据的副本,因为每个线程都有一份共享数据的副本,以此就解决了线程安全问题。在Thread的init()方法中,如果父线程的 inheritableThreadLocals 不为空,就把它赋给当前线程(子线程)的 inheritableThreadLocals。原创 2023-10-16 19:47:58 · 271 阅读 · 0 评论 -
如何高效且优雅地使用Redis
本文从如下7个维度,带你全面理解Redis的最佳实践和优化: 内存、性能、可靠性、运维、安全 、资源规划、监控原创 2023-09-15 22:16:43 · 449 阅读 · 0 评论 -
一文带你深入理解MySQL的索引
如果你想理解一条查询SQL具体是怎么执行的,就需要完全彻底地理解索引,且清楚MySQL整个的层次结构,本文会对详细解释MySql的逻辑结构层次和MySql索引原创 2023-01-04 14:11:14 · 442 阅读 · 0 评论 -
图文并茂,一文带你掌握RabbitMQ
微服务间通讯有同步和异步两种方式:同步通讯:就像打电话,需要实时响应。异步通讯:就像发邮件,不需要马上回复。两种方式各有优劣,打电话可以立即得到响应,但是你却不能跟多个人同时通话。发送邮件可以同时与多个人收发邮件,但是往往响应会有延迟。为了解除事件发布者与订阅者之间的耦合,两者并不是直接通信,而是有一个中间人(Broker)。发布者发布事件到Broker,不关心谁来订阅事件。订阅者从Broker订阅事件,不关心谁发来的消息。而MQ就是Broker的具体实现之一原创 2022-09-16 21:24:12 · 503 阅读 · 0 评论 -
Java IO模型详解
从应用程序的角度来解读一下 I/O,为了保证操作系统的稳定性和安全性,一个进程的地址空间划分为 用户空间(User space) 和 内核空间(Kernel space ) 。平常运行的应用程序都是运行在用户空间,只有内核空间才能进行系统态级别的资源有关的操作,比如文件管理、进程通信、内存管理等等。也就是说,我们想要进行 IO 操作,一定是要依赖内核空间的能力。用户空间的程序不能直接访问内核空间。当想要执行 IO 操作时,由于没有执行这些操作的权限,只能发起系统调用,请求操作系统帮忙完原创 2022-09-14 21:12:11 · 197 阅读 · 0 评论 -
一文带你完全掌握MySQL索引
索引是一种用于快速查询和检索数据的数据结构,相当于字典的目录,常见的索引结构有B树、B+树和hash等原创 2022-09-14 10:53:09 · 589 阅读 · 0 评论 -
一文带你熟悉Redis网络模型原理
Redis 自 2009 年发布之后,其单线程网络模型的选择在社区中从未停止过讨论,多年来一直有呼声希望 Redis 能引入多线程从而利用多核优势,但是作者 antirez 是一个追求大道至简的开发者,对 Redis 加入任何新功能都异常谨慎,所以在 Redis 初版发布的十年后才最终将 Redis 的核心网络模型改造成多线程模式,这期间甚至诞生了一些 Redis 多线程的替代项目。虽然 antirez 一直在推迟多线程的方案,但却从未停止思考多线程的可行性,Redis 多线程网络模型的改造不是一朝一...原创 2022-08-15 12:32:50 · 617 阅读 · 0 评论 -
Java8新特性之时间处理总结
本文会详细介绍,Java8中关于时间、日期API的具体使用,以及注意问题,具体内容包括传统时间格式化的线程安全问题及解决方案、LocalDateTime、Duration和Period、时间校正器、时间格式化、时区处理等操作。...原创 2022-08-10 13:22:48 · 225 阅读 · 0 评论 -
招银网络面试总结
经历过招银网络两轮面试后,部分面试题总结如下,题目不在多,而在于精,通过面试题回顾知识点,还是非常不错的复习方式呢,本文针对面试题进行了许多关联问题的扩展和总结。原创 2022-08-07 05:57:56 · 14064 阅读 · 0 评论 -
SpringCloud微服务技术实践与总结(基础篇)
SpringCloud是目前国内使用最广泛的微服务框架。官网地址:https://spring.io/projects/spring-cloud。SpringCloud集成了各种微服务功能组件,并基于SpringBoot实现了这些组件的自动装配,从而提供了良好的开箱即用体验。......原创 2022-08-02 22:15:40 · 1573 阅读 · 0 评论 -
一文详解Redis缓存过期淘汰策略
一文带你详解Redis缓存过期淘汰策略,总体来说,可以从2个维度,四个方面来个8中淘汰策略分类过期键中筛选,volatile-ttl所有键中筛选,allkeys-lru、volatile-lru、allkeys-random、volatile-random、allkeys-lfu、volatile-lfulru(最近最久未使用的键删除)lfu(最低频次的键删除)random(随机删除)ttl(到了过期时间的键删除)...原创 2022-07-24 22:55:34 · 1525 阅读 · 0 评论 -
从青铜到王者,带你完成Redis分布式锁的实现和优化
在单机环境下,使用synchronized或lock就可保证线程安全,如果是分布式微服务,单机锁就会出现许多问题;使用Redis实现分布式锁(setnx --> setIfAbsent方法,设置过期时间);加锁后,业务逻辑执行完,一定要在finally代码块中释放锁,以免出现异常导致锁无法释放的情况;如果服务宕机,无法执行finally中释放锁的操作,导致REDIS_LOCK无法删除,所以需要设置锁的过期时间,且加锁和设置过期时间必须是原子操作............原创 2022-07-24 16:12:21 · 617 阅读 · 0 评论 -
权限管理SpringSecurity Oauth2整合JWT实战总结(三)
1、JWT1.1、基本的认证机制1) HTTP Basic AuthHTTP Basic Auth简单点说明就是每次请求API时都提供用户的username和password,简言之,Basic Auth是配合RESTful API 使用的最简单的认证方式,只需提供用户名密码即可,但由于有把用户名密码暴露给第三方客户端的风险,在生产环境下被使用的越来越少。因此,在开发对外开放RESTful API时,尽量避免采用HTTP Basic Auth。2) Cookie AuthCookie认证机制就是为原创 2022-03-26 23:15:41 · 1028 阅读 · 0 评论 -
极客时间SpringCloud微服务项目实战课程的学习总结1
本文是我学习 极客时间SpringCloud微服务项目实战课程的学习总结。原创 2022-02-12 14:39:17 · 1771 阅读 · 0 评论 -
SpringBoot+Mybatis+Redis缓存实战总结
Redis 是一个高性能的key-value内存数据库。它支持常用的5种数据结构:String字符串、Hash哈希表、List列表、Set集合、Zset有序集合 等数据类型。 Redis它解决了2个问题: 1)性能通常数据库的读操作,一般都要几十毫秒,而redisd的读操作一般仅需不到1毫秒。通常只要把数据库的数据缓存进redis,就能得到几十倍甚至上百倍的性能提升。 2)并发在大并发的情况下,所有的请求直接访问数据库,数据库会出现连接异常,甚至卡死在数据库中。原创 2022-01-03 22:37:35 · 1970 阅读 · 0 评论 -
安全框架实战总结之SpringSecurity+Oauth2(二)
第三方认证技术方案最主要是解决认证协议的通用标准问题,因为要实现跨系统认证,各系统之间要遵循一定的接口协议。- Oauth协议为用户资源的授权提供了一个安全的、开放而又简易的标准。同时,任何第三方都可以使用OAUTH认证服务,任何服务提供商都可以实现自身的OAUTH认证服务,因而Oauth2是开放的。- 业界提供了OAUTH的多种实现如PHP、JavaScript,Java,Ruby等各种语言开发包,大大节约了程序员的时间,因而Oauth是简易的。原创 2021-12-28 18:33:52 · 2525 阅读 · 0 评论 -
安全框架SpringSecurity实战总结(一)
Spring Security是一个高度自定义的安全框架,是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。它提供了一组可以在Spring应用上下文中配置的Bean,充分利用了 Spring IoC , DI(控制反转Inversion of Control,DI:Dependency Injection 依赖注入) 和 AOP(面向切面编程)功能,为应用系统提供声明式的安全访问控制功能。原创 2021-12-28 16:44:34 · 5606 阅读 · 1 评论 -
Spring常见面试题总结(图文并茂,建议收藏)
3、@RestController和@Controller@RestController=@Controller+@RequestBody,单独使用@Controller,返回的是JSon或XML格式的数据,@RestController只返回对象,对象数据直接以JSON或XML的形式写入Http响应(Response)中4、Spring IOC和AOPSpring AOP:面向切面编程,能够将那些与业务无关,却被业务模块共同调用的责任或逻辑(事务处理、日志管理、权限控制等)封装起来,便于减少系统原创 2021-09-10 17:22:09 · 618 阅读 · 0 评论