1. 整数相乘或者相加,如果超过最大整数值,会变成负数
2. 字符串比较可以使用:s1.compareTo(s2) ,如果s1大于s2返回值大于1,等于返回值等于0,小于返回值小于1
3. char值比较要加单引号:‘’
4. 多思考临界条件是否满足
5. TreeSet.descendingIterator() 反向遍历
6. 单元测试可以通过:while(i<20) {i++;}来做多次调用调试,注意 i++ 要放到代码开始处。避免异常导致,i++ 无法执行,出现死循环。 while(true)也有可能导致死循环
7. 单元测试:
@RunWith(SpringRunner.class)
@SpringBootTest(classes =WebEmbeddedApplication.class)
8. 在读取文件的时候,如果使用一些工具类,例如Guava 和Apache Commons IO:
这样会将整个文件读取到内存,如果文件特别大,可能会导致内存溢出。
但其他的读取文件的方式,例如:
会一行一行的读取文件,不会导致内存溢出。
9. 项目启动,无报错,但依旧不能访问。不要瞎猜,看日志。可能控制台没有错误日志,但日志文件里有错误日志。
10. 可以通过logback日志中的MDC 在日志中添加统一的请求编号,同一个线程请求中请求编号一致。方便确认整个调用流程,非常有用。
11. grep "请求编号" 文件名,查看所有该请求编号的内容。也可以用于搜索某个字符串在文件中出现的所有内容
12. 代码里的方法如果被调用,可能是直接调用,也可能是关联调用。关联关系可能在配置文件里,也可能在数据库里等