自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 maven配置报错,忽略HTTPS的SSL证书验证

1.首先在Maven的setting.xml里设置新版HTTPS的阿里云仓库<mirror><id>aliyunmaven</id><mirrorOf>*</mirrorOf><name>阿里云公共仓库</name><url>https://maven.aliyun.com/repository/public</url></mirror>2.然后在IDEA中设置,忽略H

2021-01-16 12:32:56 7263 1

原创 windows安装redis,配置文件详解

windows安装redis,配置文件详解修改配置文件密码时requirepass前面不要加空格!!!1、window版下载地址:https://github.com/MicrosoftArchive/redis/releases(推荐使用压缩版)2、解压到指定路径,根据下面图片,修改redis.windows.conf文件搜索关键字requirepass,设置密码3.打开cmd命令窗口(管理员),安装和注册redis到window服务,进入redis安装根目录C:\.

2021-01-07 18:01:06 694

原创 实现并发安全要注意哪些

并发安全类的线程安全定义Doug Lee:如果多线程下使用这个类,不过多线程如何使用和调度这个类,这个类总是表示出正确的行为,这个类就是线程安全的。类的线程安全表现为:操作的原子性 内存的可见性不做正确的同步,在多个线程之间共享状态的时候,就会出现线程不安全。怎么才能做到类的线程安全?栈封闭所有的变量都是在方法内部声明的,这些变量都处于栈封闭状态。无状态没有任何成员变量的类,就叫无状态的类让类不可变让状态不可变,两种方式:1,加final关键字,对于一..

2020-12-02 18:00:13 197

原创 分支-死锁和活锁详解

一、死锁的形成死锁:是指两个或两个以上的进程(或线程)在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。实际工作中,我们经常听到死锁,死锁到底是什么东西呢?那么接下来就用实际例子演示一下银行转账功能。用户转账的实体类:/** * @Author nanjunkai * @Description: 用户转账的实体类 * @Date 2020/12/1 18:08:10 */public class UserAccount { priva

2020-12-02 15:25:51 416 1

原创 线程池ThreadPoolExecutor

线程池什么是线程池?为什么要用线程池?降低资源的消耗。降低线程创建和销毁的资源消耗; 提高响应速度:线程的创建时间为T1,执行时间T2,销毁时间T3,免去T1和T3的时间 提高线程的可管理性。线程池的创建ThreadPoolExecutor,jdk所有线程池实现的父类各个参数含义 public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, ..

2020-11-26 18:34:15 110

原创 原子操作CAS,原子性操作类

原子操作CAS CAS的原理CAS(Compare And Swap),指令级别保证这是一个原子操作三个运算符: 一个内存地址V,一个期望的值A,一个新值B基本思路:如果地址V上的值和期望的值A相等,就给地址V赋给新值B,如果不是,不做任何操作。synchronized和CAS(悲观锁和乐观锁是抽象的)synchronized是悲观锁,这种线程一旦得到锁,其他需要锁的线程就挂起的情况就是悲观锁。 CAS操作的就是乐观锁,每次不加锁而是假设没有冲突而去完成某项操作,如...

2020-11-26 11:02:48 265

原创 ForkJoinPool线程池,线程的并发工具类

线程的并发工具类Fork-Join 什么是分而治之?规模为N的问题,N<阈值,直接解决,N>阈值,将N分解为K个小规模子问题,子问题互相对立,与原问题形式相同,将子问题的解合并得到原问题的解为什么使用fork join框架? * @since 1.7 * @author Doug Lea */@sun.misc.Contendedpublic class ForkJoinPool extends AbstractExecutorService {Fo.

2020-11-26 11:02:36 178

原创 线程基础

线程基础、线程之间的共享和协作基础概念CPU核心数和线程数的关系核心数:线程数=1:1 ;使用了超线程技术后---> 1:2CPU时间片轮转机制又称RR调度,会导致上下文切换什么是进程和线程进程:程序运行资源分配的最小单位,进程内部有多个线程,会共享这个进程的资源线程:CPU调度的最小单位,必须依赖进程而存在。澄清并行和并发并行:同一时刻,可以同时处理事情的能力并发:与单位时间相关,在单位时间内可以处理事情的能力高并发编程...

2020-11-26 11:02:27 76

原创 显示锁和AQS,ReentrantReadWriteLock读写锁

显示锁和AQS1.Lock和synchronized关键字的区别?synchronized会比lock消耗的性能会少一点。因为lock是一个类,使用时需要创建一个对象的实例。而lock又比synchronized使用起来更灵活。 synchronized代码简洁。Lock:获取锁可以被中断,超时获取锁,尝试获取锁,读多写少用读写锁 synchronized会自动释放锁。Lock需在finally中手工释放锁(unlock()方法释放锁),否则容易造成线程死锁; synchronized阻塞。t

2020-11-26 11:02:18 190

原创 并发容器ConcurrentHashMap

一、HashMap和HashTable、位运算HashMap和HashTableHashMap:多线程会导致HashMap的Entry链表形成环形数据结构,Entry的next节点永远不为空,就会产生死循环获取Entry。HashTable:使用synchronized来保证线程安全,但在线程竞争激烈的情况下HashTable的效率非常低下。因为当一个线程访问HashTable的同步方法,其他线程也访问HashTable的同步方法时,会进入阻塞或轮询状态。如线程1使用put进行元素添加,线程2不

2020-11-26 11:02:09 239

原创 阻塞队列

阻塞队列概念、生产者消费者模式1)当队列满的时候,插入元素的线程被阻塞,直达队列不满。2)队列为空的时候,获取元素的线程被阻塞,直到队列不空。生产者和消费者模式生产者就是生产数据的线程,消费者就是消费数据的线程。在多线程开发中,如果生产者处理速度很快,而消费者处理速度很慢,那么生产者就必须等待消费者处理完,才能继续生产数据。同样的道理,如果消费者的处理能力大于生产者,那么消费者就必须等待生产者。生产者和消费者模式是通过一个容器来解决生产者和消费者的强耦合问题。生产者和消费者彼此.

