Java基础
长弓晗炅
人生,且行且走
展开
-
Thread实战:龟兔赛跑问题
上述是龟兔赛跑问题的整体框架下面开始撸代码:创建Animal大类:package rabbitThread;/* * 3.龟兔赛跑问题龟兔赛跑:2000米要求:(1)兔子每 0.1 秒 5 米的速度,每跑20米休息1秒;(2)乌龟每 0.1 秒跑 2 米,不休息;(3)其中一个跑到终点后另一个不跑了!程序设计思路:(1)创建一个Animal动物类,继承Thread,编写一个running抽象方法,重写run方法,把running方法在run方法里面调用。(2)创建Rabbit兔子类转载 2020-06-30 08:47:50 · 751 阅读 · 0 评论 -
sleep()方法和wait()方法的区别
sleep()是使线程暂停执行一算时间的方法。wait()方法也是使线程暂停一段时间的方法。例如,当线程进行交互时,如果线程对一个同步对象x发出一个wait()调用请求,那么该线程会暂停执行,被调用对象进入等待状态,直到被唤醒或者等待时间超时。下面,对sleep()和wait()方法的具体区别进行说明:1)原理不同:sleep()方法属于Thread类的静态方法,是线程用来控制自身流的,它会使此线程暂停执行一段时间,而把执行时间让给其他的线程,等倒计时时间一到,此线程会自动苏醒。wait()方法属原创 2020-06-28 22:19:16 · 663 阅读 · 1 评论 -
多线程实现同步的方法
当使用多线程访问同一个资源时,非常容易出现线程安全问题(例如,当多个线程同时对一个数据进行修改时,会导致某些线程对数据的修改丢失)。因此,需要采用同步的机制来解决这个问题。Java提供了3种实现同步机制的方法:1、synchhronized关键字 在Java语言中,每个对象都有 一个对象锁与之相关联,该锁表明对象在任何时候只允许被一个线程所原创 2020-06-28 16:41:28 · 1529 阅读 · 0 评论 -
多线程中run()方法和start()方法的区别
通常,系统通过调用线程类的start()方法来启动一个线程,此时线程处于就绪状态而非运行状态,也就意味着这个线程可以被JVM来调度执行。在调度过程中,JVM通过调用线程类的run()方法来完成实际的操作,当run()方法结束后,此线程就会终止。 如果直接调用线程的run()方法,这会被当做一个普通函数的调用,程序中仍然只有主程序这一个线程,也原创 2020-06-27 16:31:08 · 314 阅读 · 0 评论 -
如何实现Java多线程
Java虚拟机允许应用程序并发地运行多个线程。在Java中,多线程的实现一般有以下3中方法:(1)继承Thread类,重写run()方法:Thread本质上也是实现了Runnable接口的一个实例。...原创 2020-06-27 11:35:11 · 158 阅读 · 0 评论 -
SWITCH的注意事项
话不多说,代码上见真章:package com.hzyc.Class;/* * switch语句用于多分支选择,switch(expr),expr只能是枚举类型的变量: * 1、由整形或 字符类型实现 * 2、一个整数表达式 *long,float,String,duble 这些非整形变量不能够作为switch的变量,因为他们不能一时的转换为int 类型。 *同时,case之后跟的是直接的常量数值,也可以跟一个常量计算式,还可以是final类型的变量。但是不能是 * *原创 2020-06-18 18:00:37 · 292 阅读 · 0 评论 -
STATIC关键字有哪些作用
下面通过四个方面对static关键字的作用做以简单的说明,话不多说,直接上代码:package com.hzyc.Class;//import java.util.List;//采用static修饰的静态变量,可以采用以下两种方式进行调用: /* * 1、类.静态变量 * 2、对象.静态变量 * * 采用static修饰的静态变量,可类似的代替全局变量,类似于类,在内存中只存在一个复制, * 所有的实例都指向同一个内存 * *//* * 实...原创 2020-06-18 17:17:39 · 160 阅读 · 0 评论 -
Java基础知识(一):Java语言的优点及与C++的区别
摘要:“Java is a simple ,object-oriented ,distributed,interpreted,robust,secure,architecture neutral,portable,high-performance,multithreaded,and dynamic language”1 、Java语言有哪些优点(1)Java是一门纯面向对象的语言,能够直接反应现实生活中的对象,使得程序的开发更加的容易。(2)平台无关性:Java语言的理念是“一次编译,到处运行”,原创 2020-05-15 18:52:08 · 999 阅读 · 0 评论