首页
学习
活动
专区
工具
TVP
发布

Java技术债务

专栏成员
129
文章
95626
阅读量
27
订阅数
Redis特殊数据结构 - Java技术债务
Bitmap 存储的是连续的二进制数字(0 和 1),通过 Bitmap, 只需要一个 bit 位来表示某个元素对应的值或者状态,key 就是对应元素本身 。我们知道 8 个 bit 可以组成一个 byte,所以 Bitmap 本身会极大的节省储存空间。
Java技术债务
2024-06-21
670
Java中CAS机制详解 - Java技术债务
传统的并发控制手段,如使用synchronized关键字或者ReentrantLock等互斥锁机制,虽然能够有效防止资源的竞争冲突,但也可能带来额外的性能开销,如上下文切换、锁竞争导致的线程阻塞等。而此时就出现了一种乐观锁的策略,以其非阻塞、轻量级的特点,在某些场合下能更好地提升并发性能,其中最为关键的技术便是Compare And Swap(简称CAS)。
Java技术债务
2024-06-21
680
Nginx配置文件 - Java技术债务
如果更改了配置就要重启Nginx,要先关闭Nginx再打开?不是的,可以向Nginx发送信号,平滑重启!平滑重启命令:kill -HUP 主进程号或者进程号文件路径或者使用/usr/local/nginx/sbin/nginx -s reload
Java技术债务
2024-06-21
720
Java反射Reflect机制详解 - Java技术债务
Java反射是Java语言中的一种动态机制,它允许在运行时检查和操作类的结构和行为。反射的强大功能使得程序可以在运行时动态加载类、调用方法和访问字段,从而极大地增强了Java程序的灵活性和扩展性。
Java技术债务
2024-06-21
610
Mybatis 一级缓存和二级缓存 - Java技术债务
MyBatis是常见的Java数据库访问层框架。在日常工作中,开发人员多数情况下是使用MyBatis的默认缓存配置,但是MyBatis缓存机制有一些不足之处,在使用中容易引起脏数据,形成一些潜在的隐患。
Java技术债务
2024-06-21
570
关于Spring中的@Async注解以及为什么不建议使用 - Java技术债务
Async 注解是 Java 8 中的一个注解,用于标识一个方法是异步执行的。当一个方法被标记为 Async 时,该方法将在一个新的线程中执行,并且可以立即返回一个 CompletableFuture 对象。使用 CompletableFuture 可以更轻松地管理异步计算的结果。下面是一个使用 Async 注解的示例代码:
Java技术债务
2024-06-21
500
【集合】List取交集、并集(去重)、差集 - Java技术债务
上边代码可以简化为一行代码,使用List源码中retainAll(List list)
Java技术债务
2024-06-21
890
Spring事件ApplicationEvent源码浅读 - Java技术债务
ApplicationContext 中的事件处理是通过 ApplicationEvent 类和 ApplicationListener 接口提供的。如果将实现了 ApplicationListener 接口的 bean 部署到容器中,则每次将 ApplicationEvent 发布到ApplicationContext 时,都会通知到该 bean,这简直是典型的观察者模式。设计的初衷就是为了系统业务逻辑之间的解耦,提高可扩展性以及可维护性。
Java技术债务
2024-06-21
650
三元运算符引发的自动拆装箱问题 - Java技术债务
乍一看,真没有什么问题(当然可能是我经验不足),细看会发现自动装箱导致空指针异常,上边set方法代码可以拆分为两行:
Java技术债务
2024-06-21
530
【面试系列】JDK动态代理和CGLIB静态代理 - Java技术债务
是否在面试过程中经常被问到Spring的代理的问题:比如说几种代理方式?两种代理方式的区别?或者问为什么JDK动态代理只能代理接口?
Java技术债务
2024-06-21
820
修改jar包中的文件内容 - Java技术债务
首先问问为什么要直接修改jar包中的文件,而不是重新打包,在非必要的情况下,不要直接修改jar包,这样容易出事故; 当然也有一些场景不得不修改jar包,比如:
Java技术债务
2024-06-21
880
Go语言的容器 - Java技术债务
切片的零值是 nil 一个 nil 切片的长度和容量为 0,并且没有底层数组。切片可以包含任何类型,包括其他切片。
Java技术债务
2024-06-21
840
Go语言的基本概念与语法 - Java技术债务
按照约定,包名与导入路径的最后一个元素相同。例如,"math/rand" 包中的源码均以packagerand` 语句开始.
Java技术债务
2024-06-21
620
从注解@EventListener和@TransactionalEventListener掌握Spring的事件机制原理 - Java技术债务
Spring为我们提供的一个事件监听、订阅的实现,内部实现原理是观察者设计模式;为的就是业务系统逻辑的解耦,提高可扩展性以及可维护性。事件发布者并不需要考虑谁去监听,监听具体的实现内容是什么,发布者的工作只是为了发布事件而已。
Java技术债务
2024-06-21
1110
ClickHouse之Explain查看执行计划 - Java技术债务
在 clickhouse 20.6 版本之前要查看 SQL 语句的执行计划需要设置日志级别为 trace 才能 可以看到,并且只能真正执行 sql,在执行日志里面查看。在 20.6 版本引入了原生的执行计 划的语法。在 20.6.3 版本成为正式版本的功能。
Java技术债务
2024-06-21
560
ClickHouse常见问题之使用另一个表中的值更新行 - Java技术债务
有两张表,A表是广告活动名称, B表是广告活动产生的报表数据(包含广告活动名称);想把B表中的名称修改为B表中的名称。 更新语句如下:
Java技术债务
2024-06-21
810
ClickHouse之常见的时间周期函数 - Java技术债务
在工作中,如果使用了ClickHouse作为数据的存储的话,那么难免会遇到关于时间的转换问题
Java技术债务
2024-06-21
1160
ClickHouse之采样查询(SAMPLE) - Java技术债务
例如,如果您需要计算所有访问的统计信息,只需对所有访问的1/10分数执行查询,然后将结果乘以10即可。
Java技术债务
2024-06-21
1190
Kafka文件存储机制 - Java技术债务
Kafka是一种分布式的流处理平台,它通过文件存储机制来保证数据的可靠性,高效性和可扩展性。
Java技术债务
2024-06-21
730
Docker容器网络(七)
在应用程序和网络之间是 Docker 网络,被亲切地称为容器网络模型 或 CNM(Container Network Model)。是 CNM 为您的 Docker 容器代理连接性,并且还抽象出网络中常见的多样性和复杂性。结果是可移植性,它来自 CNM 强大的网络驱动程序。这些是 Docker 引擎、Swarm 和 UCP 的可插拔接口,提供了多主机网络、网络层加密和服务发现等特殊功能。
Java技术债务
2022-11-03
9740
点击加载更多
社区活动
AI代码助手快速上手训练营
鹅厂大牛带你玩转AI智能结对编程
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档