收藏 / 列表

認真的紫菜 - Android經典面試題之Kotlin中Lambda表達式和匿名函數的區別

本文首發於公眾號“AntDream”,歡迎微信搜索“AntDream”或掃描文章底部二維碼關注,和我一起每天進步一點點 在Kotlin中,匿名函數和lambda表達式都是用於表示函數類型的匿名函數(即沒有名字的函數)。雖然它們在某些情況下可以互換使用,但是它們在語法和使用場景上存在一些細微的差別。 匿名函數 匿名函數使用fun關鍵字來定義,語法更接近於普通函數聲明。匿名函數可以用於需要更詳細控制流

Kotlin , 匿名函數 , 面試 , Android , 程序員

呂秀才 - 深入淺出Java多線程(十三):阻塞隊列

引言 大家好,我是你們的老夥計秀才!今天帶來的是[深入淺出Java多線程]系列的第十一篇內容:AQS(AbstractQueuedSynchronizer)。大家覺得有用請點贊,喜歡請關注!秀才在此謝過大家了!!! 在現代多核CPU環境中,多線程編程已成為提升系統性能和併發處理能力的關鍵手段。然而,當多個線程共享同一資源或訪問臨界區時,如何有效地控制線程間的執行順序以保證數據一致性及避免競態條件

jvm , 多線程 , JAVA , 阻塞隊列 , 隊列

李通 - 使用tio-boot 內置 TokenManager

tio-boot官網 內置 TokenManager 工具類 在使用 Tio-boot 框架開發 Web 應用程序時,安全性是一個重要的考慮因素。本文將介紹如何使用 Tio-boot 框架實現基於 JWT 的 Token 認證。我們將探討如何配置攔截器,生成和驗證 JWT Token,並管理用户的登錄狀態。 Tio-boot 的工具類庫 Tio-utils 內置了 JwtUtils 和 Token

auth , JAVA , token , Jwt

字節幺零二四 - 算法典型例題:N皇后問題,五種解法,逐步優化(遞歸版)

本文將介紹N皇后問題的五種解法,包括樸素回溯法、對稱優化、標記優化、可用優化、位運算優化,對於每種解題思路,提供相應的遞歸版代碼實現,最後將對每種解法進行測試,橫向對比每種解法的求解時間。 題目描述 在 N×N 格的國際象棋上擺放 N 個皇后,使其不能互相攻擊,即任意兩個皇后都不能處於同一行、同一列或同一斜線上,問有多少種擺法? 回溯法 解題思路 回溯法採用深度有限的搜索策略遍歷問題的解空間樹,可

遞歸 , 算法 , 回溯法

半夏微光zhang - Mybatis-Plus分頁查詢實現

導入分頁插件 @Bean public MybatisPlusInterceptor mybatisPlusInterceptor() { MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); interceptor.addInnerIntercept

User , System , 分頁 , 後端開發 , JAVA

vivo互聯網技術 - Cookie的secure屬性引起循環登錄問題分析及解決方案

作者:來自 vivo 互聯網服務器團隊- Wang Fei 單點登錄作為公共組件,在各個公司內部被各個系統所廣泛使用,但是在使用過程中我們會遇到各種各樣的問題,其中循環登錄問題就是一個比較經典的問題。本文主要分析單點登錄和權限系統設計的基本原理,然後結合實際案例來分析循環登錄的原因,並給出具體的解決辦法。 一、單點登錄簡單介紹 1.1 基本概念 一個公司內部可能存在多個系統,如果每一個人在使用不同

單點登錄 , HTTPS , cookie

李棟 - 【zookeeper 第四篇章】監控 Watcher

一、Watcher 概述 zookeeper 提供了數據的 發佈/訂閲功能,多個訂閲者可同時監聽某一特定的主題對象,當主題對象的自身狀態發生了變化時(例如節點內容發生了改變、節點下的子節點列表發生改變等),會實時、主動的通知所有訂閲者。 二、Watcher 架構 Watcher 由三部分組成 zookeeper服務端、zookeeper客户端、客户端的watchManager對象。 客户端

zookeeper , 分佈式 , 後端

CodePulse代碼脈搏 - 智能練習生成與進度追蹤

基於AI編程導師,添加智能練習生成和個性化學習路徑功能。 1. 智能練習生成器 # exercise_generator.py import random from typing import List, Dict from enum import Enum class Difficulty(Enum): BEGINNER = "beginner"

