是时候抛弃一些旧方法,使用新版jdk提供的方法
2017-04-17 12:10
260 查看
(1) object.equals("test");
object容易报空指针异常,推荐使用 "test".equals(object);
JDK7 引入了 java.util.Objects#equals ,Objects.equals(o1,o2)已经处理了空指针。
(2) 遍历Map时候有三种方式:
1>keySet 其实keySet遍历了两次,一次是转为iterator对象,第二次是从hashMap取出相应的key对应的value
2>entrySet 遍历一次把key-value都放入了entry中
3>JDK8提供的Map.foreach方法。推荐使用
(3) 创建线程资源必须通过线程池来提供,不允许自行显式创建线程
(4) SimpleDateFormat是线程非安全类,不要定义为static。可以使用DateUtils工具类,也可使用以下方式:
JDK8中提供了更好的方式:Instant代替Date,LocalDateTime代替Calendar,DateTimeFormatter代替SImpleDateFormatter。
object容易报空指针异常,推荐使用 "test".equals(object);
JDK7 引入了 java.util.Objects#equals ,Objects.equals(o1,o2)已经处理了空指针。
(2) 遍历Map时候有三种方式:
1>keySet 其实keySet遍历了两次,一次是转为iterator对象,第二次是从hashMap取出相应的key对应的value
2>entrySet 遍历一次把key-value都放入了entry中
3>JDK8提供的Map.foreach方法。推荐使用
(3) 创建线程资源必须通过线程池来提供,不允许自行显式创建线程
(4) SimpleDateFormat是线程非安全类,不要定义为static。可以使用DateUtils工具类,也可使用以下方式:
private static final ThreadLocal<DateFormat> df = new ThreadLocal<DateFormat>() { @Override protected DateFormat initialValue() { return new SimpleDateFormat("yyyy-MM-dd"); } };
JDK8中提供了更好的方式:Instant代替Date,LocalDateTime代替Calendar,DateTimeFormatter代替SImpleDateFormatter。
private void timeDD() { Instant now = Instant.now(); LocalDateTime localDateTime=LocalDateTime.now(); DateTimeFormatter dateTimeFormatter= DateTimeFormatter.ofPattern("yyyy-MM-dd"); String nowFormat=dateTimeFormatter.format(now); }(5) Random被多线程使用。会因竞争同一个seed导致性能下降
private void randomDD(){ /*java.util.Random实例*/ Double randomDouble1=new java.util.Random().nextDouble(); /*Math.random实例*/ Double randomDouble2=Math.random(); /*JDK7之后可以直接使用 API ThreadLocalRandom ,推荐使用*/ Double randomDouble3= ThreadLocalRandom.current().nextDouble(); }
相关文章推荐
- 1 开发一个注重性能的JDBC应用程序不是一件容易的事. 当你的代码运行很慢的时候JDBC驱动程序并不会抛出异常告诉你。 本系列的性能提示将为改善JDBC应用程序的性能介绍一些基本的指导原则,这其中的原则已经被许多现有的JDBC应用程序编译运行并验证过。 这些指导原则包括: 正确的使用数据库MetaData方法 只获取需要的数据 选用最佳性能的功能 管理连
- 在 java 的 bin 目录下,jdk 提供了很多使用的工具,下面学习一些监控和故障处理的工具。
- 在使用android studio过程中,使用gradle编译的时候总会出现一些问题,下面是几个常见问题的解决方法。
- DateTime的一些使用方法
- 平时在做ASP.NET项目里经常使用的一些函数和方法〔zz〕
- 使用net use 和ipc$的一些常方法
- 关于Editplus的一些使用方法
- 本人整理好的一些ASP函数,提供给初学ASP的朋友们使用
- 关于Google Trends中一些错误使用方法
- 平时在做ASP.NET项目里经常使用的一些函数和方法
- 平时在做ASP.NET项目里经常使用的一些函数和方法
- [导入]FreeBSD下find命令的一些使用方法
- VSS实现版本控制管理的一些使用方法
- windows下修改使用的JDK版本的方法
- VSS实现版本控制管理的一些使用方法
- 平时在做ASP.NET项目里经常使用的一些函数和方法
- 一些Blog的使用方法
- 为什么sun的JDK不提供更新zip文件内容的方法?
- 使用gmail的一些錯誤解決方法
- Jbuilder2006中使用1.5以下JDK的解决方法 [转]