隨筆 - 12, 文章 - 0, 評論 - 5, 引用 - 0
          數據加載中……

          2012年7月21日

          esxi 中兩臺vesx vmkernel不能通信

          在一臺DELL R710上安裝了esxi5.0,并部署了兩臺esxi5.0的VM,名為vesxA,vesxB.

          并在兩臺vesx上分別創建了vmkernel,連接到同一vSwitch,完成后,發現兩臺vesx間不能用vmkernel通信。

           

          后請教有經驗的同事,說是虛中虛需要在vSwitch中開啟 混雜模式,經測試問題解決。

           

          但是為什么呢?

           

          請教高人得出答案:

           

          由于vSwitch中的MAC TABLE記錄只能從虛擬機的.vmx文件中讀取。而.vmx中記錄的MAC是虛擬機的網卡的MAC,當我們新建了一個vmkernel port后,生成的MAC并沒有寫入.vmx。所以當vSwitch 收到關于vmkernel port后,發現沒有相關MAC記錄,就會把包丟棄。

          有人會問,交換機不是有Flooding功能么?

          估計是由于vSwitch節省資源開銷的原因,沒有使用這個功能,所以這個時候就需要打開混雜模式,將vSwitch變成vHUB.

          posted @ 2012-07-26 22:36 拼搏 閱讀(2019) | 評論 (1)編輯 收藏

          Suse Linux開啟FTP服務

          一、配置/etc/vsftpd.conf文件

           

          1、vi /etc/vsftpd.conf

           

          2、修改如下配置項

           

           anonymous_enable=YES  改成 anonymous_enable=NO   // 不啟用匿名訪問

           

           #local_enable=YES           改成 local_enable=YES             // 開啟本地用戶登錄服務

           

           #write_enable=YES          改成 write_enable=YES            // 開啟任何用戶的寫權限

           

          二、配置/etc/ftpusers文件

           

          1、vi  /etc/ftpusers

           

          2、該文件中列出的用戶是禁止使用FTP登錄的,如果要使這些用戶通過FTP登錄,在用戶前面加上#

           

          三、重啟FTP服務

           
          service vsftpd restart

          posted @ 2012-07-26 22:35 拼搏 閱讀(9493) | 評論 (0)編輯 收藏

          Myeclipse啟動不了的解決方法

             我們在開發過程中經常在加載大工程時由于項目很大,導致編譯時間很長。或是其他原因導致進度條有時候一直在不停地跑,占用了大量內存,在無奈之下直接將進程kill掉,當再次打開,這時候悲劇的事情發生了 。 
              發現MyEclipse啟動不了了,進程的內存大小永遠都是恒定值。陷入了一個糾結中。 

          這里就說一下在工作經常遇到這樣的問題是怎樣解決的: 

          環境說明 
          IDE版本: Myecplise6.0(其他版本方法相同) 
          安裝路徑:D:\dev_IDE\myeclipse 
          工作空間:D:\dev_IDE\myeclipse\workspace 

          方法一:修改工作空間 
              在剛啟動Myeclipse的時候會有一個選擇工作空間的地方。換一個新的工作空間即可,若是原來將默認工作空間勾中了,沒有出來,就去你的MyEclipse安裝路徑中(如:D:\dev_IDE\myeclipse\eclipse\configuration\.settings),里面有個org.eclipse.ui.ide.prefs文件,將里面的SHOW_WORKSPACE_SELECTION_DIALOG修改為true即可。 
              這樣做有個壞處,就是需要你重新import你的工程,需要重新編譯,需要你養成經常備份的習慣。 

          方法二:刪除錯誤編譯信息 
              這個方法最近才發現,當你由于在編譯工程期間將進程kill掉以后,就會有編譯加載“內容”出錯,導致在啟動的時候無法解析這個“內容”,所以要將該內容清除。如,當你的工程名為“TestProject”,在安裝文件夾中(D:\dev_IDE\myeclipse\workspace\.metadata\.plugins\org.eclipse.core.resources\.projects\TestProject),有兩個文件.markers和.markers.snap,將這兩個文件刪除。重啟Myeclipse,OK了。  

          posted @ 2012-07-26 22:34 拼搏 閱讀(30015) | 評論 (3)編輯 收藏

          三十而立的人生準則,會有更新

          第一條: 
              學習是和我的社會地位、收入等掛鉤,學習是一種最好的投資。 
          第二條: 
              時間管理不是讓我在有限的時間里面做更多的事,而是讓我在把時間都放在有投資時間里面,去掉不必要做的事,做有投資價值的事(就是很重要但不緊急的事)。比如:鍛煉身體,每天鍛煉一小時,健康快樂生活一輩子,幸福一輩人。 
          第三條: 
              這個世界上不是什么事情都是非黑既白,有很多灰色地帶的,為生存有時還會踩界。 
          第四條: 
              in:out=1:1 

          posted @ 2012-07-21 22:24 拼搏 閱讀(1246) | 評論 (0)編輯 收藏

          與JDK奮斗的一上午

          話說本人也是手欠啊,操作系統是Win7的前幾天無法識別自己的移動硬盤,于是我就還原系統了,JDK安裝在D盤。當時還原完就直接將以前安裝在D盤的程序文件夾全部刪除了。 
          然后就是各位熟知的悲劇了,無論怎么重新安裝都不行了,我也把注冊表里面幾乎所有的方法都嘗試過了,都不行。查看了網上。總結來看有以下幾種“偏方”: 
          1、刪除注冊表里面所有和Java相關的表項 ---------事實上我試過了,但是很不幸,我把有Java的都刪了大半,但是我這里沒用 

          2、關閉windows的windows installer功能打開命令行 ,輸入msiexec /unregserver 
          重新下載一個 windows installer,重新安裝一遍然后再啟用就好了                 再輸入msiexec /regserver 

          3、什么360啊,完美卸載啊都無法刪除。 

          4、這就是大救星啊...去下一個window  installer  clean up ,打開軟件,然后把里面關于JDK的項刪除。 

          終于可以重新安裝JDK了。  

          posted @ 2012-07-21 22:24 拼搏 閱讀(1206) | 評論 (0)編輯 收藏

          設計模式--狀態模式(State)

          前幾天由于忙工作上的事情,每天加班到10點左右才回家,回到家就沒有再開電腦更新東西,今天早了一些回家,開始繼續更新東西,今天要寫的是狀態模式,哦,對于一個沒有狀態的人來說,寫狀態模式,不知道會寫成什么樣子,反正是一起討論用嘛,能把我所知道的清楚表達出來已經很心滿意足啦。在理解狀態模式的時候,我總覺得它和策略模式很像很像,有人說它們是孿生兄弟,那我們現在看看狀態模式到底是一個什么樣的東西。

          狀態模式是對象的一個行為模式,它允許一個對象在其內部狀態改變的時候改變其行為,這個對象看上去就像改了了它的類一樣。

          下圖是關于紅綠燈轉換的一個實現類圖,具體的轉換是這樣子的,在初始的情況下,設定一個燈的狀態,比如是綠燈,那么燈的下一個狀態則是黃燈,緊接著是紅燈,然后再是綠燈,依次循環;通過改變燈的狀態,改變其行為。

          下面是這個類圖的實現代碼:

          package com.plabmedia.state;

          public interface LightState {

          /**
          * 打印當前的狀態
          */
          public void print(Light light);

          }

          package com.plabmedia.state;

          public class RedLight implements LightState{

          @Override
          public void print(Light light) {
          System.out.println("current state is red");
          light.setState(new GreenLight());
          }

          }

          package com.plabmedia.state;

          public class YellowLight implements LightState{

          @Override
          public void print(Light light) {
          System.out.println("current state is yellow");
          light.setState(new RedLight());
          }

          }

          package com.plabmedia.state;

          public class GreenLight implements LightState {

          @Override
          public void print(Light light) {
          System.out.println("current state is green");
          light.setState(new YellowLight());
          }

          }

          package com.plabmedia.state;

          public class Light {

          private LightState state;

          public LightState getState() {
          return state;
          }

          public void setState(LightState state) {
          this.state = state;
          }

          public void print(){
          state.print(this);
          }

          public Light(LightState state){
          this.state = state;
          }

          }

          package com.plabmedia.state;

          public class Client {

          public static void main(String args[]){
          Light light = new Light(new GreenLight());
          light.print();
          light.print();
          light.print();
          light.print();
          light.print();
          light.print();
          }

          }

          運行結果:

          current state is green
          current state is yellow
          current state is red
          current state is green
          current state is yellow
          current state is red

          上面是對狀態模式一個小小的實現,這個實現也僅僅是認識級的,在我們實際應用中,如果用到狀態模式,應該比這個要負責的多,只是基本的結構是相似的。那我們下面針對狀態模式做一些討論。

          1.在什么情況下使用狀態模式:

          • 一個對象的行為依賴于它所處的狀態,對象的行為必須隨著其狀態的改變而改變;
          • 需要多多重條件轉移語句進行演化的時候,可以把每個分支封裝成一個狀態類;現在寫代碼的時候,我是不太喜歡用條件轉移語句,特別是最好的那個else語句,我覺得它承擔的東西太多了,前面不滿足的情況它都要來處理,憑什么啊。
          2.狀態模式要注意的地方:
          • 誰來定義狀態的變化:客戶端還是狀態內部決定?這要看當時應用的環境,如果狀態的變化是固定的,我覺得可以再客戶端進行設定;如果狀態的變化依賴于前一個狀態,比如在工作流系統中,當前狀態是依賴于前一個狀態的,這需要狀態內部來覺得。
          • 狀態對象創建時機:需要的時候創建?還是事先創建好所有的對象,供需要的時候調用?這要分系統需要來決定,如果一個系統,狀態變化的順序固定,不那么頻繁,則可以在需要的時候創建所需要的對象;否則,對于頻繁變化的狀態,從性能上將,還是首先創建好各個狀態對象,供需要時調用。
          • 可以把環境類傳到具體的狀態類中,狀態類在需要的時候調用環境類,比如示例中的樣子,其實在每個狀態類里面,也可以直接調用環境類的print方法,這樣看來,Client只需要初始化環境類,然后就可以看到它的狀態在不停地變化。
          3.狀態模式與策略模式的區別:
          我粗俗的說一些,從我的理解的基礎上,二者之間的區別在于狀態模式在集體作戰,而策略模式是單兵作戰,怎么說呢?狀態模式因為其內部狀態的改變會有不同的行為出現,而對于策略模式,只要客戶端選中了一種策略,在整個生命周期內,都是這種策略。所以,在區分使用狀態模式和策略模式的時候,主要是看系統有沒有狀態的變化,如果系統在整個生命周期內,只有一種狀態,那很好,選擇策略模式;如果系統在整個過程中,狀態多樣性,那需要選擇狀態模式。
          先寫這么多吧,好沒有狀態啊,希望大家都抽出時間一起討論,說說自己對狀態模式的看法。

          posted @ 2012-07-21 22:23 拼搏 閱讀(1037) | 評論 (0)編輯 收藏

          主站蜘蛛池模板: 永德县| 潍坊市| 长乐市| 安龙县| 芦溪县| 新龙县| 镇江市| 开封县| 施秉县| 大姚县| 灵台县| 南开区| 绥化市| 汪清县| 星子县| 汨罗市| 莆田市| 阳高县| 阳城县| 大城县| 石河子市| 锡林浩特市| 大名县| 仪陇县| 古田县| 油尖旺区| 林周县| 巴林右旗| 米脂县| 清流县| 隆安县| 崇仁县| 临桂县| 墨玉县| 五常市| 新郑市| 商水县| 太谷县| 车致| 长沙市| 孝昌县|