jdk7新特性学习笔记

news/2024/7/7 18:55:18

jdk7新特性学习笔记

从网络down了视频看,记录下学过的东西。

1.二进制字面量

JDK7开始,可以用二进制来表示整数(byte,short,int和long),语法:在二进制数值前面加 0b或者0B
例如:int x = 0b1111

2.数字字面量可以出现下划线

为了增强对数值的阅读性,如我们经常把数据用逗号分隔一样。JDK7提供了_对数据分隔。
举例:
int x = 100_1000;
注意事项:
不能出现在进制标识和数值之间
不能出现在数值开头和结尾
不能出现在小数点旁边

3.switch 语句可以用字符串

4.泛型简化

ArrayList<String> array = new ArrayList<>();

5.异常的多个catch合并

catch (IOException ex) {logger.error(ex);throw new MyException(ex.getMessage());
catch (SQLException ex) {logger.error(ex);throw new MyException(ex.getMessage());
}catch (Exception ex) {logger.error(ex);throw new MyException(ex.getMessage());
}
可以改为:
catch(IOException | SQLException | Exception ex){logger.error(ex);throw new MyException(ex.getMessage());
}
6.try-with-resources 语句
		// try-with-resources 语句// try(必须是java.lang.AutoCloseable的子类对象){…}try {FileReader fr = new FileReader("a.txt");FileWriter fw = new FileWriter("b.txt");int ch = 0;while ((ch = fr.read()) != -1) {fw.write(ch);}fw.close();fr.close();} catch (IOException e) {e.printStackTrace();}// 改进版的代码try (FileReader fr = new FileReader("a.txt");FileWriter fw = new FileWriter("b.txt");) {int ch = 0;while ((ch = fr.read()) != -1) {fw.write(ch);}} catch (IOException e) {e.printStackTrace();}}
自动关闭流了。注意,try()中的类必须是java.lang.AutoCloseable的子类对象。


这个接口来自jdk1.7,io操作的类都实现了此接口。
















http://lihuaxi.xjx100.cn/news/243172.html

相关文章

Linux进程ID号--Linux进程的管理与调度(三)

进程ID概述 进程ID类型 要想了解内核如何来组织和管理进程ID&#xff0c;先要知道进程ID的类型&#xff1a; 内核中进程ID的类型用pid_type来描述,它被定义在include/linux/pid.h中 enum pid_type {PIDTYPE_PID,PIDTYPE_PGID,PIDTYPE_SID,PIDTYPE_MAX };12345671234567PID 内核…

如何理解JS的单线程?

JS本质是单线程的。也就是说&#xff0c;它并不能像JAVA语言那样&#xff0c;两个线程并发执行。 但我们平时看到的JS&#xff0c;分明是可以同时运作很多任务的&#xff0c;这又是怎么回事呢? 首先&#xff0c;JS的代码&#xff0c;大致分为两类&#xff0c;同步代码和异步代…

C#组件系列——又一款日志组件:Elmah的学习和分享

前言&#xff1a;好久没动笔了&#xff0c;都有点生疏&#xff0c;12月都要接近尾声&#xff0c;可是这月连一篇的产出都没有&#xff0c;不能坏了“规矩”&#xff0c;今天还是来写一篇。最近个把月确实很忙&#xff0c;不过每天早上还是会抽空来园子里逛逛。一如既往&#xf…

vsftpd用户配置 No.2

在配置ftp虚拟用户的过程中&#xff0c;还有一种配置方式。yum -y install 安装vsftpdcp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak编辑vsftpd.conf开启下列选项&#xff1a;anonymous_enableNOlocal_enableYESwrite_enableYESlocal_umask022anon_mkdir_write_enab…

EXT.JS的PROXY放在哪里,STORE放在哪里,绝对是个技术活儿啊。

我理解的是&#xff0c;单独的STORE&#xff0c;会在应用程序开始时就加载&#xff0c; 而VIEWMODEL的STORE&#xff0c;会在VIEW加载时才开始加载。 PROXY放在STORE&#xff0c;则会在调用这个STORE的VIEW才能请求服务器数据。 如果PROXY放在MODEL时&#xff0c;则凡使用这个M…

web前端培训后的工作方向是什么

web前端在IT行业的火热&#xff0c;致使很多人都想要进入到这个行业&#xff0c;如今参加web前端培训的人越来越多&#xff0c;那么参加完web前端培训后的工作方向是什么?大家是否清楚呢?来看看下面的详细介绍吧。 web前端培训后的工作方向是什么&#xff1a; 一、WepAPP的开…

springmvc配置DispatcherServlet拦截url注意事项

<!-- 前端控制器 --><servlet><servlet-name>springmvc</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><!-- 加载springmvc配置 --><init-param><param-name>contex…

memcached(二)事件模型源码分析

在memcachedd中&#xff0c;作者为了专注于缓存的设计&#xff0c;使用了libevent来开发事件模型。memcachedd的时间模型同nginx的类似&#xff0c;拥有一个主进行&#xff08;master&#xff09;以及多个工作者线程&#xff08;woker&#xff09;。 流程图 在memcached中&…