Double.NaN的错误用法

2014年2月19日 没有评论

看到一个大佬提供的计算两点间距离的方法,有一个比较生的用法

        double xxx = Double.NaN;
        if (xxx == Double.NaN) {
            xxx = 0;
        }
        System.out.print(xxx);

测试结果:输出是NaN
查了一个这个神奇的NaN,发现这个大佬用错了,Double.NaN只有一个特点,就是跟谁都不相等,包括它自己。
更多内容…

Java的两个容易忽略的空指针异常

2014年2月19日 没有评论

今天发现另一种没注意到的空指针异常,加上之前碰到的,简单总结一下。

本次的问题,直接上示例代码

public static void main(String[] args) {
        User u = null;
        System.out.println("用户编号:" + u == null ? "无" : u.getUserId());
    }

    public static class User {

        private int userId;

        public int getUserId() {
            return userId;
        }
    }

这个代码看起来好像没问题,实际上报空指针异常。
更多内容…

Tomcat的session问题处理及gc日志打开

2014年2月18日 没有评论

某些原因,web服务由resin改为tomcat,最大的一个问题就是tomcat在高并发下完全不胜任(估计会有人扔砖头过来)。
原因:tomcat的session关不掉,每次无cookie请求都会创建新会话,内存中会存储这些会话对象。

举例如下:
tomcat启动后

[root@xxxxx data]# jmap -histo:live 22809 | grep session
 613:             1            160  org.apache.catalina.session.StandardManager

用chrome的隐身模式访问几次后(每次都关掉chrome隐身窗口,然后重新打开,否则cookie会重用,会话也会重用。chrome的隐身只是一个孤岛,不是多个孤岛)

[root@xxxxx data]# jmap -histo:live 22809 | grep session
 350:            13           1144  org.apache.catalina.session.StandardSession
 554:            13            360  org.apache.catalina.session.ManagerBase$SessionTiming
 690:            13            208  org.apache.catalina.session.StandardSessionFacade
 794:             1            160  org.apache.catalina.session.StandardManager

13次访问,产生13组session对象,每组三个。
更多内容…

MySQL改密码的低级错误

2014年2月12日 没有评论

今天有童鞋找我问MySql用户无法连接的问题,怀疑是这位童鞋把密码弄错了,就再改了一次密码,结果一直报错。

mysql> SET PASSWORD FOR user_*=PASSWORD('*');
ERROR 1133 (42000): Can't find any matching row in the user table

这个用户肯定是有的

mysql> select host,user,password from mysql.user where user = 'user_*';
+-----------+--------+-------------------------------------------+
| host      | user   | password                                  |
+-----------+--------+-------------------------------------------+
| localhost | user_* | *XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX | 

更多内容…

分类: 工作 标签: , ,

让WordPress支持多域名多站点

2014年1月27日 没有评论

Workpress只支持子域名或者子目录方式的多站点,不支持多个不相干的域名,在网络管理员管理子站点时,是可以把域名改为不相干域名,只是这个子站点将一直登录失败。

我要说的,正是解决这个登录失败的问题。

更多内容…

分类: 生活 标签: , ,

【内训】说说域名解析

2014年1月26日 没有评论

内训2:说说域名解析

case: 想通过mcp这个名称直接访问10.4.21.184,比如:
ping mcp
ssh mcp
wget http://mcp:8186/

最简单的方法:绑host
在/etc/hosts文件最后加一行

10.4.21.184 mcp

如果多人共享,这种条目比较多,更新起来就会很不爽。有另外一种方式:
在resolv.conf中指定搜索域,用真正的域名来实现

search toft.tk

search后可以跟多个域名,之间用空格分开即可,解析时会域名的配置的顺序分别去解析。
比如:ping mcp
会自动去解析mcp.toft.tk

一个很自然的问题:如果hosts和resolv.con两个都配置了,会以谁的解析结果为准
更多内容…

分类: 工作 标签: , , ,