
java
沙滩上的拖鞋
分享前沿的技术、架构。
展开
-
kafka日志段LogSegment-源码学习笔记
kafka日志结构概述kafka 日志在磁盘上的组织结构如下:kafka日志由多个日志段组成,每个日志段会在磁盘上创建一组文件,包括消息日志文件(.log),位移索引文件(.index),时间戳索引文件(.timeindex),以及终止事务文件(.txnindex),该文件只在使用索引的情况下创建。一般情况下,一个kafka主题有很多分区,每个分区对应一个Log对象,在物理磁盘上对应一个子目录,比如你创建了两个分区的主题test-topic,在磁盘上就会创建两个子目录test-topic-0和tes原创 2020-11-02 13:55:50 · 438 阅读 · 0 评论 -
Logback日志框架和SpringBoot整合
Logback日志框架和SpringBoot整合日志框架LogBack介绍Logback 的优点Logback的核心对象logback示例Log4j日志转换为logback在线工具SpringBoot2.x日志讲解和自定义Logback配置日志框架LogBack介绍LogBack是基于Log4j基础上大量改良,不能单独使用,推荐配合日志框架SLF4J来使用,logback当前分成三个模块:logback-core: 日志组件的核心部分,使用logback组件必须引入的jar.logback-cla原创 2020-06-14 16:28:59 · 344 阅读 · 0 评论 -
多线程之ThreadLocal在tomcat中运行的并发问题
ThreadLocal在tomcat中运行的并发问题我们知道,ThreadLocal 适用于变量在线程间隔离,而在方法或类间共享的场景。如果用户信息的获取比较昂贵(比如从数据库查询用户信息),那么在 ThreadLocal 中缓存数据是比较合适的做法。使用 Spring Boot 创建一个 Web 应用程序,使用 ThreadLocal 存放一个 Integer 的值,来暂且代表需要在线程中保存的用户信息,这个值初始是 null。在业务逻辑中,我先从 ThreadLocal 获取一次值,然后把外部传入的原创 2020-05-21 15:54:02 · 1995 阅读 · 0 评论 -
JWT+RSA无状态鉴权基本原理与使用
JWT+RSA无状态鉴权基本原理与使用1.无状态登录原理1.1 什么是无状态?2 JWT2.1简介2.2数据格式2.3JWT交互流程2.4.非对称加密3 使用3.1使用JWT1.无状态登录原理1.1 什么是无状态?1.1.1有状态服务:即服务端需要记录每次会话的客户端信息,从而识别客户端身份,根据用户身份进行请求的处理,典型的设计如tomcat中的session。例如登录:用户登录后,我们...原创 2019-02-26 16:34:29 · 7711 阅读 · 7 评论 -
JAVA线程通信
使用场景要想实现多个线程之间的协作,如:线程执行的先后顺序、获取某个线程执行的结果等等,就需要使用到线程通信,例如:生产者-消费者模型、线程阻塞线程唤醒等场景。JDK提供的线程协调API细分为:suspend()/resume()(已过时)、wait()/notify()、park()/unpark().生产者-消费者模型案例消费者线程商店生产者线程你好!今天有货吗?抱歉,现在没货,再等...原创 2019-07-14 02:06:55 · 298 阅读 · 0 评论 -
java线程封闭之ThreadLocal
多线程访问共享可变数据时,涉及到线程间数据同步问题。并不是所有数据都用到共享数据,所以线程封闭概念就提出来了。数据都被封闭在各自的线程中,就不需要同步,这种通过将数据封闭在线程中从而避免使用同步的技术称为线程封闭。线程封闭涉及的技术有:ThreadLocal、局部变量。ThreadLocal是一种特殊的变量,他是一个线程级别变量,每个线程有一个ThreadLocal就是每个线程都拥有了自己独...原创 2019-07-12 01:32:37 · 673 阅读 · 0 评论