<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-35  評論-33  文章-0  trackbacks-0
      2016年3月14日

          已經(jīng)一個多月沒有寫東西了,不過最近確實(shí)很忙。前兩天在線上碰到一個C3P0的鏈接死鎖的異常,話說這個上古神物 ,我已經(jīng)是很久不碰了。先貼異常



    異常截圖

    "apparent deadlocks":名詞解釋是說c3p0拿到鏈接之后,最終使用之后沒有返回到pool,導(dǎo)致死鏈檢測失敗。經(jīng)過在stack Overflow檢索,https://stackoverflow.com/questions/3730844/c3p0-apparent-deadlock-when-the-threads-are-all-empty.發(fā)現(xiàn)增加一個statementCacheNumDeferredCloseThreads該參數(shù)的定義,就可以避免這個問題。

    經(jīng)過查看官方文檔:http://www.mchange.com/projects/c3p0/#statementCacheNumDeferredCloseThreads



    解釋:如果把該值設(shè)為超過1,statement的緩存就會自動跟蹤當(dāng)前可用的connections,如果沒有再用,就會自動銷毀掉。如果需要另外的線程來專門銷毀緩存的statement,則還需要設(shè)置maxStatements與maxStatementsPerConnection。

    再貼一個官方的說明:

    Configuring Statement Pooling

    c3p0 implements transparent PreparedStatement pooling as defined by the JDBC spec. Under some circumstances, statement pooling can dramatically improve application performance. Under other circumstances, the overhead of statement pooling can slightly harm performance. Whether and how much statement pooling will help depends on how much parsing, planning, and optimizing of queries your databases does when the statements are prepared. Databases (and JDBC drivers) vary widely in this respect. It's a good idea to benchmark your application with and without statement pooling to see if and how much it helps.

    You configure statement pooling in c3p0 via the following configuration parameters:

    maxStatements

    maxStatementsPerConnection

    statementCacheNumDeferredCloseThreads

    maxStatementsis JDBC's standard parameter for controlling statement pooling.maxStatementsdefines the total numberPreparedStatementsa DataSource will cache. The pool will destroy the least-recently-used PreparedStatement when it hits this limit. This sounds simple, but it's actually a strange approach, because cached statements conceptually belong to individual Connections; they are not global resources. To figure out a size formaxStatementsthat does not "churn" cached statements, you need to consider the number offrequently usedPreparedStatements in your application,and multiply that by the number of Connections you expect in the pool (maxPoolSizein a busy application).

    maxStatementsPerConnectionis a non-standard configuration parameter that makes a bit more sense conceptually. It defines how many statements each pooled Connection is allowed to own. You can set this to a bit more than the number ofPreparedStatementsyour applicationfrequentlyuses, to avoid churning.

    If either of these parameters are greater than zero, statement pooling will be enabled. If both parameters are greater than zero, both limits will be enforced. If only one is greater than zero, statement pooling will be enabled, but only one limit will be enforced.

    大概意思就是這兩個,有一個值如果大于0,c3p0的statement pool就會發(fā)生作用。

    以上所有的配置都是基于c3p0的最新版本。PS一下,還是2015年的JAR。



    通過引入最新的C3P0包,另外增加了兩段配置,線上觀察兩天,問題解決。



    最后打個小廣告,JAVA世界最快的JDBC連接池,非HikariCP莫屬。已經(jīng)甩c3p0好幾個街角,有圖有真像。



    posted @ 2017-11-10 15:25 alexcai 閱讀(1800) | 評論 (0)編輯 收藏
         摘要: 在word的處理之中,文字,各種類型的圖片,最復(fù)雜的公式,之前編寫的API基本都覆蓋了。不過,昨天在做一個文檔測試時,發(fā)現(xiàn)表格沒有能很好的處理。  閱讀全文
    posted @ 2017-08-25 15:54 alexcai 閱讀(757) | 評論 (0)編輯 收藏
         摘要: HDFS和MapReduce是Hadoop的兩大核心,除此之外Hbase、Hive這兩個核心工具也隨著Hadoop發(fā)展變得越來越重要。今天我們只初步的看看HDFS.  閱讀全文
    posted @ 2017-07-24 10:35 alexcai 閱讀(663) | 評論 (0)編輯 收藏
         摘要: 使用thrift已經(jīng)有段時間了,目前基本是clien+server的方式,負(fù)載是通過nginx來處理。這種處理方式有兩個比較大的弊端:  閱讀全文
    posted @ 2017-06-29 16:39 alexcai 閱讀(882) | 評論 (0)編輯 收藏
        www.taggerin.com,主要處理日常文檔的在線編輯,以及與Markdown,PDF,html等格式的雙向轉(zhuǎn)換.聽說內(nèi)測版本已經(jīng)發(fā)布。真正的文檔在線編輯與預(yù)覽。?
    posted @ 2017-06-02 09:45 alexcai 閱讀(708) | 評論 (0)編輯 收藏
         摘要: 一般的業(yè)務(wù)開發(fā),不會涉及到多種數(shù)據(jù)庫類型的操作。因?yàn)椋瑹o論是對于開發(fā),還是運(yùn)維,成本都是非常高的。如果是ORACLE數(shù)據(jù)庫到MYSQL的數(shù)據(jù)備份,目前我所了解的開源解決方案有2種:  閱讀全文
    posted @ 2016-12-15 13:33 alexcai 閱讀(1240) | 評論 (0)編輯 收藏
         摘要: 作為日常支付業(yè)務(wù),微信的接入逐漸進(jìn)入了大家的視野。今天以PC端接入微信支付的基本流程來說明。  閱讀全文
    posted @ 2016-07-26 11:59 alexcai 閱讀(1443) | 評論 (2)編輯 收藏
         摘要: 在WORD里面編輯公式,目前是有兩種方法。  閱讀全文
    posted @ 2016-07-15 08:30 alexcai 閱讀(2197) | 評論 (1)編輯 收藏
         摘要: 最近在弄項(xiàng)目的壓測,首先想到把應(yīng)用服務(wù)器TOMCAT的相關(guān)配置升級,網(wǎng)上看了很多關(guān)于TOMCAT升級的案例,于是結(jié)合自己的實(shí)際情況,做了筆記。  閱讀全文
    posted @ 2016-07-08 09:50 alexcai 閱讀(1557) | 評論 (2)編輯 收藏
         摘要: 當(dāng)我們淡到RPC服務(wù)框架,放眼世界范圍,我目前知道的主流有thrift,fingle,grpc等。當(dāng)然大型互聯(lián)網(wǎng)公司都會有自己的RPC服務(wù)與治理框架。經(jīng)過一段時間的調(diào)研,本著簡單,高效的原則,最終選擇thrift.具體原因,等接下來寫到服務(wù)篇的時候再細(xì)說。  閱讀全文
    posted @ 2016-06-29 18:14 alexcai 閱讀(1528) | 評論 (2)編輯 收藏
         摘要: 目前公司業(yè)務(wù)上,有課程直播這一塊。為了增加用戶的互動,需要增加聊天室功能。聊天室,對實(shí)時性有較嚴(yán)格的要求,所以考慮使用socketio來做。目前在服務(wù)端,有基于netty實(shí)現(xiàn)的websocketio的框架。https://github.com/mrniko/netty-socketio,這個作者還是挺厲害的(redisson的作者)。  閱讀全文
    posted @ 2016-06-06 08:37 alexcai 閱讀(3041) | 評論 (2)編輯 收藏
         摘要: SOLR作為成熟的企業(yè)級檢索服務(wù),已經(jīng)有些年頭。我在5年前,也接觸部分皮毛。當(dāng)時跟另外一個同事,一起學(xué)習(xí)學(xué)運(yùn)用到我們的產(chǎn)品之中,當(dāng)時是面對的數(shù)據(jù)量是500-700百W,多表聯(lián)合處理。然后通過SOLR,引入索引,再走日常的查詢。大概也是在4年前,在入門MVN之后,通過MVN快速搭建了SOLR運(yùn)行環(huán)境,幾天前,又翻看了一下寫的POM,覺得很有必要與大家進(jìn)行一下REVIEW,溫故而知新!我也對比了當(dāng)前網(wǎng)上多如牛毛的SOLR搭建文章,總感覺我照著做,還是不會。當(dāng)然,當(dāng)時的POM,我是參照了國外一個大牛弄的,當(dāng)時的SOLR版本是4.4.0.目前SOLR的6版本都出來,不過,需要JDK8以上。鄙人一直在用JDK7,所以,不考慮一下跨那么大,怕扯到蛋了。哈哈,玩笑話。另外由于之前分詞,是用的jcseg,當(dāng)時的版本也比較舊(1.8.9),所以今天做了相關(guān)升級。我就分享一下相關(guān)的心得,多有不足,歡迎指正。

    環(huán)境說明:  閱讀全文
    posted @ 2016-05-20 18:38 alexcai 閱讀(217) | 評論 (0)編輯 收藏
         摘要: 本文不涉及太多配置項(xiàng)管理,只是針對小白用戶的最快安裝手冊  閱讀全文
    posted @ 2016-05-13 10:55 alexcai 閱讀(1611) | 評論 (2)編輯 收藏
         摘要: 在當(dāng)前的互聯(lián)網(wǎng)類產(chǎn)品中,如何高效可用的生成的一個全局自增ID,是一個比較有挑戰(zhàn)性的工作。我見過的一般的做法其實(shí)就是時間戳再加固定長度的隨機(jī) 字符串。這個方案其實(shí)有兩個問題,一個是生成的自增ID的可讀性,另外就是隨機(jī),并不是真正的唯一,它是一個碰撞概率的。其它方案,如依賴數(shù)據(jù)的自增 ID,如果多個庫,可以通過不同的步長來實(shí)現(xiàn)可讀的序列。不過,這其實(shí)性能上肯定不可能很高。另外,會有單點(diǎn)的問題。所以,果斷放棄。在查看了目前比較成 熟的snowfake方案之后,感覺不錯。下圖是它的算法核心  閱讀全文
    posted @ 2016-04-26 09:22 alexcai 閱讀(2143) | 評論 (0)編輯 收藏
         摘要: 最近在調(diào)研文件的分布式存儲及高可用,在GITHUB上面,發(fā)現(xiàn)了這個SeaweedFS項(xiàng)目不錯。  閱讀全文
    posted @ 2016-04-15 18:55 alexcai 閱讀(2969) | 評論 (4)編輯 收藏
         摘要: 今天在一個技術(shù)群里面,有同學(xué)提到了HyperLogLog(數(shù)據(jù)結(jié)構(gòu)),排序方面技術(shù)。所以今天看一下相關(guān)的資料,算作一個總結(jié)。  閱讀全文
    posted @ 2016-03-23 17:47 alexcai 閱讀(1089) | 評論 (0)編輯 收藏
         摘要: docx4j是一款在java世界處理微軟word/ppt/excel文檔的強(qiáng)大工具。它其實(shí)是一個半開源的產(chǎn)品。雖然它對WORD各種處理在API層 面進(jìn)行了封裝,但是像WORD本身的拆分,合并。其作者(Jason Harrop)是單獨(dú)提出來了,封裝成了商用的JAR包來提供支持。而我在深入學(xué)習(xí)其API之后,先后將組合,拆分技術(shù)進(jìn)行了實(shí)現(xiàn)。  閱讀全文
    posted @ 2016-03-14 16:10 alexcai 閱讀(5561) | 評論 (2)編輯 收藏
    主站蜘蛛池模板: 日韩毛片免费在线观看| 免费的黄网站男人的天堂 | 国产在线19禁免费观看国产 | 国产精品久久免费视频| 亚洲黄色网站视频| 三上悠亚在线观看免费| 国产在线19禁免费观看国产| 亚洲日本人成中文字幕| 91青青青国产在观免费影视| 国产亚洲日韩在线三区| 日本激情猛烈在线看免费观看 | 久久精品国产亚洲77777| 一级毛片在线播放免费| 免费看香港一级毛片| 亚洲噜噜噜噜噜影院在线播放 | 最近中文字幕2019高清免费| 国产成A人亚洲精V品无码性色| 一级中文字幕免费乱码专区| 四虎永久免费地址在线网站| 亚洲精品无码aⅴ中文字幕蜜桃| 国产免费不卡视频| 亚洲综合图片小说区热久久| 热re99久久6国产精品免费| 精品亚洲综合久久中文字幕| 成人特级毛片69免费观看| 免费国产在线观看| 日本亚洲中午字幕乱码 | 毛片无码免费无码播放| 久久久久亚洲AV成人网人人网站 | 你懂的免费在线观看网站| 亚洲精品国产美女久久久| 国产A∨免费精品视频| 最新精品亚洲成a人在线观看| 四虎成人精品国产永久免费无码| 免费又黄又爽的视频| 免费精品视频在线| 国产亚洲人成A在线V网站| 好男人资源在线WWW免费| 亚洲av一综合av一区| 久久久久高潮毛片免费全部播放 | 成人黄网站片免费视频 |