@JAVA

Stories List
@flydean

網絡協議之:socket協議詳解之Socket和Stream Socket

簡介 不管是在普通的網絡編程中還是在netty中,都經常會提到一個詞叫做socket,好像socket是一個神奇的東西,使用socket我們可以建立客户端到服務器端的連接,並且和進行客户端和服務器端的通訊,那麼socket到底是什麼呢?它有哪些分類呢?一起來看看吧。 Socket是什麼 socket的中文翻譯是套接字,個人覺的這個翻譯真的是太差勁了,套接字聽起來毫無意義,所以很多人在第一次聽到so

flydean Avatar

@flydean

Nickname flydean

@fulng

java.io.IOException: 遠程主機強迫關閉了一個現有的連接。異常堆棧信息問題處理(屏蔽)!【轟隆隆原創】

當我們使用Socket開發服務器間相互通信的時候,應該都遇到這個異常,正常情況下,這個是由於客户端和服務器端網絡異常或者強制斷開所產出的異常,具體如下: java.io.IOException: 遠程主機強迫關閉了一個現有的連接。 at sun.nio.ch.SocketDispatcher.read0(Native Method) at sun.nio.ch.SocketDisp

fulng Avatar

@fulng

Nickname 轟隆隆

@njwutong

qData 數據中台完整功能介紹 —— 商業版與開源版功能對比

一、qData 數據中台概覽 在數字化轉型的大背景下,數據已經成為企業最核心、最具價值的資產。qData 數據中台,作為企業數據治理與應用的關鍵平台,憑藉高性能與創新理念脱穎而出。它秉持 “高效、安全、靈活、開放” 的設計原則,致力於為企業打造一站式的數據解決方案。 qData 數據中台具備多方面優勢:在 數據接入 上,能夠廣泛兼容主流數據庫與消息隊列,確保異構數據順暢匯聚;在 數據建模 上,提供

njwutong Avatar

@njwutong

Nickname 吳大同

@njwutong

qData 數據中台【開源版】發佈 1.0.5 版本,全面提升規則治理、非結構化數據處理與部署體驗

2025年9月3日 —— 企業級開源數據中台 qData 開源版 正式發佈 1.0.5 版本。本次更新聚焦 規則治理一體化、非結構化數據支持、以及開源版的體驗與部署優化,進一步提升規則複用能力、數據接入廣度與運維效率,幫助企業和開發者更輕鬆地構建高質量數據治理體系。 ✨ 新增功能 🧩 字段級規則綁定:在“數據元類型”中即可為字段綁定稽查與清洗規則,任務和組件配置時自動加載並可二次修改,大幅減

njwutong Avatar

@njwutong

Nickname 吳大同

@njwutong

qData 數據中台開源版部署全攻略:三種方式任你選擇

作為一款專注於數據治理與數據資產管理的數據中台,qData 數據中台開源版(社區版本) 提供了靈活的部署方式,滿足不同階段用户的需求:從初學者的快速上手,到研發團隊的日常開發,再到生產環境的大規模部署。本文將詳細介紹三種部署方式的適用場景和特點,幫助你快速找到最適合的方案。 🚀 三種部署方式對比 部署方式 説明 適用場景 Docker C

njwutong Avatar

@njwutong

Nickname 吳大同

@guhejiahongdoumianbao

新興社區 -- 歡迎加入OpenIsle社區共建

Why? -- 創意和藍圖 樓主是一個極客,喜歡折騰,喜歡開源,喜歡分享。 我平時經常逛國內外的社區,比如 V2EX、Reddit、LinuxDO,但總覺得存在一些不足。 V2EX 和 LinuxDO 的門檻相對較高,新人要真正融入並不容易。 V2EX 運營了很久,但界面和交互已經顯得不夠現代;LinuxDO 雖然用上了 Discourse,但畢竟是國外的開源項目,想要深度改造和本土化成本很

guhejiahongdoumianbao Avatar

@guhejiahongdoumianbao

Nickname 古河家の紅豆麪包

@njwutong

輕鬆上手 qData 數據中台開源版:Docker Compose 助你10分鐘跑起來

説在前面 誰適合看這份指南? 初次接觸 qData,希望快速體驗功能的小夥伴 不想折騰複雜環境配置和前端打包的人 想用“一鍵啓動”省事體驗完整平台的用户 我們已經為你準備好“開箱即用”的完整部署包,包括: ✅ 前端靜態資源(打包好的 dist 文件夾) ✅ DolphinScheduler 調度器(無需額外安裝) ✅ Hadoop 全家桶(HDFS + YARN) ✅ Flin

njwutong Avatar

@njwutong

Nickname 吳大同

@renzhendezicai

Kotlin協程的取消機制:深入理解和優雅實現

本文首發於公眾號“AntDream”,歡迎微信搜索“AntDream”或掃描文章底部二維碼關注,和我一起每天進步一點點 Kotlin協程提供了一種高效的方式來處理併發和異步任務。在協程的生命週期管理中,取消協程是一項重要的操作。本文將深入探討Kotlin協程的取消機制,介紹除了直接使用Job的cancel方法之外的其他方式,並提供優雅的實現策略。 1. 協程取消的基本概念 在Kotlin協程中,取

