一个困扰很久的问题,服务启动后,就抛这个异常,异常栈只有这么多
[code]
2014-02-20-01:15:29,002 ERROR - Error while calling watcher
java.lang.NullPointerException
at org.apache.zookeeper.ClientCnxn$EventThread.processEvent(ClientCnxn.java:519)
at org.apache.zookeeper.ClientCnxn$EventThread.run(ClientCnxn.java:495)
[/code]
使用的zkclient版本是3.4.5
[code]
<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
<version>3.4.5</version>
</dependency>
[/code]
当时没发现对业务有什么影响,就放着没管,今天找机会挖了一下。

- 阅读剩余部分 -

看到一个大佬提供的计算两点间距离的方法,有一个比较生的用法
[code]
double xxx = Double.NaN;
if (xxx == Double.NaN) {
xxx = 0;
}
System.out.print(xxx);
[/code]
测试结果:输出是NaN
查了一个这个神奇的NaN,发现这个大佬用错了,Double.NaN只有一个特点,就是跟谁都不相等,包括它自己。

- 阅读剩余部分 -

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

本次的问题,直接上示例代码
[code]
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;
}
}
[/code]
这个代码看起来好像没问题,实际上报空指针异常。

- 阅读剩余部分 -

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

举例如下:
tomcat启动后
[code]
[[email protected] data]# jmap -histo:live 22809 | grep session
613: 1 160 org.apache.catalina.session.StandardManager
[/code]

用chrome的隐身模式访问几次后(每次都关掉chrome隐身窗口,然后重新打开,否则cookie会重用,会话也会重用。chrome的隐身只是一个孤岛,不是多个孤岛)
[code]
[[email protected] 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
[/code]

13次访问,产生13组session对象,每组三个。

- 阅读剩余部分 -

今天有童鞋找我问MySql用户无法连接的问题,怀疑是这位童鞋把密码弄错了,就再改了一次密码,结果一直报错。
[code]
mysql> SET PASSWORD FOR user_*=PASSWORD('*');
ERROR 1133 (42000): Can't find any matching row in the user table
[/code]
这个用户肯定是有的
[code]
mysql> select host,user,password from mysql.user where user = 'user_*';
+-----------+--------+-------------------------------------------+
| host | user | password |
+-----------+--------+-------------------------------------------+
| localhost | user_* | *XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX |
[/code]

- 阅读剩余部分 -

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

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

- 阅读剩余部分 -