自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

转载 Java多线程——volatile关键字

volatile在多线程中是用来同步变量的。 线程为了提高效率,将某成员变量(如A)拷贝了一份(如B),线程中对A的访问其实访问的是B。只在某些动作时才进行A和B的同步。因此存在A和B不一致的情况。 volatile就是用来避免这种情况的。volatile告诉jvm, 它所修饰的变量不保留拷贝,直接访问主内存中的(也就是上面说的A) 变量。 一个变量声明为volatile,就意味...

2018-10-08 08:52:00 113

转载 Java多线程——Lock显式锁

Lock是一个接口,提供了无条件的、可轮询的、定时的、可中断的锁获取操作,所有的加锁和解锁操作方法都是显示的,因而称为显示锁。 下面针对Lock的几个实现类ReentrantLock、ReentrantReadWriteLock.ReadLock和ReentrantReadWriteLock.WriteLock解析。 ReentrantLock(可重入锁),是一个互斥的同步器,用R...

2018-10-07 16:27:00 89

转载 Java多线程——死锁

死锁是这样一种情形:多个线程同时被阻塞,它们中的一个或者全部都在等待某个资源被释放。由于线程被无限期地阻塞,因此程序不可能正常终止。 java 死锁产生的四个必要条件: 1、互斥使用,即当资源被一个线程使用(占有)时,别的线程不能使用 2、不可抢占,资源请求者不能强制从资源占有者手中夺取资源,资源只能由资源占有者主动释放。 3、请求和保持,即当资源请求者在请求其他的资源的同...

2018-10-07 16:23:00 81

转载 Java多线程——TreadPoolExecutor,线程池

一.为什么使用线程池: 1.降低资源损耗。  主要指的是降低创建和销毁线程时产生的cpu资源消耗,线程池通过持续工作的线程执行不断分配的新 任务,来减少频繁的线程创建与销毁。 2.提高响应速度。 3.提高线程的可管理性。 线程是稀缺资源,频繁的创建销毁,以及没有控制的大量创建,都会影响系统的稳定性。使用线程池可以统一分配,调优,资源监控。 二.如何创建线程池: ...

2018-10-06 20:50:00 104

转载 Java多线程——wait方法和notify方法的详解

wait():等待,如果线程执行了wait方法,那么该线程会进入等待的状态,等待状态下的线程必须要被其他线程调用notify()方法才能唤醒。 notify():唤醒,唤醒线程池等待线程其中的一个。 notifyAll():唤醒线程池所有等待线程。 wait与notify方法要注意的事项: 1. wait方法与notify方法是属于Object对象的。 2. wait方法...

2018-10-06 16:43:00 153

转载 面向对象

1.面向对象思想的概述 面向过程:当需要实现一个功能的时候,每一个具体的步骤都要亲力亲为,详细处理每一个细节.面向过程:当需要实现一个功能的时候,不关系具体的步骤,而是找一个已经具有该功能的人,来帮我做事. 区别:面向过程:强调步骤.面向对象:强调对象. 特点:面向对象思想是一种更符合我们思考习惯的思想,它可以将复杂的东西简单化,并将我们从执行者变成了指挥者.面向对象的语言中,包含...

2018-07-27 15:41:00 78

转载 数组

1.求出数组中的最值: int[] array = { 5, 15, 30, 1000, 60, 20}; int max = array[0]; for(int i = 1; i < array.length; i++){   //如果当前元素,比max更大,则换   if(array[i] > max){     max = array[i];   }}Syste...

2018-07-27 15:38:00 86

转载 循环结构

1.循环概述 循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环语句,当反复执行这个循环体时,需要再合适的时候把循环判断条件修改为false,从而结束循环,否则循环将一直执行下去, 形成死循环. 2.循环条件的基本组成部分 1).初始化语句:再循环开始最初执行,而且只做唯一一次.2).条件判断:如果成立,则循环继续;如果不成立,则循环退出...

2018-07-27 15:35:00 157

转载 选择结构

.if选择结构 if选择结构是根据条件判断之后再做处理的一种语法结构. if(条件){   代码块  //条件成立后要执行的代码,可以使一条语句,也可以是一组语句 } 2.if-else选择结构: 语法: if (条件){ //代码块1 }else{ 代码块2 ...

2018-07-18 18:24:00 95

转载 变量,数据类型和运算符

1.变量 计算机使用内存来记忆大脑运算时要使用的数据. 如何存储一个数据? 答:"根据数据类型为它在内存中分配一块空间,然后数据就可以放进这块空间中." 分配的空间过小会导致数据无法储存. 根据内存地址可以找到这块内存空间的位置,也就找到了存储的数据. 内存地址非常不好记,因此,我们给这块内存空间起一个别名,通过使用别名找到对应空间存储的数据. 变量是一个数据空间的表示. ...

2018-07-18 18:03:00 66

转载 Java基础

1.发展历史 1995 jdk1.0   jdk5.0 (1.5)   jdk6   jdk7   jdk8 jdk7开始: String 类型也可以作为switch( byte/short/int/ char / enum 枚举类型 ) {} 2. 三方面技术 JavaSE JavaEE JavaME 3. 三种注释 单行// ...

2018-07-17 17:17:00 53

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除