自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 资源 (4)
  • 收藏
  • 关注

原创 java基础| 多线程基础八:线程池及使用

线程池 线程池就是一些线程的容器,这些线程的集合称为线程池。使用线程池可以很好地提高性能,线程池在系统启动时即创建大量空闲的线程,程序将一个任务传给线程池,线程池就会启动一条线程来执行这个任务,执行结束以后,该线程并不会死亡,而是再次返回线程池中成为空闲状态,等待执行下一个任务。...

2020-05-31 21:43:42 278

原创 java基础| 多线程基础七:JUC工具包中的工具类

JUC是指java并发工具包java.util.concurrent包 JUC并发包中的工具类主要有CountDownLatch、CyclicBarrier、Semaphore、ConcurrentHashMap、BlockingQueue等。这些工具类在java1.5被引入。CountDownLatch countDownLatch这个类使一个线程等待其他线程各自执行完毕后再执行。是通过一个计数器来实现的,计数器的初始值是线程的数量。每当一个线程执行完毕后,计数器...

2020-05-30 16:18:34 349

原创 java基础| 多线程基础六:Condition接口分析和ThreadLocal类解析

ConditionJUC是指java并发包,全称是 java.util.concurrent 包​​​​​​​ JUC提供了Lock可以方便的进行锁操作,但是有时候我们也需要对线程进行条件性的阻塞和唤醒,这时我们就需要condition条件变量,它就像是在线程上加了多个开关,可以方便的对持有锁的线程进行阻塞和唤醒。Condition主要是为了在J.U.C框架中提供和Java传统的监视器风格的wait,notify和notifyAll方法类似的功能。condition 是依赖于 Ree...

2020-05-28 16:29:24 600

原创 java基础| 多线程基础五:AQS详解

什么是AQS? AQS是一个同步器,在java中是AbstractQueuedSynchronizer的简称。AQS是一个FIFO功能的双向链表,是一个提供了一种实现阻塞锁和一系列依赖FIFO等待队列的同步器的框架。AQS为一系列同步器依赖于一个单独的volatile原子变量(state)的同步器提供了一个非常有用的基础。子类们必须定义改变state变量的protected方法,这些方法定义了state是如何被获取或释放的。 对state的操作是原子的,且不能被继承。所有...

2020-05-25 10:59:59 762

原创 java基础| 多线程基础四:显示锁详解

显示锁 只要实现了Lock接口的锁都叫显示锁。锁是用来控制多个线程访问共享资源的方式,一般来说,一个锁能够防止多个线程同时访问共享资源(但是有些锁可以允许多个线程并发的访问共享资源,比如读写锁)。在Lock接口出现之前,Java程序是靠synchronized关键字实现锁功能的,而Java SE 5之后,并发包中新增了Lock接口(以及相关实现类)用来实现锁功能,它提供了与synchronized关键字类似的同步功能,只是在使用时需要显式地获取和释放锁。虽然它缺少了(通过synchroniz...

2020-05-21 22:17:48 239

原创 java基础| 多线程基础三:CAS原理和原子操作

CAS机制 CAS是英文单词Compare And Swap的缩写,翻译过来就是比较并替换。 CAS机制当中使用了3个基本操作数:内存地址V,旧的预期值A,要修改的新值B。 更新一个变量的时候,只有当变量的预期值A和内存地址V当中的实际值相同时,才会将内存地址V对应的值修改为B。 synchornized(内置锁)从思想上来说是属于悲观锁,悲观地认为程序中的并发情况严重,所以使用数据之前先加锁即严防死守。而CAS机制属于乐观锁,乐观地认为程序中地并发情况不那么严重,所以让线...

2020-05-21 20:05:22 153

原创 java基础| 多线程基础二: synchronized底层原理解析

提要synchronized 是解决Java并发最常见的一种方法,也是最简单的一种方法。关键字 synchronized 可以保证在同一时刻,只有一个线程可以访问某个方法或者某个代码块。同时 synchronized 也可以保证一个线程的变化,被另一个线程看到(保证了可见性)。synchronized的作用主要有三个:确保线程互斥的访问代码 保证共享变量的修改能够及时可见(可见性) 可以阻止JVM的指令重排序 Java虚拟机中的同步(Synchronization)都是基于进入和退出...

2020-05-21 16:22:54 172

原创 java基础| 多线程基础一:并发编程基础

基本概念进程:是一个具有一定独立功能的程序在一个数据集上的一次动态执行的过程,是操作系统进行资源分配和调度的一个独立单位,是应用程序运行的载体。进程一般由程序、数据集合和进程控制块三部分组成。(程序用于描述进程要完成的功能,是控制进程执行的指令集;数据集合是程序在执行时所需要的数据和工作区;程序控制块包含进程的描述信息和控制信息是进程存在的唯一标志。) 进程具有的特征: 动态性:进程是程序的一次执行过程,是临时的,有生命期的,是动态产生,动态消亡的; 并发性:任何进程都可以同其他进行一起...

2020-05-18 22:18:57 184

原创 java源码| Thread源码解析

针对java源码Thread类进行解析(学习中,解析的不好请给出评论意见,膝盖送给各位大佬)内容持续更新中。。。Thread类:/* * Copyright (c) 1994, 2016, Oracle and/or its affiliates. All rights reserved. * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. * * * * * * * * * * *

2020-05-17 21:23:28 287

原创 java基础| clone方法解析

题外话 熟悉jav开发的都知道,java是纯面向对象的编程语言,和c++有很大的不同,其中取消指针类型就是一个很大的不同之处。由于在java语言中取消了指针这个概念,但是这并不妨碍java对指针概念的应用(表面上我们假装不用指针,实际上我们都知道用指针真香哎!)。在java中,实质撒谎嗯每个new语句返回的都是一个指针的引用,只不过在大部分情况下我们都不需要关心如何去操作这个指针而已。 按值传递和按引用传递 在java中处理基本数据类型时,都是采用按值传递(传递的是输入参数的...

2020-05-17 18:14:28 379

纯前端实现的音乐播放器,带频谱酷炫显示

一款带频谱酷炫显示的纯前端实现的音乐播放器,适用于自己搭建后台套用的前端音乐播放器模板

2021-02-28

KillVirus杀毒软件专杀u盘病毒

KillVirus杀毒软件专杀u盘病毒 可精确快速的杀除exe文件夹以及快捷方式等顽固病毒

2017-01-06

计算机组成原理

计算机组成原理是计算机类专业考试的四大考试重点之一,该ppt包含了全书的重点和难点

2016-05-11

MFC特殊文本颜色编辑框(函代码)

编辑框的文本颜色通常使用黑色,可是白色的背景衬托黑色的字体,时间长了会产生视觉疲劳,为了解决这个问题,可以设计一个具有特殊文本颜色的编辑框,在解决视觉疲劳的同时也可以么美化程序界面

2016-05-02

空空如也

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

TA关注的人

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