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

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

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

    隨筆-35  評(píng)論-33  文章-0  trackbacks-0
      2015年12月18日

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



    異常截圖

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

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



    解釋?zhuān)喝绻言撝翟O(shè)為超過(guò)1,statement的緩存就會(huì)自動(dòng)跟蹤當(dāng)前可用的connections,如果沒(méi)有再用,就會(huì)自動(dòng)銷(xiāo)毀掉。如果需要另外的線程來(lái)專(zhuān)門(mén)銷(xiāo)毀緩存的statement,則還需要設(shè)置maxStatements與maxStatementsPerConnection。

    再貼一個(gè)官方的說(shuō)明:

    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.

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

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



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



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



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

    環(huán)境說(shuō)明:  閱讀全文
    posted @ 2016-05-20 18:38 alexcai 閱讀(217) | 評(píng)論 (0)編輯 收藏
         摘要: 本文不涉及太多配置項(xiàng)管理,只是針對(duì)小白用戶的最快安裝手冊(cè)  閱讀全文
    posted @ 2016-05-13 10:55 alexcai 閱讀(1611) | 評(píng)論 (2)編輯 收藏
         摘要: 在當(dāng)前的互聯(lián)網(wǎng)類(lèi)產(chǎn)品中,如何高效可用的生成的一個(gè)全局自增ID,是一個(gè)比較有挑戰(zhàn)性的工作。我見(jiàn)過(guò)的一般的做法其實(shí)就是時(shí)間戳再加固定長(zhǎng)度的隨機(jī) 字符串。這個(gè)方案其實(shí)有兩個(gè)問(wèn)題,一個(gè)是生成的自增ID的可讀性,另外就是隨機(jī),并不是真正的唯一,它是一個(gè)碰撞概率的。其它方案,如依賴數(shù)據(jù)的自增 ID,如果多個(gè)庫(kù),可以通過(guò)不同的步長(zhǎng)來(lái)實(shí)現(xiàn)可讀的序列。不過(guò),這其實(shí)性能上肯定不可能很高。另外,會(huì)有單點(diǎn)的問(wèn)題。所以,果斷放棄。在查看了目前比較成 熟的snowfake方案之后,感覺(jué)不錯(cuò)。下圖是它的算法核心  閱讀全文
    posted @ 2016-04-26 09:22 alexcai 閱讀(2143) | 評(píng)論 (0)編輯 收藏
         摘要: 最近在調(diào)研文件的分布式存儲(chǔ)及高可用,在GITHUB上面,發(fā)現(xiàn)了這個(gè)SeaweedFS項(xiàng)目不錯(cuò)。  閱讀全文
    posted @ 2016-04-15 18:55 alexcai 閱讀(2969) | 評(píng)論 (4)編輯 收藏
         摘要: 今天在一個(gè)技術(shù)群里面,有同學(xué)提到了HyperLogLog(數(shù)據(jù)結(jié)構(gòu)),排序方面技術(shù)。所以今天看一下相關(guān)的資料,算作一個(gè)總結(jié)。  閱讀全文
    posted @ 2016-03-23 17:47 alexcai 閱讀(1089) | 評(píng)論 (0)編輯 收藏
         摘要: docx4j是一款在java世界處理微軟word/ppt/excel文檔的強(qiáng)大工具。它其實(shí)是一個(gè)半開(kāi)源的產(chǎn)品。雖然它對(duì)WORD各種處理在API層 面進(jìn)行了封裝,但是像WORD本身的拆分,合并。其作者(Jason Harrop)是單獨(dú)提出來(lái)了,封裝成了商用的JAR包來(lái)提供支持。而我在深入學(xué)習(xí)其API之后,先后將組合,拆分技術(shù)進(jìn)行了實(shí)現(xiàn)。  閱讀全文
    posted @ 2016-03-14 16:10 alexcai 閱讀(5561) | 評(píng)論 (2)編輯 收藏
         摘要: spring mvc中,變量有一個(gè)作用域的概念,你可以很方便使用注解,就能實(shí)現(xiàn)變量的的設(shè)置,在各自的作用域內(nèi)優(yōu)雅的使用該變量。  閱讀全文
    posted @ 2016-03-10 20:02 alexcai 閱讀(2966) | 評(píng)論 (1)編輯 收藏
         摘要: jenkins,作為開(kāi)源世界的持續(xù)集成工具(CI),表現(xiàn)其實(shí)不錯(cuò)了。雖然不能與Atlassian的bamboo相比,別人是商業(yè)版本。

    我使用的是它的WAR包版本,可以從jenkins 官網(wǎng)下載。個(gè)人建議在tomcat7.0.32版本以上運(yùn)行。  閱讀全文
    posted @ 2016-03-08 18:20 alexcai 閱讀(2402) | 評(píng)論 (0)編輯 收藏
         摘要: quartz,java世界里面的任務(wù)管理容器。

    至于為什么會(huì)有misfire這個(gè)概念,我想可以重這三個(gè)方面來(lái)進(jìn)行說(shuō)明:

    1 所有的線程都在忙于更高優(yōu)先級(jí)的任務(wù)

    2 任務(wù)本身CRASH了

    3 代碼的BUG,導(dǎo)置錯(cuò)誤的設(shè)置了JOB  閱讀全文
    posted @ 2016-03-03 15:58 alexcai 閱讀(4969) | 評(píng)論 (0)編輯 收藏
         摘要: 為什么需要一致性hash算法?

    在緩存應(yīng)用層面,如何保證數(shù)據(jù)訪問(wèn)的平橫性,單調(diào)性?

    平橫性:主要是數(shù)據(jù)的平均分布,及當(dāng)集群中某一個(gè)緩存服務(wù)失效,數(shù)據(jù)也能夠正常分布

    單調(diào)性:當(dāng)數(shù)據(jù)插入某個(gè)緩存之后,再次調(diào)用,同樣會(huì)落到對(duì)應(yīng)的緩存上面。  閱讀全文
    posted @ 2016-03-02 18:36 alexcai 閱讀(3020) | 評(píng)論 (1)編輯 收藏
         摘要: spring mvc作為展示層的組件,從參數(shù)預(yù)處理,驗(yàn)證,攔截,渲染。無(wú)不考慮的細(xì)致入微,你所要的做的,只是接口實(shí)現(xiàn),切面接入,簡(jiǎn)單配置。

    今天我們以分頁(yè)功能展開(kāi)來(lái)說(shuō)明,如何把我們復(fù)雜的參數(shù)處理從控制器進(jìn)行剝離!  閱讀全文
    posted @ 2016-02-24 10:49 alexcai 閱讀(2925) | 評(píng)論 (1)編輯 收藏
         摘要: 最近一直在看倪超的那本《從paxos到Zookeeper分布式一致性原理與實(shí)踐》,整本書(shū)干貨滿滿。個(gè)人感覺(jué)在章節(jié)順序編排上有些小問(wèn)題,不過(guò),不影響它作為介紹這款中間件產(chǎn)品特性及原理而全面闡述的開(kāi)山之作。總之,內(nèi)容很多,我也只是了解了皮毛。接下來(lái)寫(xiě)的種種,算是我喝了這碗雞湯,消化來(lái)剩下的。  閱讀全文
    posted @ 2016-02-01 17:57 alexcai 閱讀(4897) | 評(píng)論 (0)編輯 收藏
         摘要: mybatis目前一直作為我主要使用的ORM框架,當(dāng)然,它的簡(jiǎn)單,SQL可控,高效才是我選擇它的最終原因。前段時(shí)間學(xué)習(xí)了他的實(shí)體,ORM的XML文件自動(dòng)生成,感覺(jué)也是比較簡(jiǎn)單。  閱讀全文
    posted @ 2016-01-30 13:45 alexcai 閱讀(3328) | 評(píng)論 (0)編輯 收藏
         摘要: VisualVm與eclipse集成  閱讀全文
    posted @ 2016-01-20 10:48 alexcai 閱讀(3690) | 評(píng)論 (0)編輯 收藏
    Thymeleaf 是一個(gè)純JAVA實(shí)現(xiàn)的,能處理XML/XHTML/HTML5 等模板文件解析的工具。他能處理一切基于XML文檔格式的文件。特別是在WEB展現(xiàn)層面,可以很流暢的進(jìn)行頁(yè)面數(shù)據(jù)的渲染與顯示。通過(guò)其DOM解析技術(shù),把模板樣式讀入內(nèi)存(當(dāng)啟用緩存模式),當(dāng)頁(yè)面需要展現(xiàn)時(shí),讀取內(nèi)存中的樣式,通過(guò)與后端數(shù)據(jù)的封裝填充,最終顯示給用戶。這樣在大量用戶訪問(wèn)的時(shí)候,可以降低頁(yè)面渲染產(chǎn)生的IO,提高用戶體驗(yàn)。另外,對(duì)于開(kāi)發(fā)者,他的學(xué)習(xí)成本也不高。內(nèi)置是基于ONGL語(yǔ)法來(lái)支持頁(yè)面的語(yǔ)法,比如在SPRING下面,我們是這樣寫(xiě)的:
    <form:inputText name="userName" value="${user.name}" />
    在Thymeleaf下面,就是這樣的:
    <input type="text" name="userName" value="James Carrot" th:value="${user.name}" />
    學(xué)習(xí)成本基本為零。他的牛B在于與HTML的靜態(tài)頁(yè)面一起存在時(shí),毫無(wú)諱和感。這種叫作自然語(yǔ)言模板。很多所謂的模板語(yǔ)言,都是去定義一大堆小白用戶根本看不懂的標(biāo)簽,語(yǔ)法,讓人望而生畏。而他只是HTML原生語(yǔ)義添加了屬性,就算用戶直接訪問(wèn),沒(méi)有后臺(tái)服務(wù)的啟動(dòng),也是完全不影響期頁(yè)面效果顯示的。
           今天就到這里,明天來(lái)干貨。他是如何處理文本
    的? 
    posted @ 2015-12-30 12:35 alexcai 閱讀(3564) | 評(píng)論 (4)編輯 收藏
         摘要: beanshell是一個(gè)輕量級(jí)的腳本語(yǔ)言,具有動(dòng)態(tài)性,完全支持JAVA語(yǔ)法。原理就是通過(guò)JAVA的反射獲得JAVA語(yǔ)句和表達(dá)式的實(shí)時(shí)執(zhí)行能力。  閱讀全文
    posted @ 2015-12-18 10:15 alexcai 閱讀(3748) | 評(píng)論 (1)編輯 收藏
    主站蜘蛛池模板: 美女视频黄a视频全免费网站色窝 美女被cao网站免费看在线看 | 久久精品九九亚洲精品天堂| 国产精品无码免费视频二三区| 一个人免费高清在线观看| 84pao强力永久免费高清| 99re在线视频免费观看| 一级毛片免费不卡在线| 最近中文字幕mv免费高清在线 | 亚洲日日做天天做日日谢| 亚洲色图激情文学| 亚洲成在人线aⅴ免费毛片| 亚洲av色香蕉一区二区三区| 国产成人亚洲综合在线| 一级毛片免费毛片毛片| 国产成人1024精品免费| 三年片免费高清版 | 国产成人精品男人免费| 日韩亚洲国产综合久久久| 亚洲天堂在线视频| 亚洲综合成人婷婷五月网址| 亚洲kkk4444在线观看| 亚洲av无码一区二区三区在线播放| 国产午夜亚洲精品不卡电影| 一区二区三区AV高清免费波多| 在线观看片免费人成视频无码| 美女内射无套日韩免费播放| 香蕉97超级碰碰碰免费公| 免费观看的毛片手机视频| 伊在人亚洲香蕉精品区麻豆| 中文字幕亚洲综合久久菠萝蜜| 亚洲国产综合专区电影在线| 亚洲伦理一二三四| 国产成人精品久久亚洲高清不卡| 有码人妻在线免费看片| 国产一级片免费看| 久草在视频免费福利| 免费大片在线观看网站| 亚洲成A∨人片在线观看不卡| 亚洲国产综合自在线另类| 噜噜综合亚洲AV中文无码| 久久久久久久久久免免费精品 |