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