随笔分类 - 03-Java学习笔记
摘要:定时器是一个应用十分广泛的线程工具,可用于调度多个定时任务以后台线程的方式执行。在Java中,可以通过Timer和TimerTask类来实现定义调度的功能。(在java.util包下) A:Timer(定时器类) public Timer() public void schedule(TimerTa
阅读全文
posted @ 2018-04-07 23:12
黑泽君
摘要:在开发中,为了方便使用线程,需要随手开线程,最简单的做法就是采用匿名内部类方式使用多线程。 匿名内部类的格式: new 类名或者接口名() { 重写方法; } 本质:是该类的子类对象或者该接口的实现类对象。 new Thread() {代码...}.start(); new Thread(new R
阅读全文
posted @ 2018-04-06 23:49
黑泽君
摘要:死锁问题的描述和代码体现 同步弊端:效率低;如果出现了同步嵌套,就容易产生死锁问题。 死锁问题:是指两个或者两个以上的线程在执行的过程中,因争夺资源产生的一种互相等待现象。 同步代码块的嵌套案例代码如下:
阅读全文
posted @ 2018-04-06 23:48
黑泽君
摘要:(1)JDK5中Lock锁的使用 虽然我们可以理解同步代码块和同步方法的锁对象问题,但是我们并没有直接看到在哪里加上了锁,在哪里释放了锁,为了更清晰的表达如何加锁和释放锁,JDK5以后提供了一个新的锁对象Lock接口。 即:JDK5以后的针对线程的锁定操作和释放操作。 Lock实现提供了比使用syn
阅读全文
posted @ 2018-04-06 23:43
黑泽君
摘要:回顾前面的线程安全问题(看看源码) StringBuffer/StringBuilder Vector Hashtable 以及Collections中的让集合同步的方法 示例代码如下:
阅读全文
posted @ 2018-04-05 23:19
黑泽君
摘要:同步解决线程安全问题的三种实现 示例代码如下: 1 package cn.itcast_11; 2 3 /* 4 * 同步可以解决安全问题的根本原因就在那个对象上。 5 * 6 * A:同步代码块的格式及其锁对象是谁呢? 7 * 格式: 8 * synchronized (对象名称) { 9 * 需
阅读全文
posted @ 2018-04-05 22:54
黑泽君
摘要:如何判断一个程序是否会有线程安全问题? 示例代码如下: 1 package cn.itcast_09; 2 3 /* 4 * 如何解决线程安全问题呢? 5 * 6 * 要想解决问题,就要知道哪些原因会导致出问题:(而且这些原因也是以后我们判断一个程序是否会有线程安全问题的依据) 7 * A:是否是多
阅读全文
posted @ 2018-04-05 22:53
黑泽君
摘要:Java中可以在一个类中调用另一个类的静态公有方法。 首先是公有方法:表示其他类是可以被访问的。 调用静态公有方法的语法是:类名.方法名(参数...); 所以,比如另一个类叫OtherClass,它的静态公有方法是 public static int MethodA() {...} 那么在你自己的类
阅读全文
posted @ 2018-04-05 22:47
黑泽君
摘要:作为一个程序员,数学对你到底有多重要?! 作者: Xu Wenhao 发布时间: 2018-02-21 16:17 阅读: 36411 次 推荐: 133 原文发布于 2011 年 每个计算机系毕业的人,大都学过不少数学课,而且不少学校的计算机系的数学课,通常比一般的其他工科专业的数学要难一些,比如
阅读全文
posted @ 2018-04-05 22:03
黑泽君
摘要:Java实现多线程的两种方式比较及区别 注意:图片中 1:为什么药重写run()方法?有个错别字药,应该为要。 示例代码如下: 方式1:自定义类继承Thread类 1 package cn.itcast_02; 2 3 /* 4 * 该自定义的类为什么要重写run()方法? 5 * 自定义类中不是所
阅读全文
posted @ 2018-04-04 23:42
黑泽君
摘要:后台线程 public final void setDaemon(boolean on) 将该线程标记为守护线程或用户线程 对象名.setDaemon(true); // 设置守护线程 当正在运行的线程都是守护线程时,Java虚拟机退出。该方法必须在启动线程前调用。 坦克大战帮助理解守护线程,如下图
阅读全文
posted @ 2018-04-04 23:38
黑泽君
摘要:我想要获取main方法所在的线程对象的名称,该怎么办呢? 遇到这种情况,Thread类就提供了一个很好玩的方法: public static Thread currentThread() 返回当前正在执行的线程对象
阅读全文
posted @ 2018-04-04 23:29
黑泽君
摘要:调用Thread类的方法:public final String getName()为什么得到的线程对象的名称默认是:Thread-0、Thread-1、Thread-2、...呢?
阅读全文
posted @ 2018-04-03 23:58
黑泽君
摘要:1.自定义类MyThread继承Thread类,为什么要重写run()方法? 自定义类中不是所有的代码都需要被线程执行。 而这个时候,为了区分哪些代码能够被线程执行,java提供了Thread类中的run()方法,用来包含那些需要被线程执行的代码。 注意:这里的 被线程执行 = 开一个新线程执行 2
阅读全文
posted @ 2018-04-03 23:16
黑泽君
摘要:Java程序的运行原理及JVM的启动是多线程的吗? A:Java程序的运行原理 Java通过java命令会启动java虚拟机。启动JVM,等于启动了一个应用程序,也就是启动了一个进程。 该进程会自动启动一个 “主线程” ,然后主线程去调用某个类的 main 方法。所以 main方法运行在主线程中。在
阅读全文
posted @ 2018-04-03 22:44
黑泽君
摘要:* 大家注意两个词汇的区别:并行和并发 * 并行:前者是逻辑上同时发生,指在某一个时间内同时运行多个程序。 * 并发:后者是物理上同时发生,指在某一个时间点同时运行多个程序。 在java就业班中会有如何解决高并发?
阅读全文
posted @ 2018-04-03 22:39
黑泽君

浙公网安备 33010602011771号