List , 後端開發 , JAVA , ci , Json

我不是碼農 - 記錄一次使用線程池調用kafka發送消息產生的內存泄漏問題

在需求實現裏,我需要把持久化在數據庫中的對象一直往kafka裏發送,然後由flink進行消費,把當前的對象和存儲的用户軌跡記錄等等信息進行比對,如果比對成功則觸發 最開始我是通過單線程發送,發現發送速度有點慢,這裏面我需要把對象做一些處理(比如split,flat,fitler)後才發送到kafka,大概30w+的對象需要十多分鐘那邊才能預警到,於是開始進行性能優化,使用並行流進行處理,改變

gc , 多線程 , JAVA , 內存溢出

Zeran - 如何選擇一款適合自己應用的垃圾收集器呢?

垃圾收集器選型因素 應用程序的主要關注點是什麼?如果是數據分析、科學計算類的任務,目標是儘快算出結果,那吞吐量就是主要關注點;如果是SLA應用,那停頓時間直接影響服務質量,嚴重的甚至會導致事物超時,這樣延遲就是主要的關注點;而如果是客户端應用或者嵌入式應用,那垃圾收集的內存佔用則是側重點。 運行應用的基礎設施如何?譬如硬件規格,要設計的系統時x86-32/64、SPARC還是ARM/Aarc

jvm , 垃圾回收

倔強的鉛筆 - @ApiModel和@ApiModelProperty註解的最佳實踐

在現代軟件開發中,提供清晰全面的 API 文檔 至關重要。@ApiModel 和 @ApiModelProperty 這樣的代碼註解在此方面表現出色,通過增強模型及其屬性的元數據來豐富文檔內容。它們的主要功能是為這些元素命名和描述,使生成的 API 文檔更加明確。 @ApiModel 和 @ApiModelProperty 的實際用例 這些註解不僅僅是為了展示;它們在各種情景中都發揮着實際的作用

JAVA , 接口文檔 , 程序員 , swagger , 後端

博學谷狂野架構師 - 讓我對象告訴你什麼是IO、NIO、BIO

1、Stream 與 Channel stream 不會自動緩衝數據,channel 會利用系統提供的發送緩衝區、接收緩衝區(更為底層) stream 僅支持阻塞 API,channel 同時支持阻塞、非阻塞 API,網絡 channel 可配合 selector 實現多路複用 二者均為全雙工,即讀寫可以同時進行 雖然 Stream 是單向流動的,但是它也是全雙工的 2、IO 模型

netty入門 , netty , JAVA , nio , 後端

架構師專欄 - JVM優化:如何進行JVM調優,JVM調優參數有哪些

Java虛擬機(JVM)是Java應用運行的核心環境。JVM的性能優化對於提高應用性能、減少資源消耗和提升系統穩定性至關重要。本文將深入探討JVM的調優方法和相關參數,以幫助開發者和系統管理員有效地優化他們的Java應用。 本文,已收錄於,我的技術網站 ddkk.com,有大廠完整面經,工作技術,架構師成長之路,等經驗分享 JVM調優通常涉及到對堆內存、垃圾回收策略和線程堆棧大小等方面的調整。優化

性能優化 , jvm虛擬機 , 性能分析 , jvm調優 , JAVA

xiongood - Vue 中 slot 的使用方法

Vue 中 slot 的使用方法 在 Vue 組件化開發中,slot(插槽)就像組件預留的 “靈活接口”,讓父組件能向子組件的指定位置插入自定義內容,既保留了子組件的結構複用,又賦予了內容定製的靈活性,避免了組件過於僵硬。無論是簡單的文本插入,還是複雜的組件嵌套,slot 都能輕鬆應對,是組件複用與定製的核心工具。 最基礎的是默認插槽,子組件中預留一個未命名的插槽,父組件在使用子

數據 , 自定義 , 插槽 , 後端開發 , JAVA

卷福同學 - 分佈式系統架構5:限流設計模式

分佈式系統架構5:限流設計模式 這是小卷對分佈式系統架構學習的第5篇文章,今天來學習限流器和限流設計模式 1.為什麼要限流? 任何一個系統的運算、存儲、網絡資源都不是無限的,當系統資源不足以支撐外部超過預期的突發流量時,就應該要有取捨,建立面對超額流量自我保護的機制,而這個機制就是微服務中常説的“限流” 2.四種限流設計模式 説到限流,大家直接的想法就是Sentinel,但是Sentinel限流的

