随笔-2(实习)

2017-09-02  本文已影响0人  wangzaiplus

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登录限制

注:

<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:

linux密码13位
协议sftp
端口22

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

./catalina.sh run(日志启动方式)
./startup.sh(普通启动方式)

./shutdown.sh

ps -ef | grep 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快捷键:

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();
    }
上一篇下一篇

猜你喜欢

热点阅读