Log4j2源碼解析:同步寫、異步寫原理、中間技術思考
Log4j2中的組件 從配置開始API基本使用小細節 寫日志的原理主要流程 同步寫異步寫 順便說一下ArrayBlockingQueue notFull 與 notEmpty 異步寫是怎么玩的巧妙的異步寫設計 ByteBuffer與RandomAccessFileGarbage-free避免創建多余對象異步Logger性能 寫在最后
本文主要記錄我對Log4j2源碼閱讀后的一些個人理解,包括的內容有:Log4j2的組件、同步寫、異步寫原理、以及中間技術的個人思考。而log4j2的使用與配置稍顯簡易,可在很多地方找到說明,本文則不重點討論這部分的內容。
【資料圖】
Log4j2中的組件
Log4j2以插件的方式來配置各個組件,在配置中可自由的插拔組件,并支持自動生效(配置monitorInterval)。
從配置開始
Log4j2支持多種格式配置文件,xml、json、yaml、properties。相應地,初始化時會逐個查找并加載這類文件。以最常用的xml配置為例,Log4j2默認的文件名稱為log4j2.xml,主要配置如下:
target/rolling.log
如上配置的對象有: 1. Configuration: 表示日志環境的一份配置描述,用于構建一份運行時的LoggerContext2. Logger表示日志記錄器,可有多個。示例中有2個普通記錄器,1個根記錄器。一個記錄器需要指定Appender,可指定多個,表示日志記錄到哪里。 3. Appenders表示日志的輸出源,可有多個。示例中有3個,Console表示通過標準輸出流輸出到控制臺,RollingRandomAccessFile表示可滾動的記錄日志,日志文件到達一定的大小后,會啟用壓縮。 Async表示一種異步的輸出端,通過異步線程與隊列的方式寫入日志到其關聯的實際Appender中。
API基本使用
// 獲取Logger private static final Logger logger = LogManager.getLogger("HelloWorld"); private static final Logger logger = LogManager.getLogger(Class.getName()); logger.info("Hello, World!");logger.debug("Logging in user {} with birthday {}", user.getName(), user.getBirthdayCalendar());logger.debug("Logging in user %s with birthday %s", user.getName(), user.getBirthdayCalendar());
小細節
Log4j2在對外的info,warn等API上在內置了logIfEnabled的判斷,而不用在程序中顯示的寫上:
if (logger.isInfoEnabled()) { logger.info();}if (logger.isWarnEnabled()) { logger.warn();}
所以在寫日志時,放心的直接用logger.info,logger.warn吧。
寫日志的原理
主要流程
同步寫
如上流程是典型的同步寫的過程,多線程并發寫是通過臨界區來實現。簡要過程如下:
相關代碼: AbstractOutputStreamAppender#directEncodeEvent 以常用的基于PatternLayout的日志格式為例:
private void encodeSynchronized(final CharsetEncoder charsetEncoder, final CharBuffer charBuffer, final StringBuilder source, final ByteBufferDestination destination) { // 臨界區阻塞式Encode synchronized (destination) { try { TextEncoderHelper.encodeText(charsetEncoder, charBuffer, destination.getByteBuffer(), source, destination); } catch (final Exception ex) { .. } } }// 根據不同的Appender用OutputStream.writeBytespublic synchronized void flush() { flushBuffer(byteBuffer); flushDestination();}
異步寫
如上配置的Async表示一種異步輸出器,對應的實現為AsyncAppender。 異步Appender使用異步線程加阻塞隊列(BlockingQueue)來實現異步寫的功能。默認情況下通過BlockingQueueFactory創建缺省的隊列類型為:ArrayBlockingQueue,隊列大小為128.
順便說一下ArrayBlockingQueue
notFull 與 notEmpty
put和take阻塞調用線程是借用notFull和notEmpty兩個條件對象來實現的。
所以在理解這兩個詞的意思時,看看Doug Lea給的注釋:
等待take的條件 private final Condition notEmpty; 等待put的條件 private final Condition notFull;
換言之,此處的notEmpty表示為:只有隊列在notEmpty的條件下才能take, 如果隊列為empty,那么當前take的線程則需要等待。類似的,當隊列在notFull時,才能put, 如果隊列為full, 那么當前put的線程則需要等待。
異步寫是怎么玩的
業務線程并發調用同一個Logger寫日志時,Log4j2內部把內容解析成LogEvent,然后投遞到隊列中,由異步的線程來負責消費。
相關代碼: 投遞到隊列:
public void append(final LogEvent logEvent) { ... 獲取不可變的副本對象 final Log4jLogEvent memento = Log4jLogEvent.createMemento(logEvent, includeLocation); if (!transfer(memento)) { // 投遞到隊列失敗,降級策略 if (blocking) { // 新版本默認為true // 根據策略不同,可丟棄、可等待、可由當前線程執行 final EventRoute route = asyncQueueFullPolicy.getRoute(thread.getId(), memento.getLevel()); route.logMessage(this, memento); } else { // 交由error-appender處理 logToErrorAppenderIfNecessary(false, memento); } } }// 投遞LogEvent到隊列,新版本可指定隊列為LinkedTransferQueueprivate boolean transfer(final LogEvent memento) { return queue instanceof TransferQueue ? ((TransferQueue) queue).tryTransfer(memento) : queue.offer(memento);}
消費寫LogEvent
消費while (!queue.isEmpty()) { try { final LogEvent event = queue.take(); if (event instanceof Log4jLogEvent) { final Log4jLogEvent logEvent = (Log4jLogEvent) event; logEvent.setEndOfBatch(queue.isEmpty()); // 在異步線程中調用Appender寫日志 callAppenders(logEvent); } else { ... } } catch (final InterruptedException ex) { 不處理異常,繼續寫日志 } }
巧妙的異步寫設計
實際環境中,很多業務線程在并發的寫日志到隊列中,并由一條異步消費者線程負責消費寫。高并發的場景下,很容易造成生成的速度大于消費的速度。 為了不阻塞生成,投遞LogEvent時選擇的是隊列的offer方法,如果成功入隊,則執行馬上返回給應用。如果隊列滿了,則默認降級為在同步寫,這種設計能極大的提供性能 。而消費時選擇的隊列的take方法,如果生產的日志較少,則park消費者線程,讓出CPU。 注意到offer方法在入隊成功時,也會調用notEmpty.signal()方法,進而喚醒消費者,從而讓它繼續工作。
ByteBuffer與RandomAccessFile
項目中常常會用到RollingRandomAccessFile這種Appender,而在Log4j2中都是基于ByteBuffer來管理字節緩沖,并用于處理字節流與字符流的高效轉換。最后采用RandomAccessFile來寫Bytes到文件。Log4j2官方給出的性能測試報告提到相較于BufferedOutputStream,ByteBuffer + RandomAccessFile有20-200%的性能改善。
private ByteBuffer getByteBuffer() { ByteBuffer result = byteBufferThreadLocal.get(); if (result == null) { result = ByteBuffer.wrap(new byte[byteBufferSize]); byteBufferThreadLocal.set(result); } return result;}
在輸出ByteBuffer時,根據Appender的不同選擇不同的輸出策略。基于RandomAccessFile的輸出為: randomAccessFile.write(byteBuffer.toArray(), 0, byteBuffer.limit());
Garbage-free(避免創建多余對象)
Log4j2提倡創建最少的對象做更多事,盡量避免創建多余的對象。在內部有很多細節代碼,這里分析2個例子。 1. API設計上避免創建變長數組 用void info(String message, Object p0, Object p1, Object p2, Object p3)這類參數明確的api替換帶變長數組的api.
提供工具來避免基礎類型參數的自動裝箱. 自動裝箱會創建大量的對象,Log4j2提供Unbox工具類來轉換為StringBuilder.
異步Logger
事實上log4j2的異步logger才是性能改善最卓越的部分。異步Logger內部采用 Disruptor來實現,它是一個用于代替隊列的無鎖化線程間的通信的工具庫,可以明顯的提高吞吐量并降低延遲。 自己后續會對Disruptor做一個學習與分析。感謝關注。
性能
Log4j2的性能改善是明顯的,官方文檔:http://logging.apache.org/log4j/2.x/performance.html 提供了大量的場景對比結果,有興趣的可以去了解一下。
寫在最后
The log4j1.x amost has became End of Life。So upgrade it and learn about it.
哦,對了,升級的時候可以用SLF4J來做統一的外觀,然后引入log4j-api,log4j-core, slf4j-api,還有slf4j到log4j2的橋接器log4j-slf4j-impl就行。但是需要注意的是: 咱們內部中間件大多默認依賴了slf4j-log4j12,因此需要把這類依賴全部排出, 可以用如下的tip:
org.slf4jslf4j-log4j12999-not-exist
Good luck. Tks.
標簽:
相關推薦:
精彩放送:
- []看熱訊:Kitten-少兒編程的首選工具 Kitten-少兒編程詳情介紹
- []環球快看點丨PMA的應用是什么?基于PMA-qPCR的生物學檢測方法
- []新開源:年度審計仍在進行中,公司一月份已公告業績預告
- []安寧股份:截至2023年2月28日股東人數20,818
- []gpi是什么意思
- []焦點日報:怎么才可以貸款,需要滿足以下五個條件
- []玲娜貝兒首次與游客“貼貼”,上海迪士尼門票熱度環比大增350%
- []白銀股票的十大龍頭股,概念龍頭股名單一覽
- []每日消息!華住、錦江與雅高的十年“恩怨”
- []銀行卡賬戶名稱是什么意思
- []蒲公英如何祛斑
- []環球新消息丨無錫哪里好玩?無錫旅游景點有哪些?
- []哪些甜紅葡萄酒最好喝?分享四種最好喝的甜紅葡萄酒
- []我的小米賬號為什么登不上去了?小米賬號登不上去的解決方式?
- []全球熱資訊!徐州財經學校是個什么樣的學校?徐州財經學校資料介紹?
- []勤哲Excel服務器無代碼實現生物科技企業管理系統
- []白博美貴還是黃博美貴?為什么?
- []天天熱資訊!國防科技大學和清華北大比怎么樣?北京大學哪一年創辦?
- []【全球獨家】蜂巢能源攜手龍凈環保,合資儲能電池項目龍巖開工
- []天天熱文:氫能源股票龍頭股,氫能源龍頭股票盤點
- []當前頭條:汽車排量是什么意思?中國轎車級別怎么劃分?
- []環球短訊!大學生的就業競爭力主要包括哪些?大學生的就業競爭力介紹?
- []全球消息!g2030cpu是哪一年的?g2030cpu怎么樣?
- []全球微頭條丨洛陽龍門石窟夜景春節開放嗎?“夜游龍門”活動時間?
- []美暢股份:38μ以下規格的金剛線是公司目前主要出貨產品,產品價格相對穩定
- []資訊推薦:A股快報 | 物流板塊早間開盤上漲 嘉友國際漲超8%
- []環球報道:港股房地產股走低 旭輝控股集團跌超4%
- []錦江集團2018年公司債即將到期兌付及摘牌 利率3.35%
- []最新:仁恒置地2月簽約預售增長243.0%至人民幣36.67億元
- []全球簡訊:湖北聯發投集團10億中期票據將到期兌付 票面利率5.9%
- []國中水務:公司主營業務的具體情況,您可以關注公司發布在上海證券交易所網站上的公司年報
- []當前觀點:羅萊生活:公司已有抗H1N1病毒的自主知識產權技術,并同時儲備了抗菌技術
- []世界簡訊:* 擬赴港上市難掩業績跳水困境,絕味食品逼近跌停
- []次級貸款的定義,貸款機構向信用較差的人發放的貸款
- []全球今亮點!“黑馬”基金經理來了!
- []環球今亮點!銀行儲蓄利率2020年利率
- []微速訊:2021年創業板50股票一覽表 2021創業板50支股票一覽表
- []前沿熱點:持倉是什么意思
- []怎樣購買基金,有以下三種方法
- []每日看點!尋釁滋事罪怎么量刑
- []世界快看點丨財面兒丨越秀地產:前2月合同銷售額約225.96億元 同比上升約187.3%
- []快播:航天動力:公司未收到相關信息,公司按照相關法律法規履行信息披露義務,不存在應披露而未披露的信息
- []世界熱點!科遠智慧:公司自主研發并實現產業化推廣的SyncBase實時數據庫已經在數千家工業企業取得廣泛應用
- []每日快播:沈曉玲等:房企如何應對現房銷售試點?
- []家居丨美克家居:為控股股東美克集團提供6000萬元擔保
- []短訊!新規實施!外墻面層計入建筑面積,公攤變大了?
- []世界熱點!同達創業:公司目前沒有應披露未披露信息
- []最資訊丨家居丨夢百合:副總裁王震增持3.84萬股公司股份 耗資45.12萬元
- []【速看料】中國核建:中國核建是中核集團控股的專業化上市公司,是中核集團完整的核產業鏈中的重要一環
- []淘氣值怎么增加 淘氣值如何增加
- []全球熱推薦:余額寶年利率 余額寶的年利率
- []環球快看點丨權益基金發行升溫 3月份以來新發數量占比超60%
- []全球新消息丨光能杯儲能主題演講第五彈:面向投資商和工商業業主的分布式儲能解決方案選擇策略
- []車險排行榜 車險公司排行榜
- []當前動態:全國城市經濟排名2021最新排名,上海排名第一
- []世界最新:中金:政策扶持+產業升級 智慧家居市場成長可期
- []每日簡訊:中泰證券:銀行股核心邏輯是宏觀經濟 堅持修復邏輯和確定性增長邏輯兩條主線
- []世界今熱點:尚太科技:行業的供需起伏波動是市場經濟正常的表現形式,大浪淘沙,有利于有綜合競爭優勢的企業發展壯大
- []世界快看:又有A股知名公司"出事"!副總裁兼財務總監涉嫌職務犯罪,影響多大?
- []南昌中溢置業掛牌杭州通原地產40%股權 底價8454萬元
- []普天科技:公司在開展5G相關業務的同時,也在積極探索和跟進6G的行業發展趨勢
- []華僑城擬發行20億元超短期融資券 申購區間2.5%-2.8%
- []國家隊出場次數即將破百,優缺點明顯的張琳芃,算亞洲一流后衛么
- []天天微速訊:折紙王子蝎子怎么折_折紙王子教你折毒蝎子
- []【新視野】疫情過后,酒店餐飲用工如何破局?
- []每日熱議!攜程集團扭虧為盈 2022年全年錄得凈利潤14億元
- []視焦點訊!改善居?。翰槐刭I,租也行!
- []沈曉玲等:多地鼓勵現房銷售試點,房企如何調整應對?
- []焦點信息:全國政協委員戴斌:旅游需要網紅,但網紅不是旅游的全部
- []真蘭儀表:公司生產的氣體流量計是一種精密計量器具,主要用于天然氣的貿易計量與結算,其準確度達1.0級
- []【世界聚看點】12306網站無法退票_12306網站無法登陸
- []天天快報!教育部發通知,要及時淘汰不適應社會需要的學科專業,各位覺得哪些專業應被淘汰?
- []歧路亡羊的故事概括20字_歧路亡羊的故事概括
- []全球頭條:綠城中國(03900.HK)前4個月總合同銷售金額約637億元
- []全球速看:仁東控股面臨多重壓力 投資者索賠案仍在進行中
- []天天快看:股東會見聞錄 | 招商蛇口“南油收購”決心
- []建業地產首兩月合同銷售總額49.9億元?同比增長57.7%
- []每日快看:古鰲科技:3月3日公司高管陳崇軍減持公司股份合計2萬股
- []全球快消息!中熔電氣:3月3日公司高管賈鈞凱減持公司股份合計2800股
- []【世界新要聞】鼎龍股份:3月3日公司高管楊波減持公司股份合計9萬股
- []天天動態:龍佰集團:3月3日公司高管張海濤增持公司股份合計100股
- []世界實時:劉小蕙
- []今頭條!企業家看兩會: 科技、互聯網企業家代表委員關注哪些議題?
- []溢多利:公司目前沒有工業大麻產品
- []世界關注:“建議上調1萬+,請不要再賤賣自己的房子!”多地二手房業主抱團“保衛房價”
- []每日看點!月度新車榜 | 智己、理想等SUV密集推出 小車市場再添新玩家
- []沃爾德:3月3日公司高管陳繼鋒減持公司股份合計3.18萬股
- []全球新資訊:2023年03月06日上市公司公告
- []【全球新視野】杭可科技子公司中標遠景動力在英國和法國擴產所采購的鋰電池后道設備項目 中標價1.17億美元(不含稅)
- []天天熱點評!榮盛發展定增方案獲深交所受理?募資金額不超30億
- []環球看點!雅居樂前2月預售額約125.6億元 同比減少10.92%
- []報道:達安基因:公司主營產品為PCR診斷試劑及相關耗材、儀器等
- []頭條焦點:福星股份定增申請獲得深交所受理 募資不超過13.4億元
- []環球簡訊:新瀚新材:新產能產品驗證及爬坡需要一定的過程,公司會根據市場需求統籌安排產能
- []夢百合:3月6日公司高管王震增持公司股份合計3.84萬股
- []修培刻靈“蕉仙素”是非藥物療法與現代生物科技的結晶
- []國美控股所持1639萬股中關村股份被司法再凍結?累計凍結占比64.62%
- []綠景中國回購2750萬美元2023年到期年息12%票據
- []粗暴的流量時代已經終結,酒店營銷難題如何找到最優解?
- []天天快報!財面兒丨中國海外宏洋集團1-2月累計合約銷售額78.48億元 同比上升34%
- 每日看點!NTC熱敏電阻的采集方法有哪些?NTC熱敏電阻溫度采集方法介紹
- 新開源:2月底股東戶數為16271戶
- Log4j2源碼解析:同步寫、異步寫原理、中間技術思考
- 世界今頭條!AI論文中的novelty如何評價?詳情介紹
- 快資訊丨決策樹算法是什么?決策樹的定義與核心思想
- 每日觀點:【WOTD】remittance 釋義/詞源/示例 詞源詞根演化
- 全球視點!什么是扁平化設計?扁平化時代之后會怎樣?
- struts的框架介紹 Struts2框架的大致處理流程
- 全球熱點評!如何搭建VIE架構?VIE架構如何實現海外上市?
- 安琪酵母:人類飲食多樣化,正常食用米面不會對人體內的胰島素產生不利影響,合理膳食,管住嘴,邁開腿
- B站注冊資本增幅400%至5億 目前由陳睿全資持股
- 光源資本出任獨家財務顧問 沐曦集成電路10億元A輪融資宣告完成
- 巨輪智能2021年上半年營收11.24億元 期內研發費用投入增長19.05%
- 紅棗期貨尾盤拉升大漲近6% 目前紅棗市場總庫存約30萬噸
- 嘉銀金科發布2021年Q2財報 期內凈利潤達1.27億元同比增長208%
- 成都銀行2021上半年凈利33.89億元 期內實現營收同比增長17.27億元
- 汽車之家發布2021年第二季度業績 期內新能源汽車品牌收入增長238%
- 中信銀行上半年實現凈利潤290.31億元 期末不良貸款余額706.82億元
- 光伏概念掀起漲停潮交易價格創新高 全天成交額達1.29億元
- 上半年生物藥大增45% 關鍵財務指標好轉營收賬款持續下降
- * 貝斯曼擬赴美IPO,2022財年凈虧損擴大74%至232萬美元
- 環球快資訊丨深圳能源:公司按國家政策要求,積極簽署并落實煤炭中長期合同,中長期合同覆蓋率處行業中上水平
- 天天要聞:財面兒丨金地集團:前2月簽約金額240.1億元
- 今日要聞!德信中國1-2月合約銷售額55.4億?同比增長4.33%
- 財面兒丨保利置業集團:前2月合同銷售金額131億元,同比增長243%
- 觀焦點:凱撒文化:公司與沉浸世界除了線下空間合作之外,在VR游戲研發內容方面雙方也有探討
- 環球今熱點:快訊 | 科凡定制深主板IPO獲受理
- 即時:曹仁賢代表:關于鼓勵民營企業參與大型新能源項目開發的建議
- 鉛炭電池是新型儲能技術,商業化推廣前景可期
- CCER炒到106元/噸,會拉動全國碳市場價格上漲嗎?
- 動態:2023快速成長,這7個城市的小型論壇必去!
- 電站項目全面轉N型|晶科N-TOPCon技術產品成“寵兒” 大幅提升大基地項目高質量發展
- 世界熱門:逆天業績,極其低調卻兇猛,被低估的光伏隱形巨頭
- 天天通訊!國家發展改革委:大力推進以沙漠、戈壁、荒漠地區為重點的大型風電光伏基地建設
- 全球快播:租個女友回家過年電視劇收視率_租個女友回家過年第2部
- iphone照片回收站在哪
- 世界百事通!安陽鋼鐵:相關問題請咨詢中國礦產資源集團
- 環球觀察:新洋豐:公司大股東洋豐集團公司深耕磷化工行業多年,一直積極推進磷礦資源投資和整合
- 世界短訊!盛洋科技:1.公司2019年度非公開發行股票募集資金投資項目之一為“通信鐵塔基礎設施建設項目
- 全球今日報丨融信中國2月合約銷售額約13.34億元 同比下降超八成
- 江蘇海潤城發集團30億元私募債狀態更新至“已受理”
- 全球速看:保利置業前2月合同銷售額131億元 同比增長243%
- 今日視點:沃森生物:相關期刊文獻屬于由研究者發起的臨床研究,具體產品持久性及效力數據需要以正式臨床研究結果為準
- 豫園股份:控股股東一致行動人新增質押4056.2萬股
- 迭代新智感,讓此刻更好!ARROW箭牌×設計深圳震撼首展
- 當前熱門:珠海華發擬10億元公司債本息兌付及摘牌 利率3.54%
- 平頂山高新區推介11宗重點出讓地塊 涵蓋3宗商住地共387畝
- 每日速看!江瀚新材:股東查詢請聯系公司董事會辦公室0716-8377806
- 環球熱門:佳沃食品:上述傳言所述情況不屬實,相關事項請以公司公告為準
- 心曠神怡是什么意思?心曠神怡怎么造句?
- 當前關注:南京的各個區的郵政編碼是多少?南京的各個區的郵政編碼介紹?
- 【新要聞】大眾高爾夫和polo有什么區別?大眾高爾夫和polo的區別是什么?
- 每日聚焦:電視劇楚喬傳中趙西風的扮演者是誰?趙西風的扮演者資料介紹?
- 同程旅行:出境游重啟1個月,泰國最火爆
- 微信支付分如何開通?微信支付分的開通方法?
- 夢到死去的奶奶預示著什么?夢到已故的奶奶是好是壞?
- 傳奇世界怎么開私服?如何快速開私服?
- 全球訊息:中國核電站有幾個都在哪里?核電站是指什么?
- 全球百事通!elle中文叫什么牌子?elle中文品牌介紹?
- 文件粉碎的軟件有哪些?360文件粉碎機獨立版怎么樣?
- 今日熱搜:危地馬翡翠特點?
- 今年1月港私樓落成量3178伙 一半屬于細單位
- 【焦點熱聞】3月6日潤達醫療漲停分析:幽門螺桿菌概念,體外診斷,醫療器械概念熱股
- 天天觀熱點:3月6日中材節能漲停分析:光熱發電,央企改革,儲能概念熱股
- 平度城建公司完成發行5萬中期票據 利率5.5%
- 博匯股份:截至2月28日公司股東人數7734人
- 觀焦點:海倫堡物業退出鑫和物業100%股權 由欣科物業接盤
- 美聯香港樓價指數按周升0.43%
- 環球今熱點:咸陽城投集團10億元私募債項目更新至"已受理"
- 環球熱訊:3月6日奧士康漲停分析:6G,PCB板,小米概念股概念熱股
- 全球快訊:朗科智能:截至2022年2月28日,公司股東戶數為2.3萬戶
- 世界報道:當出差成為常態,企業還想要“降本”該怎么辦?
- 向內生長 篤定前行 | 青蛙王子2023年度全國經銷商峰會
- 天天熱議:天璣科技:深圳市杉巖數據技術有限公司系公司全資子公司的參股公司,公司無應披露而未披露信息
- 今日要聞!蘋果追蹤定位怎么用?幾步輕松搞定
- “20君山01”擬分期償還本金 本期將償還6億元本金的20%
- 灰熊做空中通快遞全文:中國“一流”物流的***
- 【快播報】美原油交易策略:油價受阻于100日均線,但后市仍偏向多頭
- 良信股份:感謝提問。公司始終遵循以客戶為中心的戰略導向,密切關注客戶需求及市場變化
- 全毛襯西服縫制工藝_西服定制中的全毛襯西服是什么意思
- 全球最資訊丨旅游板塊震蕩走高 西安飲食漲超7%、天目湖漲超5%
- 今日熱文:A股消費股異動拉升 人人樂漲停、西安飲食漲超7%
- 全球看熱訊:碧桂園服務2022年歸母凈利潤腰斬,股價跌超7%帶崩物業板塊
- 全球新資訊:和林微納:公司與歌爾微多維度合作,其中產品以MEMS精微零組件為主
- “19住總03”將于3月12日付息 計息年利率2.97%
- 一個月港元拆息連升2日 見3.06589%
- 微速訊:武漢城建集團9億元超短期融資券將于3月13日兌付 利率2.39%
- 全球播報:航天彩虹:公司建有民用業務運營團隊和部門,尚未設立相關子公司
- 全球關注:中國鐵建投資集團6億元公司債將于3月12日付息 利率3.45%
- 碩貝德:公司已基本完成低軌衛星通信天線的研發
- 長沙放松限售政策調整為“網簽滿4年即可出售”
- 上海錦江收購盧浮集團八年啟示錄
- 澳洲旅游局局長旋風訪華,急切盼望百萬中國游客
- 2023年成體旅融合加速年:海南吉林成體育旅游產業升級典范
- 世界快報:美聯:香港2月工商鋪注冊量錄268宗
- 寶灣物流5億元中票將于3月11日付息 票面利率為3.4%
- 統一企業中國出售合肥16.71萬平方米工業地皮 獲補償約5.83億元
- 天天簡訊:重慶江北區:房交會期間購房契稅50%補貼 以消費券形式發放
- 實時焦點:浙江自然:公司主要從事充氣床墊、戶外箱包、頭枕坐墊等戶外運動用品的研發、設計、生產和銷售
- 贊宇科技:公司OPO產品已試車完成,各項生產、衛生許可已經取得,目前處于客戶驗廠階段
- 【BT金融分析師】九毛九去年凈利潤暴跌86.2%,分析師稱其從未真正火起來
- 全球速讀:"22順豐泰森SCP005"將于3月14日本息兌付 發行金額5億元
- 天天快訊:通策醫療:關于公司回購方案計劃、進展及已回購資金,請以公司相關公告內容為準
- 【環球快播報】通化金馬:公司正在關注股東減持計劃實施的進展情況,并按照法律法規的規定及時履行信息披露義務
- 一加Ace 2V 首發主動增強式超級Wi-Fi 獨家黑科技降低弱網延遲
- 梅花檔案第二部
- 環球簡訊:儲能240TWh,可再生電力30TW!馬斯克“宏圖計劃3”里的宏偉帝國何時誕生?
- 每日快報!上海哪些板塊買房最顯示身份和檔次?
- 焦點!三大利好支持 軍工板塊能否起飛?高波動的基金如何駕馭?
- 補血食品有哪些?分別有什么益處?
- 近400億!比亞迪多個電池項目進展情況匯總
- 180使移動還是聯通或者電信?各大運營商號段歸納總結?
- 中國主要紅酒產地在哪?中國主要釀酒葡萄產地的分布介紹?
- 賽爾號是什么游戲?賽爾號超能系精靈獲得方法?
- 【熱聞】舞蹈女兒花是哪個民族的舞蹈?舞蹈女兒花有什么特色?
- 預告登記費怎么收費?預告登記費收費標準是什么?
- 熱頭條丨復地集團5億元公司債擬于3月9日起進行回售 回售債券將會進行轉售
- 當前視訊!深振業A:公司2022年年度報告預計將于4月公布,具體股東人數請關注公司定期報告相關內容
- 【全球獨家】黑道風云二十年人物原型是誰?黑道風云二十年人物原型資料介紹?
- 當前報道:3月6日匯市觀潮:歐元、英鎊和日元技術分析