java synchronized(同步代码块)
Java 语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码。 一、当两个并发线程访问同一个对象object 中的这个synchronized(this)同步代码块时,一个时间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块。 二、然而,当一个线程访问object 的一个synchronized(this)…
Java 语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码。 一、当两个并发线程访问同一个对象object 中的这个synchronized(this)同步代码块时,一个时间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块。 二、然而,当一个线程访问object 的一个synchronized(this)…
细说Java多线程系列(1.2)线程状态及其切换 前言 线程的状态 操作系统中的线程 Java中的线程 New Runnable Blocked Waiting Timed_Waiting Terminated 线程状态的切换 前言 上次说了与线程有关的概念,以及创建线程的方式,今天我们来聊一聊线程的状态与切换。 注:使用的jdk版本为11.0.6 线程的状态 众所周知,线程是有状态的。这里要注意…
试想一下,如果你可以轻易地调用一个类的私有方法,那么是不是说你的封装都失效了?最近在看java的反射机制,发现居然可以利用java的反射机制去调用其他类的私有方法,至于这能干什么,那就见人见智了。。 我写的一段简易实例代码如下: import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; …
目录 一、认识队列 二、队列的基本操作 1. 定义基本的队列并初始化队列 2. 入队列 3. 出队列 4. 获取队头元素 一、认识队列 队列是一种从一边插入数据另一边删除数据的线性数据结构,在我们生活中队列十分常见,比如在学校排队买饭,这就是一个基本队列,第一个排队的人排在队头先买到饭并且先离开排队队列,所以队列具有先进先出(FIFO)的特性。 与栈不同的是,队列的底层没有数组,而是通过链表实现的…
题目: 给定一个包含n+1个整数的数组nums,其数字在1到n之间(包含1和n),可知至少存在一个重复的整数,假设只有一个重复的整数,请找出这个重复的数。 示例 1: 输入: [1,3,4,2,2] 输出: 2 示例 2: 输入: [3,1,3,4,2] 输出: 3 分析: 这道题没有说时间复杂度,那么既然这样就先不考虑,题目说给定一个整数数组,在1-n之间,数组有n+1个整数。 在这个数组里面存…
本代码包含了 1.先来先服务算法 2.最短寻找时间优先调度算法 3.单向扫描调度算法 4.双向扫描调度算法 5.电梯调度算法 代码如下: //测试例子 98 183 37 122 14 124 65 67 -1 //测试例子 98 183 37 122 14 124 65 67 -1 //测试例子 98 183 37 122 14 124 65 67 -1 //测试例子 98 183 37 122…
构造函数、构造代码块和静态代码块容易混淆,它们的执行条件和执行顺序也常常容易犯迷。这里就针对这些问题说一下我个人的一些理解,顺便对这部分内容做个小结。 构造函数 格式:类名(参数1,参数2,…){构造函数执行语句}; 关于构造函数,以下几点要注意: 1.对象一建立,就会调用与之相应的构造函数,也就是说,不建立对象,构造函数时不会运行的。 2.构造函数的作用是用于给对象进行初始化。 3.构造函数笼统…
这段时间看了一些技术的书籍,想做些游戏来玩玩。中途突然发现自己好像很久没写技术博客了,一来写一下开发过程分享给其他人,二来自己也当做做一些笔记以后没事可以看看。先介绍一下数独这个游戏以及相关技术和构建。 数独游戏很多人应该都不陌生,它是由9x9个单元格组成的矩阵,在单元格中填入1-9的数字,使数据在行列宫都不重复。主要了解几个术语:行、列、宫、单元格(小方格)。这里主要介绍宫,宫是指将9x9的矩阵…
1.在idea中创建一个Java项目,并点击右上角的项目结构(Project structure) 2.点击module--->dependences,选择右边的+号,添加项目的依赖,选择jars or directory(该功能是选择自己磁盘文件中的依赖库). 然后选择自己的jar包所在的文件夹,添加进来即可,例如我的磁盘下有一个mysql驱动包,选中驱动包,点击确定添加进项目中 mysq…
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'mySchulderManager' defined in file [D:\six-p2p\.metadata\.plugins\org.eclipse.wst.server.core\tmp3\wtpwebapps\ti…