隨筆-2(實習)

1. Redis啟動多端口,運行多實例

redis默認啟動端口 6379            
指定多個端口 --port
啟動多端口
redis-server --port 6380
redis-server --port 6381

2. 查看redis實例

ps -ef | grep redis
    使用實例
redis-cli -p 6380   (-p:指定端口)
    關閉實例
redis-cli shutdown
    關閉指定端口實例
redis-cli -p 6380 shutdown

3. 任務列表:

redis數據遷移:寫一個redisCopyUtil工具類,實現shardedJedis集群數據庫遷移功能
優化gm后臺白名單功能
增加gm后臺黑名單功能
增加玩家ip登錄限制

  • 白名單優化
    點擊提交后彈窗提示成功添加白名單
    移除角色時提示確定移除或取消
    判斷輸入角色是否已存在并提示

  • 黑名單優化:

    • 黑名單列表:
      移除操作有bug
      角色重復√
    • 新增黑名單:
      強制角色下線功能未實現
      更新到游戲服務器有bug
      禁言天數輸入合法性判斷√
    • 天數
      0 -3 永久
    • 黑名單類型
      1禁言 2封號

注:

<c:forEach items="${ipList}" var="ipList">
    <td>${ipList}</td>
    <td><a href="javascript:void(0)" onclick="rem('')">移除</a></td>
</c:forEach>
forEach循環時一定注意不能忘記items="${ipList}" 中的${}........

bootstrap 下拉框無法顯示菜單問題:引入jquery庫和bootstrp順序問題

sitemesh:

  • 引入sitemesh
  • WEN-INF下:decorators.xml
  • web.xml中配置過濾器

linux密碼13位
協議sftp
端口22

linux tomcat:/usr/local/tomcat/bin目錄下:

  • 啟動:

./catalina.sh run(日志啟動方式)
./startup.sh(普通啟動方式)

  • 關閉

./shutdown.sh

  • 查看tomcat是否關閉:

ps -ef | grep tomcat

  • 結束tomcat進程:

kill -9 [PID]

linux mysql:/usr/local/mysql/bin/目錄下:

  • 啟動:

service mysql start

關閉:

service mysql stop

重啟:

service mysqld restart

linux下讓tomcat以service方式運行 參考博文

linux查看當前服務:

chkconfig --list

linux查看當前進程:

ps -ef | grep tomcat

linux進程后臺運行:

nohup ... &
如:nohup ping www.ibm.com &

項目發布時出現classnotfoundexception可能是maven項目包未導入編譯路徑 參考博文

    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    private static final Logger goallog = LoggerFactory.getLogger("logger name");
    private static final Logger logger = LoggerFactory.getLogger(SessionManager.class);
    
    <div class="input-group">
        <input type="text" class="form-control">
        <span class="input-group-btn">
            <button class="btn btn-default" type="button">Go!</button>
        </span>
    </div>

jquery正則表達式驗證時間

        function verifyTime(time){
        var reg = /^(20|21|22|23|[0-1]\d):[0-5]\d:[0-5]\d$/;
        var str = "#" + time;
        var str2 = $(str).val();
        var timeArr = str2.split(",");
        $.each(timeArr,function(i,value){
            if(!reg.test(value)){
                alert("時間格式不正確!");
                return false;
            }
        });
    }

eclipse快捷鍵:

  • Eclipse查看某個方法被哪些類調用:

ctrl+alt+h

  • 快速查找類

ctrl + shift + t

  • 查看類被調用:

右鍵-references-project

  • 格式化代碼

ctrl+shift+f

  • 在當前行下邊創建空白

shift+enter

  • 自動引入包和刪除無用包

ctrl+shift+o:

  • 前一個編輯的頁面

Alt+←

  • 快速顯示當前類的繼承結構

Ctrl+T

  • 全局查找關鍵字

ctrl + h

異常

Implicit super constructor FatherClass() is undefined. Must explicitly invoke another constructor

錯誤原因:
子類必須繼承父類的構造方法,如果父類構造方法中沒有參數傳遞,那么默認是不寫super()繼承父類的構造方法的。LinearLayout類的構造方法沒有無參數的構造方法,所以,你必須繼承父類有參數的構造方法,而有參數的構造方法子類必須繼承,所以,你必須寫super關鍵字來繼承父類的有參數的構造方法。

    /**
     * 生成12位或16位不重復的純數字字符串,前2位為awardLibId,后面十位或14位是隨機生成的數字字符串
     * 
     * @return
     */
    public static String getRandomString(String awardLibId) {
        String codeString;
        int i = 0;
        while (true) {
            //生成12位不重復的純數字字符串
//          String randomStr = RandomStringUtils .randomAlphanumeric(10);
            
            //生成16位不重復的純數字字符串
            String randomStr = RandomStringUtils .randomAlphanumeric(14);
            codeString = awardLibId + randomStr;
            if (!allCodeList.contains(codeString)) {
                break;
            }
            i++;
            if (i > 1000000) {
                break;
            }
        }
        return codeString;
    }

Linux rz/sz命令:

    rz:將本地上傳文件到服務器
    sz:發送文件到本地

導入sql文件數據:

    source /tmp/database.sql;

long型整數轉換為int時要注意溢出問題

確認刪除操作:

    onclick="return confirm('確認刪除?')"

直接訪問:(項目名+資源名)(非WEB-INF目錄下)
http://localhost:8080/bread/user.html

生成兌換碼:
    com.goal.war.core.tool.CreateAwardTicket
