- 博客(1688)
- 资源 (7)
- 收藏
- 关注
原创 再见了Future,图解JDK21虚拟线程的结构化并发
总的来说,类是Java中处理将任务拆分为多个子任务的用例的良好补充。子线程在失败时自动取消,不同用例的代码一致性以及更好地理解代码的能力,使其成为在Java中实现的理想选择。Virtual Threads和类共同组成了一个完美的组合。Virtual Threads使我们能够在JVM中创建数十万个线程,而类使我们能够有效地管理这些线程。让我们等待它退出预览并成为一个正式特性!本文由博客一文多发平台OpenWrite发布!
2023-12-10 18:00:06
53
原创 响应式编程又变天了?看JDK21虚拟线程如何颠覆!
随着Java 21中虚拟线程引入,虚拟线程在阻塞状态下不再是问题。无需创建复杂的响应式风格管道且无需在代码中直接使用非阻塞 IO即可创建高度可扩展的应用程序。替代方案是使用Java 21中引入的虚拟线程与 Java Futures 或Structured Concurrency(Java 21 中的预览功能)类的组合。编程严选网本文由博客一文多发平台OpenWrite发布!
2023-12-07 14:28:58
98
原创 Spring Boot 3.2项目中使用缓存Cache的正确姿势!!!
你是否曾想过为什么在 Spring Boot 应用中缓存是如此重要?答案在于它通过减少数据检索时间来提高性能。在本文中,我们将深入探讨缓存对微服务模式的影响,并探讨根据操作易用性、速度、可用性和可观测性等因素选择正确缓存的重要性。我们还将探讨如何最大程度地提高缓存性能和可用性。
2023-12-06 18:09:14
126
原创 图解系统设计之Instagram
点击下方“JavaEdge”,选择“设为星标”第一时间关注技术干货!免责声明~任何文章不要过度深思!万事万物都经不起审视,因为世上没有同样的成长环境,也没有同样的认知水平,更「没有适用于所有人的解决方案」;不要急着评判文章列出的观点,只需代入其中,适度审视一番自己即可,能「跳脱出来从外人的角度看看现在的自己处在什么样的阶段」才不为俗人。怎么想、怎么做,全在乎自己「不断实践中寻找适合自己的大道」0...
2023-12-05 23:20:24
108
原创 IntelliJ IDEA 2023.2新特性详解第三弹!Docker、Kubernetes等支持!
现在,你的错误和警告将以可读性更高的方式格式化,使代码中的问题更易发现。VLS 默认将用于 TypeScript v5.0 及更高版本,TypeScript 服务的包装器将用于更低版本的 TypeScript。主要区别在于,同一个对象现在位于对话框两个部分的同一行上,从而更清晰地显示将在目标架构中添加、移除或更改的对象。(设置 | 语言和框架 | TypeScript | Vue)下,你可以将 Vue 服务设置为在所有 TypeScript 版本上使用 VLS 集成。为此,你需要选择适当的连接类型。
2023-12-05 13:20:22
279
原创 图解Autocomplete/Type ahead系统设计面试
点击下方“JavaEdge”,选择“设为星标”第一时间关注技术干货!免责声明~任何文章不要过度深思!万事万物都经不起审视,因为世上没有同样的成长环境,也没有同样的认知水平,更「没有适用于所有人的解决方案」;不要急着评判文章列出的观点,只需代入其中,适度审视一番自己即可,能「跳脱出来从外人的角度看看现在的自己处在什么样的阶段」才不为俗人。怎么想、怎么做,全在乎自己「不断实践中寻找适合自己的大道」1...
2023-12-01 23:26:30
159
原创 系统设计面试指南之【分布式任务调度】
点击下方“JavaEdge”,选择“设为星标”第一时间关注技术干货!免责声明~任何文章不要过度深思!万事万物都经不起审视,因为世上没有同样的成长环境,也没有同样的认知水平,更「没有适用于所有人的解决方案」;不要急着评判文章列出的观点,只需代入其中,适度审视一番自己即可,能「跳脱出来从外人的角度看看现在的自己处在什么样的阶段」才不为俗人。怎么想、怎么做,全在乎自己「不断实践中寻找适合自己的大道」1...
2023-11-30 18:05:51
180
原创 系统设计面试指南之分布式任务调度
任务是需要资源(CPU 时间、内存、存储、网络带宽等)在指定时间内完成的一段计算工作。通过智能地将资源分配给任务以满足任务级和系统级目标的系统称为任务调度程序。任务调度程序:及时决定和分配资源给任务的过程称为任务调度。当我们在 Facebook 发表评论时。我们不会让评论发布者等待直到那条评论被交付给所有关注者。交付被委托给一个异步任务调度程序离线完成。在分布式系统中,许多任务是在用户的单个请求的背景下运行。考虑Facebook、WhatsApp 或 Instagram 这样的热门系统有数亿用户。
2023-11-30 16:36:13
357
原创 大道至简-Shopify 构建弹性支付系统的 10 条原则
在分布式系统中,传递某种关联标识符很有用。根据 Shopify 的经验,5 秒的读取超时时间和 1 秒的写入超时时间是不错的设置。谷歌的站点可靠性工程(SRE)书中列出了一个面向用户的系统应该监控的四个黄金信号: 延迟、流量、错误和饱和度。事件通常从值班服务所有者收到页面开始,这可能是基于监视的自动警报,也可能是如果有人注意到问题,他们会手动发送。就像在家中或公寓中会发现的断路器一样,一旦断路器打开或触发,就没有什么可以通过。如果传入工作的数量足够大,他们的服务器甚至会耗尽内存来存储队列上的工作并崩溃。
2023-11-29 13:08:23
209
原创 微服务的【数据库管理】最佳实践
点击下方“JavaEdge”,选择“设为星标”第一时间关注技术干货!免责声明~任何文章不要过度深思!万事万物都经不起审视,因为世上没有同样的成长环境,也没有同样的认知水平,更「没有适用于所有人的解决方案」;不要急着评判文章列出的观点,只需代入其中,适度审视一番自己即可,能「跳脱出来从外人的角度看看现在的自己处在什么样的阶段」才不为俗人。怎么想、怎么做,全在乎自己「不断实践中寻找适合自己的大道」0...
2023-11-28 23:29:24
205
原创 【高并发写】库存系统设计
点击下方“JavaEdge”,选择“设为星标”第一时间关注技术干货!免责声明~任何文章不要过度深思!万事万物都经不起审视,因为世上没有同样的成长环境,也没有同样的认知水平,更「没有适用于所有人的解决方案」;不要急着评判文章列出的观点,只需代入其中,适度审视一番自己即可,能「跳脱出来从外人的角度看看现在的自己处在什么样的阶段」才不为俗人。怎么想、怎么做,全在乎自己「不断实践中寻找适合自己的大道」当...
2023-11-27 22:28:54
221
原创 Spring Data Redis切换底层Jedis 和 Lettuce实现
Spring Data Redis是 Spring Data 系列的一部分,它提供了Spring应用程序对Redis的轻松配置和使用。它不仅提供了对Redis操作的高级抽象,还支持Jedis和Lettuce两种连接方式。可通过简单的配置就能连接Redis,并且可以切换Jedis和Lettuce两个连接方式。下面先来看看我们该如何使用它。自定义配置类,用于设置Key和Value的序列化。@Bean。
2023-11-27 16:38:44
375
原创 fatal: refusing to merge unrelated histories報錯咋辦
在 Git 中,如果要合并两个分支,而这两个分支的历史记录不相交,就会出现错误:fatal: refusing to merge unrelated histories。如果你确实需要合并两个分支,但它们的历史记录确实不相交,那你可以先把你想要合并到当前分支的那个分支“rebase”到当前分支,然后再合并。最后,你也可以把你想要合并到当前分支的那个分支合并到一个新的分支,然后再把这个新分支合并到当前分支。你也可以把你想要合并到当前分支的那个分支“cherry-pick”到当前分支,然后再合并。
2023-11-27 14:11:01
275
原创 Google Docs系统设计详解(协作文档编辑)
点击下方“JavaEdge”,选择“设为星标”第一时间关注技术干货!免责声明~任何文章不要过度深思!万事万物都经不起审视,因为世上没有同样的成长环境,也没有同样的认知水平,更「没有适用于所有人的解决方案」;不要急着评判文章列出的观点,只需代入其中,适度审视一番自己即可,能「跳脱出来从外人的角度看看现在的自己处在什么样的阶段」才不为俗人。怎么想、怎么做,全在乎自己「不断实践中寻找适合自己的大道」1...
2023-11-26 21:51:22
218
原创 Flink实战(11)-Exactly-Once语义之两阶段提交
一旦所有operator完成预提交,就提交一个commit。如果至少有一个预提交失败,则所有其他提交都将中止,我们将回滚到上一个成功完成的checkpoint。在预提交成功之后,提交的commit需要保证最终成功 – operator和外部系统都需要保障这点。如果commit失败(例如,由于间歇性网络问题),整个Flink应用程序将失败,应用程序将根据用户的重启策略重新启动,还会尝试再提交。这个过程至关重要,因为如果commit最终没有成功,将会导致数据丢失。
2023-11-24 16:21:08
446
原创 图解Kafka适用场景,全网最全!
点击下方“JavaEdge”,选择“设为星标”第一时间关注技术干货!免责声明~任何文章不要过度深思!万事万物都经不起审视,因为世上没有同样的成长环境,也没有同样的认知水平,更「没有适用于所有人的解决方案」;不要急着评判文章列出的观点,只需代入其中,适度审视一番自己即可,能「跳脱出来从外人的角度看看现在的自己处在什么样的阶段」才不为俗人。怎么想、怎么做,全在乎自己「不断实践中寻找适合自己的大道」消...
2023-11-24 16:08:35
242
原创 全网最全图解Kafka适用场景
Streams API的流处理包含多个阶段,从input topics消费数据,做各种处理,将结果写入到目标topic, Streans API基于kafka提供的核心原语构建,它使用kafka consumer、 producer来输入、输出,用Kfka来做状态存储。Kafka 可作为传统的消息系统的替代者,与传统消息系统相比,kafka有更好的吞吐量、更好的可用性,这有利于处理大规模的消息。和Scribe、Flume相比,Kafka提供同样好的性能、更健壮的堆积保障、更低的端到端延迟。
2023-11-24 13:20:05
269
原创 如何延长你的时间价值?
点击下方“JavaEdge”,选择“设为星标”第一时间关注技术干货!免责声明~任何文章不要过度深思!万事万物都经不起审视,因为世上没有同样的成长环境,也没有同样的认知水平,更「没有适用于所有人的解决方案」;不要急着评判文章列出的观点,只需代入其中,适度审视一番自己即可,能「跳脱出来从外人的角度看看现在的自己处在什么样的阶段」才不为俗人。怎么想、怎么做,全在乎自己「不断实践中寻找适合自己的大道」1...
2023-11-22 21:50:39
204
原创 程序员,你的时间值钱吗?
点击下方“JavaEdge”,选择“设为星标”第一时间关注技术干货!免责声明~任何文章不要过度深思!万事万物都经不起审视,因为世上没有同样的成长环境,也没有同样的认知水平,更「没有适用于所有人的解决方案」;不要急着评判文章列出的观点,只需代入其中,适度审视一番自己即可,能「跳脱出来从外人的角度看看现在的自己处在什么样的阶段」才不为俗人。怎么想、怎么做,全在乎自己「不断实践中寻找适合自己的大道」时...
2023-11-20 23:12:04
244
原创 程序员的领域壁垒——时间片
点击下方“JavaEdge”,选择“设为星标”第一时间关注技术干货!免责声明~任何文章不要过度深思!万事万物都经不起审视,因为世上没有同样的成长环境,也没有同样的认知水平,更「没有适用于所有人的解决方案」;不要急着评判文章列出的观点,只需代入其中,适度审视一番自己即可,能「跳脱出来从外人的角度看看现在的自己处在什么样的阶段」才不为俗人。怎么想、怎么做,全在乎自己「不断实践中寻找适合自己的大道」时...
2023-11-19 23:05:42
185
原创 图解API设计风格,看一眼就忘不了了!
点击下方“JavaEdge”,选择“设为星标”第一时间关注技术干货!免责声明~任何文章不要过度深思!万事万物都经不起审视,因为世上没有同样的成长环境,也没有同样的认知水平,更「没有适用于所有人的解决方案」;不要急着评判文章列出的观点,只需代入其中,适度审视一番自己即可,能「跳脱出来从外人的角度看看现在的自己处在什么样的阶段」才不为俗人。怎么想、怎么做,全在乎自己「不断实践中寻找适合自己的大道」1...
2023-11-18 23:59:23
213
原创 2024年系统设计备战TopN书单!
点击下方“JavaEdge”,选择“设为星标”第一时间关注技术干货!免责声明~任何文章不要过度深思!万事万物都经不起审视,因为世上没有同样的成长环境,也没有同样的认知水平,更「没有适用于所有人的解决方案」;不要急着评判文章列出的观点,只需代入其中,适度审视一番自己即可,能「跳脱出来从外人的角度看看现在的自己处在什么样的阶段」才不为俗人。怎么想、怎么做,全在乎自己「不断实践中寻找适合自己的大道」0...
2023-11-16 21:43:16
220
原创 如何用Java设计自动售货机?
如何用Java设计自动售货机?是大多在高级Java开发人员面试中经常被问到的好问题之一。在典型的编码面试中,你会得到一个问题描述来开发一个售货机,在有限的时间内,通常2到3小时内,你需要在Java中编写设计文档、工作代码和单元测试。这种Java面试的一个关键优势是可以一次测试候选人的许多基本技能。为了完成售货机的设计、编码和单元测试,候选人需要在这三个方面都非常出色。顺便说一句,这种真实世界的问题也是一个很好的练习,可以提高你的面向对象分析和设计技能,如果你想成为一个好的应用程序开发人员,这一点非常重要。
2023-11-16 14:10:00
770
1
原创 如何备战2024年系统设计面试?
点击下方“JavaEdge”,选择“设为星标”第一时间关注技术干货!免责声明~任何文章不要过度深思!万事万物都经不起审视,因为世上没有同样的成长环境,也没有同样的认知水平,更「没有适用于所有人的解决方案」;不要急着评判文章列出的观点,只需代入其中,适度审视一番自己即可,能「跳脱出来从外人的角度看看现在的自己处在什么样的阶段」才不为俗人。怎么想、怎么做,全在乎自己「不断实践中寻找适合自己的大道」1...
2023-11-15 15:20:41
403
4
原创 如何准备2024年的系统设计面试?
如果你正在准备软件工程师或软件开发人员的面试,那么你可能知道由于其开放性质和广泛性,准备系统设计是多么困难,但同时你也不能忽略它。在软件工程界,如果你正在申请高级工程师/主管/架构师或更高级别的角色,系统设计是最受追捧的技能,也是整个过程中最重要的环节之一。如果你搞砸了这个,其他的都不重要了。但是,如果你做对了,你每年的薪水至少会提高几万美元。那么,如何通过你的系统设计环节呢?好吧,以下是我在各种面试做准备时所做的,并且效果相当不错。
2023-11-15 15:00:00
954
原创 8年经验的软件工程师建议
我希望在职业生涯早期就开始做的事情和我希望以不同的方式做的事情。大家好,我已经做了八年半的软件工程师。这篇文章来源于我最近对自己在职业生涯中希望早点开始做的事情以及希望以不同方式做的事情的自我反思。我在这里分享的对任何希望提高和进步到高级甚至更高职位的初级至中级开发者都很有用。
2023-11-15 13:16:20
242
原创 大厂都是怎么做Redis重试的?
潜心打造国内一流,国际领先的技术干货。受网络和运行环境影响,应用程序可能遇到暂时性故障,如瞬时网络抖动、服务暂时不可用、服务繁忙导致超时等。自动重试机制可大幅避免此类故障,保障操作成功执行。
2023-11-14 11:01:05
310
原创 支持可视化呈现数据库字段级和血缘关系的工具,太强了吧!
SQLFlow 可跟踪超过 20 种主要数据库(包括 Snowflake、Hive、SparkSQL、Teradata、Oracle、SQL Server、AWS Redshift、BigQuery 等)的字段级数据血缘。从查询历史记录、ETL 脚本、Github/Bitbucket、本地文件系统和远程数据库中的 SQL 语法创建和可视化血缘关系。使用交互式图表或通过 Restful API 或 SDK 以编程方式探索血缘关系。
2023-11-13 14:56:54
270
原创 下一代图片格式AVIF,赶紧用起!
AVIF是一种基于AV1视频编码的新图像格式,相对于JPEG、Wep等图片格式压缩率更高,并且画面细节更好。AVIF通过使用更现代的压缩算法,在相同质量的前提下,AVIF文件大小是JPEG文件的35%左右。AVIF支持高动态范围(HDR)和标准动态范围 (SDR)内容,包括常用的sRGB和BT.2020色彩空间。它支持8、10和12位的颜色深度、胶片颗粒保留、PNG图像的透明度以及GIF格式的动画。
2023-11-10 15:31:03
304
原创 Jenkins CICD过程常见异常
从描述信息来看,是无法拉取远程代码,之前明明是好正常的,怎么突然一下就不行了呢?那你想想,是不是最近负责这个项目的人离职了,O(∩_∩)O哈哈~从【配置】中,找到配置 Git 远程地址的地方,下图中会报红,将【Credentials】改成自己的用户就可以了。发生这个错误,一般是磁盘空间不足了,这种情况在测试环境比较常见(毕竟生产环境会有监控提醒的)!这个原因主要是 Git 用户被注销了,无法通过该用户获取 Git 代码。将Jenkins配置中的脚本目录地址改正确。Jenkins调用的脚本文件权限不够。
2023-11-10 14:03:49
723
1
原创 程序员副业路(06)-发掘你的资源和优势
点击下方“JavaEdge”,选择“设为星标”第一时间关注技术干货!免责声明~任何文章不要过度深思!万事万物都经不起审视,因为世上没有同样的成长环境,也没有同样的认知水平,更「没有适用于所有人的解决方案」;不要急着评判文章列出的观点,只需代入其中,适度审视一番自己即可,能「跳脱出来从外人的角度看看现在的自己处在什么样的阶段」才不为俗人。怎么想、怎么做,全在乎自己「不断实践中寻找适合自己的大道」前...
2023-11-07 23:44:05
280
原创 分布式任务调度(04)--自研
这次自研任务调度系统从架构来讲,并不复杂,实现了XXL-JOB的核心功能,也兼容了技术团队的RPC框架,但并没有实现工作流以及mapreduce分片。每个应用都会做三备份,通过 zk 抢锁,一主两备,如果某台 Server 挂了,会进行 failover,由其他 Server 接管调度任务。数据量大,我可以搞定分库分表,但 Quartz 集群基于行级锁的模式 ,注定上限不会太高。兼容技术团队自研的RPC框架,技术团队不需要修改代码,RPC注解方法可以托管在任务调度系统中,直接当做一个任务来执行。
2023-11-07 16:24:07
266
原创 分布式任务调度(03)--中心化设计
把调度和任务执行,隔离成两个部分:调度中心只需要负责任务调度属性,触发调度命令执行器执行器接收调度命令,去执行具体的业务逻辑两者都可以进行横向扩容。
2023-11-07 16:22:23
262
Spring基础讲义-java 入门必备
2022-11-05
南邮Windows编程课件
2017-11-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人