renzhendezicai Avatar

@renzhendezicai

Nickname 認真的紫菜

@seazhan

【手寫 RPC】手寫一個RPC框架 使用Netty + java虛擬線程

【手寫RPC框架】如何使用netty手寫一個RPC框架 結合新特性 虛擬線程 什麼是RPC框架 RPC(Remote Procedure Call)遠程過程調用,是一種通過網絡從遠程計算機程序上請求服務,而不需要了解底層網絡技術的協議。RPC框架是一種遠程調用的框架,它可以讓你像調用本地方法一樣調用遠程方法。 避免了開發人員自己去封裝網絡請求、連接管理、序列化、反序列化等操作,提高了開發效率。 N

seazhan Avatar

@seazhan

Nickname seazhan

@kuaishoutech

快手 Java 透明協程:實現零代碼修改提升 30%QPS

摘要:對於開發者而言,傳統線程模型邏輯直觀但性能受限,而異步模型雖性能高卻複雜性大。協程以“同步編程,異步執行”平衡兩者,成為現代語言標配。結合自身業務需求,快手基於社區開源版本自研了 Java17 透明協程技術,實現對業務無侵入的同時,吞吐能力提升 30%以上。本文將深入剖析快手協程技術的背後原理與架構演進。 一、協程技術的發展與挑戰 協程作為計算機領域的一項古老技術,其思想可追溯至 1963

kuaishoutech Avatar

@kuaishoutech

Nickname 快手技術

@bin_60080bc5146e1

聊一聊 Netty 數據搬運工 ByteBuf 體系的設計與實現

本文基於 Netty 4.1.56.Final 版本進行討論 時光芿苒,歲月如梭,好久沒有給大家更新 Netty 相關的文章了,在斷更 Netty 的這段日子裏,筆者一直在持續更新 Linux 內存管理相關的文章 ,目前為止,算是將 Linux 內存管理子系統相關的主幹源碼較為完整的給大家呈現了出來,同時也結識了很多喜歡內核的讀者,經常在後台留言討論一些代碼的設計細節,在這個過程中,我們相互分享,

bin_60080bc5146e1 Avatar

@bin_60080bc5146e1

Nickname bin的技術小屋

@bin_60080bc5146e1

小小的引用計數,大大的性能考究

本文基於 Netty 4.1.56.Final 版本進行討論 在上篇文章《聊一聊 Netty 數據搬運工 ByteBuf 體系的設計與實現》 中,筆者詳細地為大家介紹了 ByteBuf 整個體系的設計,其中筆者覺得 Netty 對於引用計數的設計非常精彩,因此將這部分設計內容專門獨立出來。 Netty 為 ByteBuf 引入了引用計數的機制,在 ByteBuf 的整個設計體系中,所有的 Byt

bin_60080bc5146e1 Avatar

@bin_60080bc5146e1

Nickname bin的技術小屋

@bin_60080bc5146e1

談一談 Netty 的內存管理 —— 且看 Netty 如何實現 Java 版的 Jemalloc

本文基於 Netty 4.1.112.Final 版本進行討論 在之前的 Netty 系列中,筆者是以 4.1.56.Final 版本為基礎和大家討論的,那麼從本文開始,筆者將用最新版本 4.1.112.Final 對 Netty 的相關設計展開解析,之所以這麼做的原因是 Netty 的內存池設計一直在不斷地演進優化。 在 4.1.52.Final 之前 Netty 內存池是基於 jemalloc

bin_60080bc5146e1 Avatar

@bin_60080bc5146e1

Nickname bin的技術小屋

@bin_60080bc5146e1

Netty 如何自動探測內存泄露的發生

本文基於 Netty 4.1.112.Final 版本進行討論 本文是 Netty 內存管理系列的最後一篇文章,在第一篇文章 《聊一聊 Netty 數據搬運工 ByteBuf 體系的設計與實現》 中,筆者以 UnpooledByteBuf 為例,從整個內存管理的外圍對 ByteBuf 的整個設計體系進行了詳細的拆解剖析,隨後在第二篇文章 《談一談 Netty 的內存管理 —— 且看 Netty 如

bin_60080bc5146e1 Avatar

@bin_60080bc5146e1

Nickname bin的技術小屋

@bin_60080bc5146e1

時間輪在 Netty , Kafka 中的設計與實現

本文基於 Netty 4.1.112.Final , Kafka 3.9.0 版本進行討論 在業務開發的場景中,我們經常會遇到很多定時任務的需求。比如,生成業務報表,週期性對賬,同步數據,訂單支付超時處理等。針對業務場景中定時任務邏輯複雜,執行時間長的特點,市面上已經有很多成熟的任務調度中間件可供我們選擇。比如:ElasticJob , XXL-JOB , PowerJob 等等。 而在中間件的場

bin_60080bc5146e1 Avatar

@bin_60080bc5146e1

Nickname bin的技術小屋

@xuxueli

XXL-RPC v1.8.1 | RPC服務框架

