`
文章列表
常犯错误总结(一) 一、Arrays.asList 与 java.util.ArrayList 1.常用代码: // 将数组转化为集合 int [] intArray = new int[]{1,2,3,4}; List<int[]> asList = Arrays.asList(intArray); 此时 Arrays.asList 转化过程中使用到了一个ArrayList 但此ArrayList 非 java.util.ArrayList 而是 Arrays 内部的一个静态类 2.java.util.Arrays.ArrayList(Arrays的私有内部静 ...
问题背景: 需要申请服务器root权限以便于维护部署在服务器上的storm项目; 邮件申请、审批、回复;告知root用户密码 服务器:租用阿里云的服务器; 通过  SecurityShell 连接跳转机,普通用户登录,OK 执行 su root 输入告知的密码,回车;incorret password 提示密码错误; 退出,重新登录依然失败 问题分析: 理解错误, su root 是由当前用普通用户切换到root超级用户,输入的密码为当前用户的密码 问题解决: sudo su -i 回车输入告知的密码,切换用户成功; 此时需要输入的密码是 root的密码 http://blog. ...
问题背景: 项目中某个功能发送队列,造成队列积压,系统功能预警 通过日志查询何处调用、何时调用,根据程序中的输出日志在生成环境的log中没有检索到 问题分析: 1.对比已有代码发现有两种日志输出方式,引用的JAR包不同 // 打印日志在测试环境可查看到 org.slf4j.Logger logger = LoggerFactory.getLogger(this.getClass()); // 打印日志在测试环境未能看到 org.apache.log4j.Logger logger = Logger.getLogger(this.getClass()); 2.Java项目中 ...
需求:按天统计数据 分析:create_time 为 datetime 类型,按天统计数据,则需要将 create_time 格式化为 yyyy-MM-dd 格式 处理: MySql按周,按月,按日分组统计数据 -- 先格式化时间,将时间格式为标准格式,再按照格式后的时间分组 SELECT DATE_FORMAT(C_CREATE_TIME,"%Y-%m-%d") FROM `p2p_td_user` ORDER BY C_CREATE_TIME DESC LIMIT 5 ; 参考博文: http://linkyou.blog.51cto.com/133 ...

LinkedList

LinkedList 一、总结 1.基于 jdk 1.8 源码分析 2. 二、类声明 /** * Linked list implementation of the <tt>List</tt> interface. Implements all * optional list operations, and permits all elements (including * <tt>null</tt>). In addition to implementing ...

Objects

Objects 一、总结 二、equals Object的equals方法容易抛空指针异常,应使用常量或确定有值的对象来调用equals public static boolean equals(Object obj, Object obj1) { return obj == obj1 || obj != null && obj.equals(obj1); } 1.调用equals方法时,通常将常量放在左侧,调用常量的equals方法,防止变量为空 2.使用上面的方法,常量作为第一个参数
RandomAccess 总结: 1.基于 JDK 1.8 源码分析 2.作用 起到判断的作用,即当前集合是否支持随机访问 顺序表(数组形式)还是单链表存储,以便使用更合适的遍历方式 RandomAccess(如ArrayList)还是Sequence List (如LinkedList) 源码: /* * @(#)RandomAccess.java 1.9 06/04/21 * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * SUN PROPRIETARY/CONFIDENTIAL. ...

ArrayList

ArrayList 一、总结 1.基于 JDK 1.8 源码分析 2.默认初始化长度 10 3.线程不安全,modCount ,对集合的实际操作次数与预期操作次数进行比较,若不同,快速失败,抛出异常;集合通过Iterator 遍历时使用 4.扩容,数组原长度*3/2 + 1 5.ArrayList 与 Array 转换 ArrayList.toArray Arrays.asList 使用集合转数组的方法,必须使用集合的toArray(T[] array),传入的是类型完全一样的数组,大小就是list.size() 二、类声明 public class ArrayList ...
基于AbstractDataSource实现主从数据库切换 项目背景: 1.DBA通知某一个SQL运行严重超时,告知将读取源头从主库改为从库,减轻主库压力 2.数据库配置上有两个数据源,主从两个配置; 主库:允许读写;从库:只允许读; 主从库数据同步 3.功能已存在,分析运行流程如下 项目流程: 一、使用自定义注释 @RequestMapping(value="/getBrandHisProjectsForM",method=RequestMethod.POST) @ResponseBody @DbReadonly pu ...

DateUtils

DateUtils import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Calendar; import java.util.Collections; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; ...
CollectionUtils /** * 集合常用工具 */ public class CollectionUtils { public static boolean isEmpty(Collection<?> c) { return c == null || c.isEmpty(); } }
问题描述: 单元测试一个已离职同事的接口,运行时提示 po 类中的某个属性字段的映射找不到 问题分析: 根据描述的异常信息,在类中找到了该属性,set get 均有,mapper.xml 中映射也存在 检查代码版本,历史版本生产环境运行正常,于是对比此次新增的代码 定位到了问题所在, po 类中 描述用户类型的字段,用的 isXXX po 类中 又定义了常量  IsXXX 与 属性字段仅仅首字母不同 所以,Mapper.xml 中的文件在做映射处理时,首先映射的是常量的定义的字段,而该字段又没有SET GET ,因而报错 问题总结: 1.常量不要写在PO类中,而要单独写在 c ...
问题场景: 启动 Tomcat 时报错,org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'XXXXX' is defined 问题解决: Server 窗口,选择 Tomcat ,右键 publish 或 clean 问题分析: 项目未部署完毕,重新部署
问题场景: 公司项目采用模块化的形式,即按照业务模块构建多个项目工程,每个业务分为 core 项目(Service 与 Dao 层),common 项目(常量类及对外提供的调用接口名称及调用方式)、api 项目(提供对外的调用接口,实现部分再调用 core ) common项目中的 client 类中,通过加载 diamond 服务器中配置的 url 即服务器的部署的HTTP地址进行访问 在项目开发过程中,为了便于调试,将此URL重新赋值为 localhost 本地开发时功能调试完毕,等待与前端同事进行接口联调时,调用接口相应特别慢,就重启了一下机器,再次启动服务,调用失败,断点跟踪不 ...
问题场景: 与同事共同开发一个项目,调用其开发的接口,未接收到返回值 问题分析: 将SQL复制添加指定的查询条件,SQL无误,问题定位到 MyBatis 语法上 问题解决: 1.select 字段部分使用*,导致 表中该字段与PO类之间无法映射 select * 改为  select 具体的字段 2.参数类型不正确  parameterType 参数 java.util.Map 或 map 直接 写Map 不识别 问题总结: 心态,不必为了一个小错误而批评别人,谁都是从那个阶段过来的,过去也会犯此类的错误 总结一下,虽然自己当前不会犯此类的错误
Global site tag (gtag.js) - Google Analytics