首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
JAVA服务端
技术驿站
创建于2023-05-07
订阅专栏
总结JAVA服务端开发一些技能和经验总结
等 49 人订阅
共94篇文章
创建于2023-05-07
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
高并发系统-分布式唯一ID生成(三)-RedisID生成及应用
本文紧接着上文高并发系统-分布式唯一ID生成(二)-号段模式及应用 2. 生成方案 2.5 Redis ID Redis可以作为一个可靠的存储和生成分布式ID的方案之一。 Redis分布式ID实现主要
Ubuntu20.04安装Redis6.2.9和Redission连接实践
REDIS 6.2.9 编译安装 下载编译 从官网下载最新版本 解压缩文件 安装gcc 执行make 结果在src目录 配置启动 修改redis.conf,将bind 127.0.0.1 -::1注释
高并发系统-缓存(一)-为什么需要缓存
1. 缓存定义 缓存是一种存储技术,用于临时存储和快速访问经常需要的数据。它是在计算机系统中使用的一种高速存储介质或存储空间,用于存储最近或频繁访问的数据,以便将来能够更快地提取和使用这些数据。 缓存
高并发系统-分布式唯一ID生成(二)-号段模式及应用
2. 生成方案 2.4 号段模式 号段模式,则是指发号服务每次会从数据库获取一批 ID,然后将这批 ID 缓存到发号服务本地。 业务系统每次向发号服务请求 ID 时,后者会先判断其本地是否还有可用的
高并发系统-MYSQL数据库优化
数据库连接池 减少频繁创建数据库连接带来的性能损耗。 池化技术:空间换时间,期望使用预先创建好的对象来减少频繁创建对象的性能开销,同时还可以对对象进行统一的管理,降低了对象的使用的成本。 JAVA线程
效率提升工具-对象COPY之MapStruct
介绍 MapStruct是基于JSR 269的Java注释处理器,用于生成类型安全的 Bean 映射类。 通过 MapStruct,您可以使用称为映射器接口的接口定义源对象和目标对象之间的映射关系。然
JDK8util包解读-HashSet
基本介绍 HashSet 是 Java 中的一个集合类,它实现了 Set 接口,并且使用哈希表HashMap作为其底层数据结构。 因此具有快速的插入、查找和删除操作的特点。 HashSet 的特点如下
效率提升工具-LOMBOK注解-(二)避坑指南
@Data注解放在继承类注意事项 @Data放在普通类上面,会生成6种类型代码,【空构造方法】、【Get/Set方法】、【equals方法】、【canEqual】、【hashCode】、【toStri
效率提升工具-LOMBOK注解-(一)基本介绍
基本介绍 使用Lombok插件可以让开发者在集成开发环境(IDE)中更方便地使用Lombok。插件提供了对Lombok注解的支持,可以自动识别并处理这些注解,生成相应的代码。 官网如下:https:/
JDK8util包解读-HashMap(三)并发问题
并发问题 [JDK8]put的时候导致的多线程数据不一致 具体如下: 比如有两个线程A和B,首先A希望插入一个key-valu对到HashMap中,首先计算记录所要落到的 hash桶的索引坐标,然后获
JDK8util包解读-HashMap(二)经典问题
经典问题 1.底层数据结构是怎样的? JDk8之前:数组+链表 JDK8及以后:数组+链表/红黑树 2.如何会发生hash冲突,该怎么解决。常见的解决方式有哪些? 哈希冲突在 HashMap 中发生在
JDK8util包解读-HashMap(一)关键概念
关键概念 哈希码(Hash Code) 在 HashMap 中,每个键都有一个对应的哈希码,它是根据键的 hashCode() 方法生成的。哈希码用于确定键值对在哈希表中的存储位置。 比如其中get方
落地实践之全球化系统多时区日期时间处理问题
处理方法 总结成一句话,所有时间的处理需要带上时区或者转换成绝对时间UTC时间来处理 具体如下: 后端系统存储统一用 UTC 时间(包括DB落盘、内部逻辑处理),不应当受用户时区或服务器时区的影响 系
Troubleshooting系列-线程堆栈分析及分析工具介绍
如何生成线程堆栈? 具体的命令是jstack 具体命令可以看Troubleshooting系列-JAVA虚拟机命令总结 线程堆栈能够定位什么问题? Java的线程堆栈分析可以帮助解决以下问题: 异常追
高并发系统-系统设计目标(高性能、高可用、高可扩展)
高性能 优化原则 性能优化一定不能盲目,一定是问题导向的 遵循“八二原则”:用 20% 的精力解决 80% 的性能问题,抓住主要矛盾解决主要问题 数据支撑:了解响应时间和吞吐量优化指标 持续优化:持续
Troubleshooting系列-gc日志分析及分析工具介绍
GCViewer介绍 GCViewer是一款用于分析和可视化Java垃圾收集(GC)日志的工具。本文主要介绍GC日志的分析方法。
Troubleshooting系列-MAT使用介绍以实战
安装以及堆获取 MAT安装可在ecplise官网上获取,链接如下:https://archive.eclipse.org/mat/1.8/rcp/ 主要注意修改MemoryAnalyzer.ini,可
Troubleshooting系列-shardingjdbc频繁fullgc问题分析及解决
问题复现 我模拟了上线后情况写了一个demo,具体git路径如下:https://github.com/hongyuwen/Hello-World/tree/master/sharding-jdbc-
Troubleshooting系列-找不到资源文件问题分析及解决
问题背景 前期针对一个应用微服务做了启动脚本的参数优化,在本地环境启动运行好好的,但是上了DEV环境后,跑到一个获取资源文件的时候报资源找不到,类似于下面的报错 启动脚本优化前期有文章讲过,具体可以参
高并发系统-通用设计方法
而我们在应对高并发大流量时也会采用类似“抵御洪水”的方案,归纳起来共有三种方法。 Scale-out(横向扩展):分而治之是一种常见的高并发系统设计方法,采用分布式部署的方式把流量分流开,让每个服务器
下一页