1.spring容器擴(kuò)展點(diǎn) 自定義的實(shí)例化、初始化、依賴裝配、依賴檢查等流程,既可以覆蓋默認(rèn)的實(shí)例化,也可以增強(qiáng)初始化、依賴注入、依賴檢查等流程 大體意思是可以檢查相應(yīng)的標(biāo)識(shí)...
1.spring容器擴(kuò)展點(diǎn) 自定義的實(shí)例化、初始化、依賴裝配、依賴檢查等流程,既可以覆蓋默認(rèn)的實(shí)例化,也可以增強(qiáng)初始化、依賴注入、依賴檢查等流程 大體意思是可以檢查相應(yīng)的標(biāo)識(shí)...
@nealon 你也換成官方的一些鏡像啦
[nginx] tengine加入nginx-module-vts監(jiān)控開啟nginx-module-vts功能 默認(rèn)的tengie不包括nginx-module-vts功能,需要我們自己自定義加入此模塊即可,目前我們使用tengine都是基于d...
@nealon 你好,這個(gè) tengine 可以在官方的 dockerhub 中找到的。
[nginx] tengine加入nginx-module-vts監(jiān)控開啟nginx-module-vts功能 默認(rèn)的tengie不包括nginx-module-vts功能,需要我們自己自定義加入此模塊即可,目前我們使用tengine都是基于d...
官方文檔詳見: https://docs.scala-lang.org/scala3/reference/contextual/index.html[https://docs...
一個(gè)更加簡單的實(shí)現(xiàn)方式是:
package dummy
import scala.quoted.*
object Describer:
enum ShowType:
case TYPE_TREE
case TYPE_REPR
case OTHER
inline def describe[T](showType: ShowType): String = showType match
case ShowType.TYPE_TREE =>
describeTree[T]
case ShowType.TYPE_REPR =>
describeRepr[T]
case ShowType.OTHER =>
"Not Supported"
inline def describeRepr[T]: String = ${ describeReprImpl[T] }
inline def describeTree[T]: String = ${ describeTreeImpl[T] }
def describeTreeImpl[T: Type](using Quotes): Expr[String] =
import quotes.reflect.*
val tpt = TypeTree.of[T]
Expr( tpt.show(using Printer.TreeStructure) )
def describeReprImpl[T:Type] (using Quotes): Expr[String] =
import quotes.reflect.*
val tpe = TypeRepr.of[T]
Expr( tpe.dealias.widen.show(using Printer.TypeReprStructure) )
1.概述 Scala3的Macro基于其引入的新的抽象類型結(jié)構(gòu) tasty,即:Typed Abstract Syntax Trees,其可以在編譯之后,保留方法和類上的類型...
本文將通過 macro 的方式來實(shí)現(xiàn)類型類的派生方法的實(shí)現(xiàn)。代碼樣例詳見:derive_macros[https://github.com/leihuazhe/scala_s...
詳見代碼庫:https://github.com/leihuazhe/scala_scala3_samples[https://github.com/leihuazhe/sc...
獲取某個(gè)進(jìn)程下線程的數(shù)量。
pstree -p pid | wc -l
[TroubleShooting] 線上多TCP連接定位1.獲取線程號 2.出現(xiàn)大量的 TCP 鏈接 2. strace -f -p 952865 -e trace=network 3.strace -p 952970 觀測這個(gè)線...
本文參考了:https://blog.rockthejvm.com/givens-vs-implicits/[https://blog.rockthejvm.com/give...
你在文中哪句話看到我說了 Lifecycle不是spring的一個(gè)接口了?你有多了解spring呢!
我寫文章是記錄自己的實(shí)踐,你不喜歡可以不看。
[Spring] Spring生命周期之LifecycleLifecycle callbacks Initialization callbacks、Destruction callbacks要與容器的bean生命周期管理交互,即容器...
git cherry-pick可以選擇某一個(gè)分支中的一個(gè)或幾個(gè)commit(s)來進(jìn)行操作。例如,假設(shè)我們有個(gè)穩(wěn)定版本的分支,叫v2.0,另外還有個(gè)開發(fā)版本的分支v3.0,我...
隨著分布式和微服務(wù)部署的不斷興起。公司的工程模塊和依賴變得越來越多,從而錯(cuò)綜復(fù)雜。因此,通過通用 腳手架與通用模塊等將各個(gè)項(xiàng)目通用的模塊單獨(dú)提煉出來,并形成依賴 jar,這類...
兩種方式可能都存在一定的問題:例如 getClass( Map[String, String]() ) 是沒獲得更多的信息的,并不一定能夠提供對應(yīng)用用好的API。 scala 中更多使用 Context Bound 來應(yīng)對。
我寫這個(gè)文章的是時(shí)候參考的是SpringBoot1.x版本,確實(shí)沒有application.setRegisterShutdownHook(false); 這一句,所以 1.x 肯定是并行的。
2.x 是串行的,看這篇文章文章末尾的更新圖對比。
Tomcat&Spring&Dubbo優(yōu)雅關(guān)閉流程分析云集技術(shù)平臺(tái)以分布式架構(gòu)分層部署,整體上分為接入層(對外提供HTTP接口服務(wù),tomcat作為容器) 和 服務(wù)層(領(lǐng)域劃分的各獨(dú)立的為服務(wù),以Dubbo作為容器)。系統(tǒng)迭代的...
JSX高級 本質(zhì)上來講,JSX 只是為 React.createElement(component, props, ...children) 方法提供的語法糖。比如下面的代碼...
如今企業(yè)應(yīng)用分布式、微服務(wù)盛行,針對分布于多節(jié)點(diǎn)的日志,會(huì)使用分布式日志系統(tǒng)架構(gòu),來滿足業(yè)務(wù)開發(fā)查詢多節(jié)點(diǎn)的日志并進(jìn)行問題排查和定位。迄今為止,最為通用和成熟的就是elast...
協(xié)變 Covariance https://docs.scala-lang.org/zh-cn/tour/variances.html[https://docs.scala-...