原创 windows上寫的腳本,結果到linux上運行報錯

原因: 出現這種錯誤的原因是因爲:CR/LF問題,在dos/window下按一次回車鍵實際上輸入的是“回車(CR)”和“換行(LF)”,而Linux/unix下按一次回車鍵只輸入“換行(LF)”,所以修改的sh文件在每行都會多了一個CR,

原创 高併發Java 二 多線程基

1. 什麼是線程 線程是進程內的執行單元 某個進程當中都有若干個線程。 線程是進程內的執行單元。 使用線程的原因是,進程的切換是非常重量級的操作,非常消耗資源。如果使用多進程,那麼併發數相對來說不會很高。而線程是更細小的調度單元,更加輕

原创 openstack neutron軟件架構

綜述 衆所周知,OpenStack 是目前開源界第二大的項目,參與的廠商之多可謂少見,實屬發展的分佈式系統軟件大作,面對這麼一個項目,我用自己在網絡方面的經驗與大家分享以 Neutron 爲例的 OpenStack 軟件設計。 N

原创 openstack neutron基本原理

分享正文 大家好,很高興今天能與大家分享一些Neutron的知識。今天分享的思路是:OpenStack網絡基礎、Neutron的軟件實現、Nova虛擬機啓動時的網絡處理以及OVS流表分析。 一、Openstack網絡基礎 下面對

原创 爲什麼重寫equals方法必須重寫hashcode

直接先運行一段代碼,看結果: public class Test { public static void main(String[] args) { Map<User, Integer> map = new HashMap<>

原创 maven POM.xml 標籤詳解

 pom作爲項目對象模型。通過xml表示maven項目,使用pom.xml來實現。主要描述了項目:包括配置文件;開發者需要遵循的規則,缺陷管理系統,組織和licenses,項目的url,項目的依賴性,以及其他所有的項目相關因素。

原创 tomcat真正熱部署,不重啓,簡單。

這裏講一下eclipse裏面用的項目實現tomcat的熱部署方式,改變java文件和jsp即時生效。 web項目部署到tomcat部分簡單,這裏講一下如何實現熱部署。主要是修改tomcat的部署方式,如下圖 這個Server Optio

原创 tomcat內存溢出解決

首先了解一下JVM內存管理的機制。 1)堆(Heap)和非堆(Non-heap)內存  按照官方的說法:“Java 虛擬機具有一個堆,堆是運行時數據區域,所有類實例和數組的內存均從此處分配。堆是在 Java 虛擬機啓動時創建

原创 Oracle 釋放(恢復)數據文件大小

今天在測試數據量佔用磁盤空間大小的時候遇到問題,當插入大量數據進入數據庫後,數據文件變大,但是刪除以後,數據文件大小不變,這裏有解決辦法。 經查閱資料之後發現這是 Oracle “高水位”所致,那麼怎麼把這些數據文件的大小降下來呢? 概

原创 centos7+pacemaker+corosync+haproxy實現高可用

1.架構準備   系統是centos7-1511,實驗需要準備4臺主機,虛擬機也行,架構如下: 2 .系統環境配置 ha1:192.168.0.11 ha2:192.168.0.12 以下的安裝配置分別在這2臺機器上進行。 1.關閉防火

原创 大型網站架構-lvs爲何不能完全替代DNS輪詢

部分同學持這樣的觀點: 1)nginx前端加入lvs和keepalived可以替代“DNS輪詢” 2)F5能搞定接入層高可用、擴展性、負載均衡,可以替代“DNS輪詢” “DNS輪詢”究竟是不是過時的技術,是不是可以被其他方案替代,接入層架

原创 logback 配置不同級別日誌輸出

logback節點配置詳解請參考:http://www.cnblogs.com/DeepLearing/p/5663178.html  配置不同級別日誌輸出模板如下: <?xml version="1.0" encoding="UTF-8

原创 高併發Java 三 Java內存模型和線程安全

網上很多資料在描述Java內存模型的時候,都會介紹有一個主存,然後每個工作線程有自己的工作內存。數據在主存中會有一份,在工作內存中也有一份。工作內存和主存之間會有各種原子操作去進行同步。 但是由於Java版本的不斷演變,內存模型也進行了

原创 數據庫併發事務問題(髒讀、不可重複讀、幻讀)

髒讀(讀取未提交的數據) A事務讀取B事務還未提交的數據,此時B事務因某些原因回滾,那麼A讀到的這個數據就是髒讀。 以轉賬爲例 1 開始事務   2 查詢餘額1000元   3 取款200元,餘額變爲800元   4   開始事務 5

原创 如何把jar包做成windows服務

第一種方法: 1, 準備工具 Hello.jar: 可運行的包。這裏我的是最簡單的say helloworld! Main函數所在類路徑:org.springframework.boot.loader.JarLauncher(這個是一般s