2020-11-26 11:02:01 78

原创 Java集合Collection中List,Set讲解

图解Collection概述Set和List继承Collection Set有HashSet,TreeSet,LinkedHashSet List有ArrayList,LinkedList,VectorConnection接口——List有序,可重复(因为该集合体系有索引)ArrayList底层使用的是数组结构 性能:查询快,增删慢 缺点:线程不安全private static int calculateCapacity(Object[] e...

2020-09-07 20:16:32 361

原创 java高并发之进程与线程的区别

目录理解进程与线程什么是进程,什么是线程?两者的区别是什么?进程和线程的区别图解的方式说明进程和线程的关系(重要)程序计数器为什么是私有的?虚拟机栈和本地方法栈为什么是私有的?一句话简单了解堆和方法区多进程和多线程区别Java中的多线程理解进程与线程什么是进程,什么是线程?两者的区别是什么?进程一个内存中运行的应用程序。每个进程都有自己独立的内存空间,但是一个进程中又有多个线程,比如我们Windows系统任务管理器中,一个运行的xx.exe就是一个进程。

2020-09-02 17:30:01 317

原创 mybatis 多条件批量更新

最近做到一个多条件修改功能,发现在mysql运行成功的语句,在mybatis里面却不行,所以在这里总结一下。最后还是用case when then 完成的。 &lt;update id="updateByPrimaryKeySelective" parameterType="java.util.List"&gt; update table &lt;trim...

2018-12-10 19:53:05 2561

原创 Spring框架Post请求接收不到值

Spring框架Post请求接收不到值。在servlet配置文件中加入以下代码:&lt;bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"&gt;&lt;/bean&gt;...

2018-11-28 10:42:23 918

原创 Spring框架Post请求接收乱码问题

Spring框架Post请求接收乱码问题在web.xml添加如下代码&lt;filter&gt;&lt;filter-name&gt;CharacterEncodingFilter&lt;/filter-name&gt;&lt;filter-class&gt;org.springframework.web.filter.CharacterEncodingFilter&lt;/fil...

2018-11-28 10:41:23 513

空空如也

空空如也

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

TA关注的人

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