兌換:
    com.goal.war.gift.command.GiftBagCommandHandler
需求:
    道具信息表-簡體用 id=50005 對應 exchangeCodeInfo.xml itemId
更新exchangeCodeInfo.xml
ErrorCode.java變更對應languageInfo.xml配置表
xml itemLibInfo.xml itemInfo.xml    descriptionInfo.xml exchangeCodeInfo.xml    

xml配置文件:

Object[] requestParams = (Object[]) params.getData();
String roleName = String.valueOf(requestParams[0]);
String bindFriendInviteCode = String.valueOf(requestParams[1]);

異常:參考博文

eclipse使用debug模式啟動不起來:

原因:有些未清除的斷點可能導致需要加載某個服務時無法通過,從而導致JBoss無法啟動,從而debug模式啟動不起來

解決辦法:清除掉某些斷點或全部斷點
eclipse清除所有斷點:run-->remove all breakpoints

對象排序:

        Collections.sort(rankVOs, new Comparator<StarWarRankVO>() {
        @Override
        public int compare(StarWarRankVO o1, StarWarRankVO o2) {
//              return o1.getEloPoint().compareTo(o2.getEloPoint()); 
            Integer count1 = o1.getWarCount();
            Integer count2 = o2.getWarCount();
            return count1.compareTo(count2); 
        }
    });

Long轉為Integer:

先轉為String再轉為Integer:int aInt = Integer.valueOf(String.valueOf(aLong));

單例模式:

    /**
     * 懶漢式單例模式-線程安全
     * @author Administrator
     *
     */
    class SingletonLazy{
        
        private SingletonLazy(){
            
        }
        
        private static SingletonLazy instance = null;
        
    //  public static synchronized SingletonLazy getInstance(){
    //      if(instance == null){
    //          instance = new SingletonLazy();
    //      }
    //      return instance;
    //  }
        
        public static SingletonLazy getInstance(){
            if(instance == null){
                synchronized (SingletonLazy.class) {
                    instance = new SingletonLazy();
                }
                instance = new SingletonLazy();
            }
            return instance;
        }
        
    }

    /**
     * 餓漢式單例模式-天生就是線程安全的
     * @author Administrator
     *
     */
    class SingletonHungry{
        
        private SingletonHungry(){
            
        }
        
        private static final SingletonHungry instance = new SingletonHungry();
        
        public static SingletonHungry getInstance(){
            return instance;
        }
        
    }

U盤復制文件不能超過4G:

原因:U盤格式為FAT32,如果為NTFS則沒問題

解決辦法:先將U盤文件備份,然后格式化U盤,選擇NTFS格式,即可復制超過4G文件

.xml 和 .properties配置文件讀取方法//TODO

將所有的換行符替換為空格,如\r,\n等:

return str.replaceAll("[\r\n|\n|\r]", " ").trim();

響應數據:

params.getResponse().addParam(datas.toArray());

推送消息到客戶端:

void com.goal.war.core.net.message.MessageDispatcher.pushToClient(int responseCommandId, Object data, Long roleId)

客戶端參數:

RoleBean roleBean = params.getRoleBean();
String string = params.getData().toString();

匿名內部類:獲取符合條件的xml數據

IBeanFilter<ExchangeCodeXML> iBeanFilter = new IBeanFilter<ExchangeCodeXML>() {
        @Override
        public boolean accept(ExchangeCodeXML t) {
            if (t.getLibId().equals(libId)) {
                return true;
            }
            return false;
        }
    };

根據某個字段來查詢:

<ExchangeCodeXML> List<ExchangeCodeXML> com.goal.war.data.XMLDataCache.find(Class<ExchangeCodeXML> clazz, IBeanFilter<ExchangeCodeXML> beanFilter)

排序:

        Collections.sort(list, new Comparator<FundXML>() {
            @Override
            public int compare(FundXML o1, FundXML o2) {
                return o1.getId().compareTo(o2.getId());
            }
        });
//發放獎勵
    WARE.addToRole()
//扣除道具
    WARE.delFromRole()

Map<Integer, Integer> mapGet = StringUtil.fromJson(hasGet, new TypeToken<Map<Integer, Integer>>(){}.getType());

工具類:
    org.apache.commons.io.FileUtils
    public static String readFileToString(File file, Charset encoding)將文件內容讀取為字符串
    /**
     * 將所有的換行符替換為空格,如\r,\n等
     * 
     * @return 替換后的字符串
     */
    public static String removeNewLineChar(String str) {
        return str.replaceAll("[\\r\\n|\\n|\\r]", " ").trim();
    }
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,002評論 6 542
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,400評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,136評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,714評論 1 317
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,452評論 6 412
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,818評論 1 328
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,812評論 3 446
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,997評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,552評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,292評論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,510評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,035評論 5 363
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,721評論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,121評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,429評論 1 294
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,235評論 3 398
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,480評論 2 379

推薦閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,725評論 25 708
  • Spring Boot 參考指南 介紹 轉載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 46,922評論 6 342
  • 返回上次光標的位置Ctrl+Alt+ left/right 返回至上次瀏覽的位置 Alt+回車 導入包,自動修正C...
    請叫我四爺閱讀 1,964評論 1 2
  • 自己選擇的路、跪著也要把它走完。
    93650345d0d1閱讀 74評論 0 0
  • 呆在學校的最后一天,夜晚宿舍樓沒幾個房間是還亮著燈的。但白天,校園里的人其實不少。 在研究生辦公室值班,又坐了一天...
    六月的碎碎念閱讀 243評論 0 0