摘要:
1. 为什么使用线程池 1、降低资源的消耗 2、提高响应的速度 3、方便管理。 线程池可以达到:线程复用、可以控制最大并发数、管理线程的目的 2. 线程池的使用 2.1 Executors的三种方法 package pool; import java.util.concurrent.Executor 阅读全文
摘要:
package ztext.pc; /** * JavaTest * * @author : xgj * @description : de * @date : 2020-09-20 14:40 **/ public class TestOne { public static void main(S 阅读全文
摘要:
Lock锁和synchronized锁的区别 Lock锁是对象,而synchronized是java关键字 Lock锁需要手动加锁释放锁,synchronized的该操作是全自动的。对于异常前者需要手动释放锁,不然容易导致死锁。而后者由jvm自动管理。 Lock锁的属性可以配置,而synchroni 阅读全文
摘要:
下面都是一些个人理解,有错欢迎指出 线程和进程的区别 一句话解释就是:线程是cpu调度和执行的基本单位。而进程是系统资源分配的基本单位。 个人理解的话, 二者虽然属于不同情况下的定义问题,其实也存在着联系。一个进程具有一个或者多个线程。我们考虑最特殊的情况,一个进程只存在一个线程的时候,那么二者在运 阅读全文
摘要:
sql调优是需要时间积累的,这里只是记录一些基础的知识,也是我第一篇sql调优 一般情况下sql调优主要依靠explain命令:expain出来的信息有10列,分别是id、select_type、table、type、possible_keys、key、key_len、ref、rows、Extra: 阅读全文
摘要:
Spring帮助我们管理Bean分为两个部分,一个是注册Bean,一个装配Bean。完成这两个动作有三种方式,一种是使用自动配置的方式、一种是使用JavaConfig的方式,一种就是使用XML配置的方式。 @Component作用就相当于 XML配置 @Bean 需要在配置类中使用,即类上需要加上@ 阅读全文
摘要:
概述 AQS的核心思想是,如果被请求的共享资源空闲,则将当前请求资源的线程设置为有效的工作线程,并将共享资源设置为锁定状态,如果被请求的共享资源被占用,那么就需要一套线程阻塞等待以及被唤醒时锁分配的机制,这个机制AQS是用CLH队列锁实现的,即将暂时获取不到锁的线程加入到队列中。 AQS是将每一条请 阅读全文
摘要:
1.1乐观锁 VS 悲观锁 乐观锁与悲观锁是一种广义上的概念,主要区别在对于同步资源的处理方式的不同。在Java和数据库中都有此概念对应的实际应用。 对于乐观锁而言: 认为自己在使用数据时不会有别的线程修改数据,所以不会添加锁,只是在更新数据的时候去判断之前有没有别的线程更新了这个数据。如果这个数据 阅读全文
摘要:
虽然这个不是标准的数据结构,但是在java中还是挺重要的结构类。所以需要好好了解一下 使用 该类的使用非常简单,大概就下面的两个操作。 static final ThreadLocal<T> sThreadLocal = new ThreadLocal<T>(); sThreadLocal.set( 阅读全文
摘要:
跨域是什么 当一个请求url的协议、域名、端口三者之间任意一个与当前页面url不同即为跨域。 跨域怎么出现的 出于浏览器的同源策略限制。同源策略(Sameoriginpolicy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说Web是构 阅读全文