存档

2014年2月 的存档

初次用Python笔记

2014年2月27日 没有评论

没想到自己会有用Python写东东的时候,记一下这次碰到的几个简单的用法,备忘
基本规则:
别的语言中的{}代码块,用制表符(\t)也就是缩进取代
句末的结束符;可有可无

1、字符串拼串

a = "xx"
b = "xxx"
c = "xxxx"
xxx = ("aaa %s bbb %s ccc %s" % (a,b,c))

更多内容…

分类: 工作 标签: , ,

Zookeeper的Javaclient现空指针异常

2014年2月21日 2 条评论

一个困扰很久的问题,服务启动后,就抛这个异常,异常栈只有这么多

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)

使用的zkclient版本是3.4.5

		<dependency>
			<groupId>org.apache.zookeeper</groupId>
			<artifactId>zookeeper</artifactId>
			<version>3.4.5</version>
		</dependency>

当时没发现对业务有什么影响,就放着没管,今天找机会挖了一下。
更多内容…

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 | 

更多内容…

分类: 工作 标签: , ,