4.1 使用ReentrantLock类 在JKD1.5中,新增加了ReentrantLock类也能达到和synchronized关键字同样的效果,并且在扩展功能上更加强大,如嗅探锁定,多路分支通知等功能,在使用上也比synchronized更加灵活。 package ReentrantLock; ...
分类:
其他好文 时间:
2020-10-30 12:53:51
阅读次数:
17
obj.name >obj[name] 这两种调用方式一样,obj['name'] 里面必须是字符串 例如 for (let i = 0; i < value.length; i++) { obj['name' + i] //相当于下面 obj.name1 obj.name2 obj.name3 . ...
分类:
Web程序 时间:
2020-10-30 12:44:49
阅读次数:
26
背景用两个线程交替输出A-Z和1-26,即一个线程输出A-Z,另一个线程输出1-26而且是交替形式线程1输出A——线程二输出1线程1输出B——线程二输出2线程1输出C——线程二输出3以此类推分析主要考察线程之间的通信,思路就是创建两个线程在一个线程输出一个内容之后,自己进入阻塞,去唤醒另一个线程另一个线程同样,输出一个内容之后,自己进入阻塞,去唤醒另一个线程代码实现
分类:
编程语言 时间:
2020-10-30 12:04:11
阅读次数:
15
print("*********Lua调用C# 数组相关知识点***********") local obj = CS.Lesson3() --Lua使用C#数组相关知识 --长度 userdata --C#怎么用 lua就怎么用 不能使用#去获取长度 print(obj.array.Length) ...
分类:
编程语言 时间:
2020-10-30 11:53:34
阅读次数:
21
print("*********Lua调用C# 拓展方法相关知识点***********") Lesson4 = CS.Lesson4 --使用静态方法 --CS.命名空间.类名.静态方法名() Lesson4.Eat() --成员方法 实例化出来用 local obj = Lesson4() -- ...
分类:
编程语言 时间:
2020-10-30 11:52:44
阅读次数:
20
print("*********Lua调用C# ref方法相关知识点***********") Lesson5 = CS.Lesson5 local obj = Lesson5() --ref参数 会以多返回值的形式返回给lua --如果函数存在返回值 那么第一个值 就是该返回值 --之后的返回值 ...
分类:
编程语言 时间:
2020-10-30 11:52:09
阅读次数:
18
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.HashMap; import java.util ...
分类:
其他好文 时间:
2020-10-29 10:40:45
阅读次数:
23
某外企客户需要某台电脑所安装的软件名称及版本信息,我们该如何快速导出电脑所安装的软件名称及版本信息的列表呢?
草捏对Lambda表达式的了解停留在用IDEA自动替换匿名类的程度,以为Lambda表达式只是把代码缩短了而已,不过就是一个语法糖。所以一直不屑一顾,没系统学习。“不过就是代码短一点嘛,没啥大不了”。但通过学习才知道Lambda表达式不仅仅是把代码换了种表达方式,或许更重要的是背后的思想——行为参数化。所谓的行为参数化,指的是我们可以通过参数传递的形式去指定代码的行为。是不是很眼熟,学过设计模式的
分类:
移动开发 时间:
2020-10-27 11:50:36
阅读次数:
37
package test /** * scala中的:: , +:, :+, :::, +++, 等操作; */ object listTest { def main(args: Array[String]): Unit = { val list = List(1,2,3) // :: 用于的是向队 ...
分类:
其他好文 时间:
2020-10-26 11:23:59
阅读次数:
20