代码改变世界

随笔档案-2017年12月

Java8 Lambda表达式

2017-12-19 14:50 by 钰火, 263 阅读, 收藏, 编辑
摘要: https://github.com/mynawang/javabasic-summary/tree/master/chapter03 Lambda表达式的结构: Lambda表达式可以具有零个、一个或多个参数。 可以显式声明参数的类型,也可以由编译器自动从上下文推断参数的类型,如(int a)与(a)相同。 参数用小括号括起来,多个参数用逗号隔开,如(a, b)。 空括号... 阅读全文

synchronized的一些记录

2017-12-01 14:16 by 钰火, 193 阅读, 收藏, 编辑
摘要: 1、方法内的私有变量,不存在线程安全问题。非线程安全问题存在于实例变量(全局变量)中2、在方法上加synchronized表示,当第一个线程进入时方法加锁(其他方法无法调用)3、synchronized取得的锁是对象锁,而不是把一段代码或方法(函数)当作锁,所以哪个线程先执行带synchronized关键字的方法,哪个线程就持有该方法所属对象的锁Lock,那么其他线程只能呈等待状态,前提是多个线程... 阅读全文

类和实例

2017-12-01 13:57 by 钰火, 235 阅读, 收藏, 编辑
摘要: 面向对象最重要的概念就是类(Class)和实例(Instance),必须牢记类是抽象的模板,比如Student类,而实例是根据类创建出来的一个个具体的“对象”,每个对象都拥有相同的方法,但各自的数据可能不同。局部变量:在方法或者语句块中定义的变量被称为局部变量。变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁。成员变量:成员变量是定义在类中、方法体之外的变量。这种变量在创建对象的时候实例... 阅读全文

线程状态

2017-12-01 13:14 by 钰火, 261 阅读, 收藏, 编辑
摘要: 1.NEW:初始状态,线程被创建,但是还没有调用start()方法2.RUNNABLE:运行状态,Java线程将操作系统中的就绪(READY)和运行(RUNNING)两种状态笼统地称作“运行中”3.BLOCKED:阻塞状态,表示线程阻塞于锁4.WAITING:等待状态,表示线程进入等待状态,进入该状态表示当前线程需要等待其他线程做出一些特定动作(通知或中断)5.TIME_WAITING:超时等待... 阅读全文

main函数和线程的关系

2017-12-01 11:07 by 钰火, 1239 阅读, 收藏, 编辑
摘要: https://github.com/mynawang/Java-Multi-Thread-Learning/blob/master/src/main/java/com/sedion/mynawang/basic/DiscoverThread.java java中运行一个main函数时,有多个其他线程也同时运行。如:Reference Handler线程,用于处理引用对象本身垃圾回收问题(软引用、... 阅读全文

线程的3种声明方式

2017-12-01 10:32 by 钰火, 929 阅读, 收藏, 编辑
摘要: 1.实现Runnable接口,重写run方法 实例化线程:new Thread(new MyselfThread()).start(); 2.继承Thread类,重写run方法,其实质也是实现Runnable接口 实例化线程:MyselfThread thread = new MyselfThrea 阅读全文
点击右上角即可分享
微信分享提示