Release Notes 1、【安全】序列化安全性增強,默認開啓package安全空間機制; 2、【擴展】序列化擴展性增強,支持自定義序列化package白名單; 3、【優化】序列化類型主動檢測,提升問題定位效率; 4、【能力】服務註冊發現實效性提升,優化long-polling邏輯; 5、【擴展】模塊 xxl-rpc-netty-shade 獨立拆分,與Core模塊解耦; 6、【

xuxueli Avatar

@xuxueli

Nickname xuxueli

@finally_m

2025春招,Netty面試題彙總

大家好,我是 V 哥。2025年春招Java 面試,肯定繞不開 Netty 的相關問題,V哥替大家跟幾位大廠技術主管交流後,整理的一些 2025 年可能會遇到的 Netty 面試題,涵蓋基礎概念、核心組件、性能優化、故障排查等方面,分享給大家,收藏起來備用。 基礎概念類 請簡要介紹一下 Netty 是什麼,以及它的主要應用場景有哪些? 參考答案:Netty 是一個基於 Jav

finally_m Avatar

@finally_m

Nickname 威哥愛編程

@seven97_top

Netty高級使用與源碼詳解

粘包與半包 粘包現象 粘包的問題出現是因為不知道一個用户消息的邊界在哪,如果知道了邊界在哪,接收方就可以通過邊界來劃分出有效的用户消息。 服務端代碼 public class HelloWorldServer { static final Logger log = LoggerFactory.getLogger(HelloWorldServer.class); void start

seven97_top Avatar

@seven97_top

Nickname 程序員Seven

@vivo_tech

vivo Pulsar 萬億級消息處理實踐(3)-KoP指標異常修復

作者:vivo 互聯網大數據團隊- Chen Jianbo 本文是《vivo Pulsar萬億級消息處理實踐》系列文章第3篇。 Pulsar是Apache基金會的開源分佈式流處理平台和消息中間件,它實現了Kafka的協議,可以讓使用Kafka API的應用直接遷移至Pulsar,這使得Pulsar在Kafka生態系統中更加容易被接受和使用。KoP提供了從Kafka到Pulsar的無縫轉換,

vivo_tech Avatar

@vivo_tech

Nickname vivo互聯網技術

@chencaize

DevEco Studio創建Java項目,gradle報sync failed:connection reset錯誤

使用DevEco Studio 3.1.1版本,創建Java應用,程序報錯,無法運行。 原因: DevEco Studio新建的Java應用默認的gradle配置指向的是https://repo.huaweicloud.com,而你的網絡因為各種原因(比如公司網絡),無法訪問,所以會報錯。 解決方法 1.設置代理 打開File Settings Appearance Behavio

chencaize Avatar

@chencaize

Nickname 點墨

@chuck1sn

Make Java Great Again - 基於 SpringBoot3 的現代 java 腳手架

Make Java Great Again! https://www.mjga.cc https://github.com/ccmjga/mjga-scaffold MJGA 的打造基於以下理念: 現代化:技術選型緊跟開源社區風向 可配置化:支持在網頁上選配組件 考究的編碼:每個變量和函數、每個模塊和組件都考慮最佳實踐 Not-all-in-one:現在和未來,mjga 都將守好自

chuck1sn Avatar

@chuck1sn

Nickname Chuck1sn

@chuck1sn

一套全新的 Java 技術棧,一種現代化的 Java 編程方式。

Mjga 是一款全新設計並打造的 Java Web 腳手架,帶給你一種現代化的 Java 編程體驗。 訪問地址: https://www.mjga.cc 視頻教程(持續更新中) 1. 快速啓動腳手架與常用命令簡介 2. 文件結構詳解和 Docker 集成思路 技術選型 DataBase First - 視數據庫為一等公民 設計理念 容器化與雲原生 🍋 通過 doc

chuck1sn Avatar

@chuck1sn

Nickname Chuck1sn

@chuck1sn

《你不知道的 JAVA 系列博客》🔥 分頁查詢的達芬奇密碼。

工程思維落地 《你不知道的 Java 系列》已將工程思維與設計理念落地,形成了一款全新設計的 Java 腳手架 ,可與博客配套使用。 前言 你可能很熟悉 Mybatis,但是今天我們不講這個基於字符串拼接的上古時代的庫。今天我們談一個基於 QueryDSL 實現的庫。(這個庫第一個版本誕生自 2009年),他叫做 JOOQ。 JOOQ 可以用一句話總結:當你在使用 JOOQ 的時候,你就是在使用

chuck1sn Avatar

@chuck1sn

Nickname Chuck1sn

@chuck1sn

《你不知道的 JAVA 系列博客》💘 失傳已久 SQL JOIN 查詢獨門秘籍

工程思維落地 《你不知道的 Java 系列》的理念與思維,已落地成一款 全新設計的 Java 腳手架 ,可與博客配套使用。 從 Left Join 説起 假設你有這樣一個 n2n 的關係表,代表用户和角色之間的關係。 通常通過 left join 去連接這三張表,來查詢出用户及其角色的信息。 SELECT u.id AS user_id, u.name AS user_name

chuck1sn Avatar

@chuck1sn

Nickname Chuck1sn