重学JAVA基础(八):锁的基本知识】的更多相关文章

1.线程状态 如上图,当我们新建一个线程,并start后,其实不一定会马上执行,因为只有操作系统调度了我们的线程,才能真正进行执行,而操作系统也随时可以运行其他线程,这时线程又回到可运行状态.这个过程是操作系统控制的,不是我们能控制的.我们能控制的是将线程变为blocked,并从blocked变为runable状态. 在以前实验的wait和notify中,我当时并没有注意到notify后会进行锁阶段,以为notify后直接进入runable状态,等待操作系统调度.  从上面的图中可以看到,我们n…
/** * 测试thread的wait notify notifyAll sleep Interrupted * @author tomsnail * @date 2015年4月20日 下午3:20:44 */ public class Test1 { /** * 对象锁 * @author tomsnail * @date 2015年4月20日 下午3:14:13 */ private static final Object lockObject = new Object(); /** * 等…
1.synchronized关键字 /** * 同步关键字 * @author tomsnail * @date 2015年4月18日 下午12:12:39 */ public class SyncThreadTest { private static final byte[] lock = new byte[1]; /** * 同步方法 * @author tomsnail * @date 2015年4月18日 下午12:15:30 */ public synchronized void te…
1.封装 import java.util.Date; public class Human { protected String name; protected BirthDay birthDay; protected String sex; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getSex() { return…
    看一下百度的解释:       JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:这种动态获取的信息    以及动态调用对象的方法的功能称为java语言的反射机制.    先看一下一个例子:   这是最简单的反射使用方法,通过反射来调用类的方法.   下面通过一个需求来做反射实验:有3种人类(黄,白,黑),分别继承于Human类,都有人类的共同操作Behaviour /** * 行为,区别于动物 * @a…
我想大多数Java初学者都会遇到的问题,那就是怎么配置环境,执行java -jar xxx.jar  都会报NoClassDefFindError,我在最开始学习的时候,也遇到了这些问题. 1.PATH     path是路径的意思,我们直接在控制台运行一个程序时候,系统都会在指定的path下去找有没有这个程序,如果有就执行,没有就报错或者提示.     在windows系统中,使用echo %PATH%来查看PATH下的路径     在linux系统中,使用 echo $PATH       …
1.继承Thread public class TestThread extends Thread{ public void run(){ System.out.println(Thread.currentThread().getName()); } public static void main(String[] args) { Thread t = new TestThread(); t.start(); } } 2.实现Runnable public class TestRunnable…
1.接口 public interface Hello { public void sayHello(); } 2.实例类 public class Hello2 { public void sayHello() { System.out.println("hello world2!"); } } public class Hello3 extends Hello2{ } public class HelloImpl implements Hello{ @Override public…
作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 一.前言 程序员‍‍的上下文是什么? 很多时候一大部分编程开发的人员都只是关注于功能的实现,只要自己把这部分需求写完就可以了,有点像被动的交作业.这样的问题一方面是由于很多新人还不了解程序员的职业发展,还有一部分是对于编程开发只是工作并非兴趣.但在程序员的发展来看,如果不能很好的处理上文(产品),下文(测试),在这样不能很好的了解业务和产品发展,也不能编写出很有体系结构的代码,日久天长,1到…
作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 一.前言…