限流 , 設計模式 , 分佈式系統 , JAVA , 分佈式

小傅哥 - 新項目完結,Ai Agent 智能體、拖拉拽編排!

作者:小傅哥 博客:https://bugstack.cn 沉澱、分享、成長,讓自己和他人都能有所收穫!😄 大家好,我是技術UP主小傅哥。 這是一套綜合前後端 + Dev-Ops,基於 Spring Ai 框架實現,Ai Agent 智能體。耗時7個多月,38節課程(視頻+文檔),從 RAG 到 MCP,再實現出互聯網企業級,可編排的 Ai Agent 智能體,現已全部開發完成 +

ai開發 , springboot , JAVA , 程序員 , Git

lenglingx - Guava之Stopwatch

Stopwatch主要用於時間統計吧 其實不光Guava,Apache Commons, 以及Spring Utils工具集都有StopWatch這個工具。 Guava的Stopwatch的例子代碼TestStopWatch.java package com.cqsym.lmdw1.testguava; import com.google.common.base.Stopwatch; im

sed , System , i++ , 後端開發 , JAVA

CodeSheep - 大家有沒有發現一個奇特現象:你能在一個公司工作 12 年以上,無論你多忠誠多賣力,一旦公司賺的少了,那你就成了“眼中釘肉中刺”

最近在網上刷到一個職場帖子,原文差不多是這樣: “大家有沒有發現一個奇特現象:你很忠誠,能在一個公司工作 12 年以上,無論你態度多好多賣力,一旦公司賺的少了,那你就成了“眼中釘肉中刺”。 他們不會顧及你的任何貢獻,把你視作包袱,視作成本,然後不顧廉恥和情面,要麼降薪,要麼轉崗,狠一點不發年終獎,更狠一點暴力優化,故意耽誤你的時間成本……” 説實話,剛刷到這個話題時,看完心裏一陣揪揪。

JAVA , 程序員 , 後端 , 前端 , Javascript

journey - JVM入門

1、JVM模板 -Xms4096M -Xmx4096M -Xmn3072M -Xss1M -XX:MetaspaceSize=256M -XX:MaxMetaspaceSize=256M -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFaction=92 -XX:+UseCMSCompactAtFull

jvm , jvm調優

素雨末 - MySQL 面試常問

一、 索引篇:B+樹、最左前綴與失效場景 Q1:MySQL 為什麼使用 B+ 樹而不是 B 樹或哈希表做索引? 標準答案: B+ 樹 vs B 樹:B+ 樹的非葉子節點只存索引鍵,不存數據,因此單個頁能存放更多鍵,樹的高度更低,I/O 次數更少。所有數據都在葉子節點,且葉子節點用鏈表連接,範圍查詢效率極高。 B+ 樹 vs 哈

隔離級別 , 死鎖 , 數據 , 後端開發 , JAVA

虎斑嘟嘟 - 自監督視覺預訓練:掩碼圖像建模的互信息最大化解釋

自監督視覺預訓練:掩碼圖像建模的互信息最大化解釋 在自監督學習的革命浪潮中,掩碼圖像建模(Masked Image Modeling, MIM)已然成為計算機視覺領域最具影響力的預訓練範式之一。從自然語言處理中的BERT獲得靈感,MIM通過讓模型學習重建被隨機掩碼的圖像塊,在各種視覺任務上取得了令人矚目的表現。然而,一個根本性問題始終縈繞在研究界:為什麼簡單的掩碼重建任務能

建模 , yyds乾貨盤點 , 互信息 , 後端開發 , JAVA , ios

codecraft - 聊聊httpclient的getPoolEntryBlocking

序 本文主要研究一下httpclient的getPoolEntryBlocking getPoolEntryBlocking org/apache/http/pool/AbstractConnPool.java private E getPoolEntryBlocking( final T route, final Object state,

httpclient , JAVA , challenge

wx661607c93692e - Java 棧與堆內存詳解

一、JVM 內存模型概覽 Java 虛擬機(JVM)在運行時將內存劃分為多個區域,其中與開發者關係最密切的是: 棧(Stack) 堆(Heap) 方法區(Method Area,含常量池) 程序計數器(PC Register) 本地方法棧(Native Method Stack) 本文聚焦於 棧 和 堆。

Stack , 堆內存 , jvm , 後端開發 , JAVA