java 踩坑经验

172 阅读2分钟

java 踩坑经验记录

  1. 获取各种字符的工具类,如果使用的是 mybatisplus框架,有个类StringPool,含有各种字符

  2. 在 Mysql 中查询 Oracle 中的 date 类型的数据时,返回的时间戳,只有年月日,没有时分秒。解决方案:使用 String 接收

  3. String 获取字符长度,需要先执行编码方式,转换成 byte,然后取长度

    int count = str.getBytes("UTF-8").length;
    
  4. 字符串定长补空方法

    String length = String.format("%6d", count).replace(" ", "0");
    

    参考链接:www.cnblogs.com/libin6505/p…

  5. 在事务方法中不能 catch 掉异常,否则事务不会回滚

  6. Oracle 查询data 数据,to_date 方法格式化,应使用 yyyy-mm-dd hh24:mi:ss

  7. Netty 中使用 protostuff 进行数据传递的时候,序列化和反序列化过程中,序列化的类中的属性如果是类的话,那么这个类的包名,客户端和服务器要一致,否则会反序列化解析失败

  8. Oracle 查询三十天前的数据

    select * from xxx_table where CONFIRM = '1' and  CREATETIME  <= sysdate-30
    
  9. new map的方法

    HashMap<String, Object> one = new HashMap<String, Object>() {{
                put("name", "王小明");
                put("sex", "男");
                put("age", 18);
            }};
    
  10. snmp底层使用 udp 协议传递数据,每次new snmp 的时候,会从一个端口范围内随机选择一个未被占用的端口进行信息传递,如果snmp 每次使用完不关闭的话,就是导致一直占用端口;于此同时,计算机的ping命令也会随机占用其中一个端口,如果此时没有端口,没无法使用ping命令

  11. UDP 是无连接的。即发送数据之前不需要建立连接。UDP 使用尽最大努力交付。UDP 是面向报文的。

  12. UDP协议的特点就是无连接、不可靠、面向数据报的,整个过程就像是一个寄信的过程,每次接收和发送数据均是整条进行发送

  13. UDP 是User DatagramProtocol的简称, 中文名是用户数据包协议,是 OSI 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务