赞了文章2025-05-29
首发于Enaium的个人博客LSP (Language Server Protocol) 介绍前段时间我为Jimmer DTO实现了一个 LSP 的语言服务,这是我第一次实现 LSP,所以在这里我分享一下我实现LSP的经验。首先来看一下效果,图片太多,我就放一部分,更多的可以看jimmer-dto-lspLSP 是一种协议...
赞了文章2025-04-04
如下是几个实现了 OnTouchListener 接口的子类,OnTouchListener 我们是再熟悉不过了,在 Hello World 开始就接触了,但在 Support V4 中还有它的 3 个子类我们平时可能使用的较少但就其功能而言还是对我们很有帮助的。
赞了文章2024-12-17
我们在自定义View时免不了要使用invalidate方法,这个方法的作用大家也比较清楚,就是让我们的View进行刷新重新绘制的。但是postInvalidate方法可能就不是那么熟悉了,因为平时开发时invalidate方法相对而言会用得比较多。不过需要大家注意的是,面试官在问到View相...
赞了文章2024-11-13
题目描述这是「牛客网」上的「JZ 57 二叉树的下一个结点」,难度为「中等」。Tag : 「剑指 Offer」、「二叉树」、「中序遍历」给定一个二叉树其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的 ne...
赞了文章2024-09-13
本博主前一段时间刚接触git,鉴于以前没有用过git,而且作为前端届中的一名有理想的菜鸟,应该要掌握git的基本使用,所以私下花了一些时间去学习了一下基本用法,在学习的过程中也总结了一些看法和心得,因此在这里分享一下。 接下来主要分四个方面分享git:
赞了文章2024-08-22
{代码...} 概览 官方文档说明: 用法: 在下次 DOM 更新循环结束之后执行延迟回调。在修改数据之后立即使用这个方法,获取更新后的 DOM。 疑问: DOM 更新循环是指什么? 下次更新循环是什么时候? 修改数据之后使用,是加快了数据更新进度吗? 在什么情况下要用到?...
赞了文章2024-08-02
"All problems in computer science can be solved by another level of indirection.”– David J. Wheeler“计算机世界就是 trade-off 的艺术”
赞了文章2024-07-30
在 Redis 最重要最基础就属 它丰富的数据结构了,Redis 之所以能脱颖而出很大原因是他数据结构丰富,可以支持多种场景。并且 Redis 的数据结构实现以及应用场景在面试中是相当常见的,接下来就和大家聊聊 Redis 的数据结构。
赞了文章2024-07-29
锁的状态总共有四种,级别由低到高依次为:无锁、偏向锁、轻量级锁、重量级锁,这四种锁状态分别代表什么,为什么会有锁升级?其实在 JDK 1.6之前,synchronized 还是一个重量级锁,是一个效率比较低下的锁,但是在JDK 1.6后,Jvm为了提高锁的获取与释放效率对(sync...
赞了文章2024-06-25
Skywalking 是一个优秀的APM(application performance monitor)应用性能监控系统,针对微服务场景设计,可以方便的实现Spring cloud等微服务场景下的性能监控、链路追踪等。而v8.x版本也支持了日志收集功能,可以取代ELK作为分布式下日志收集的方案。一个系统实现监...
赞了文章2024-06-24
问题定位到WsServerContainer.java:245行,打上断点,我们发现pojo被代理了,其实根据打印日志com.smec.fin.service.impl.WebSocketServer$$EnhancerBySpringCGLIB$$6b71ea8也可以看出来,使用了CGLIB代理,那么问题就很明显了,此类被AOP做了代理,在AOP中将此类移...
赞了文章2024-06-24
上一节简单介绍了Cookie,接下来简单介绍Session。Session和Cookie都是会话管理技术的一种。可能你会奇怪记住用户的信息有Cookie就够了,为什么还需要Session?那么我们带着这个疑问一起来看看Session,以及对比两者的区别。
赞了文章2024-06-09
jvm - 内存空间提到了,创建对象的时候,对象是在堆内存中创建的。但堆内存又分为新生代和老年代,新生代又细分Eden空间、From Survivor空间、To Survivor空间。我们创建的类到底在哪里?
赞了文章2024-06-08
在这个线程上正在执行的每个方法都各自对应一个栈帧(Stack Frame)。栈帧是一个内存区块,是一个数据集,维系着方法执行过程中的各种数据信息。
发布了文章2024-05-29
1.背景JMM(Java Memory Model)的提出,主要基于以下的几种原因:不同操作系统平台的内存模型不同,而Java又想做到Write Once Run Everywhere(即跨平台),那么必须要自己提供一套内存模型以屏蔽不同操作系统在内存模型方面的差异。由于除了编译器层面可以进行指令重排...
发布了文章2024-05-28
现在,我们有这样一个场景:我们的媒体上传服务每天都会接收海量的数据,面对这么多的海量数据,单台服务器已经不足以存储得下了,我们需要考虑水平扩容多台机器来联合存储这些海量数据。但是每台服务器又都是相互独立的,而且数据也不能乱存,万一发生存储倾斜,导...
赞了文章2024-05-28
声望值是社区对你的信任程度的粗略衡量标准,你获得的声望值越高,解锁的社区功能权限和权益就越多,这也意味着你可以更深度的参与社区建设和决策,例如决策社区内容,成为社区真正的建设者和主人。
赞了文章2024-05-26
同步IO和异步IO,阻塞IO和非阻塞IO分别是什么,到底有什么区别?不同的人在不同的上下文下给出的答案是不同的。所以先限定一下本文的上下文。
赞了文章2024-05-23
在上周的开发中,遇到了事务相关的问题,测试环境正常但部署到正式环境就抛出异常,又连续加班几天解决了此问题,现对该问题作出复盘并回顾之前的知识点。如有错误,欢迎指正。
赞了文章2024-05-04
ThreadLocal又叫做线程局部变量,全称thread local variable,它的使用场合主要是为了解决多线程中因为数据并发产生不一致的问题。ThreadLocal为每一个线程都提供了变量的副本,使得每一个线程在某一时间访问到的并不是同一个对象,这样就隔离了多个线程对数据的数据...