以前写try-catch时,遇到一些流、连接等对象,必定需要添加finally语句来关闭这些对象。今天突然发现try的with模块可以省略在finally手动关闭的动作,可以通过将这些对象定义在with模块中,然后在try语句完成后,自动close对象,前提需要该对象实现了AutoCloseable或Closeable接口。然后发现,这个特性其实在java7中就引入了,现在都java9了,才发现。
分类:
编程语言 时间:
2018-07-03 11:51:30
阅读次数:
202
lock 关键字将语句块标记为临界区,方法是获取给定对象的互斥锁,执行语句,然后释放该锁。 lock 关键字可确保当一个线程位于代码的临界区时,另一个线程不会进入该临界区。 如果其他线程尝试进入锁定的代码,则它将一直等待(即被阻止),直到该对象被释放。lock 关键字在块的开始处调用 Enter,而 ...
分类:
其他好文 时间:
2018-06-22 16:35:55
阅读次数:
121
虚拟机类加载机制 虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。 类的生命周期如下: 其中验证、准备、解析三个阶段属于 连接 过程。解析可以发生在初始化之后,这是因为Java支持 动态绑定 , ...
分类:
编程语言 时间:
2018-06-20 16:33:40
阅读次数:
168
在js中,有四种用于检测数据类型的方式,分别是: typeof 用来检测数据类型的运算符 instanceof 检测一个实例是否属于某个类 constructor 构造函数 Object.prototype.toString.call() 原型链上的Object对象的toString方法 下面我们就 ...
分类:
Web程序 时间:
2018-06-19 14:49:27
阅读次数:
148
多线程同步的实现方式有多种: 1、同步方法:即由synchronized修饰的同步方法 由于java的每个对象都有一个内置锁,当用此关键字修饰方法时,内置锁会保护整个方法。在调用该方法前,需要获得内置锁,否则就处于阻塞状态。 2、同步代码块:即由synchronized修饰的语句块。 被该关键字修饰 ...
分类:
编程语言 时间:
2018-06-11 00:30:58
阅读次数:
208
关系运算符 > >= < <= != == 对数值的运算 ,结果返回的是 bool值逻辑运算符 && || ! && :逻辑与,前后都为TRUE 结果为TRUE || : 逻辑或,有一个为TRUE,结果为TRUE ! : 逻辑非,取反,TRUE取反是FALSE 选择结构 if If(判断条件){ 执 ...
一、语法 1.@ 它是一个特殊的字符,表示动态声明的开始。对于简单的动态声明结尾可以从代码块中自动推断结尾,对于复杂的表达式通常加上() 注意: 在关键字、动态声明和参数之间不能有空格,否则会编译错误 也可以使用大括号来编写多语句块: Hello @{val name = customer.firs ...
分类:
其他好文 时间:
2018-06-07 13:55:03
阅读次数:
461
1、awk基本用法:awk[options]‘program’var=valuefile…awk[options]-fprogramfilevar=valuefile…awk[options]‘BEGIN{action;…}pattern{action;…}END{action;…}‘file...awk程序通常由:BEGIN语句块、能够使用模式匹配的通用语句块、END语句块,共3部分组成prog
分类:
系统相关 时间:
2018-06-06 18:29:57
阅读次数:
181
可以给语句块加标号赋予它们名称,标号位于语句之前。标号只能被continue和break引用。格式如下: label:statement 语句前只允许加一个标号,标号后面不能跟大括号。通过用break后加标号对处于标号中的语句进行控制。往往标号后是for.while.do-while等循环。 通过用 ...
分类:
编程语言 时间:
2018-06-05 23:17:01
阅读次数:
255
列表 list [] 元组 tuple() 集合set 无序、唯一,使用{}定义 字典 dict 存储的是键值对儿,使用{}进行定义 set():将列表或者元组转化为集合,用于去除重复数据 输入输出: 输入:input() 注意:输入的内容都是字符串 输出:print() if 表达式: 语句块 执 ...
分类:
编程语言 时间:
2018-06-05 00:44:43
阅读次数:
198