web.xml中context-param和init-param的区别

转自:https://www.cnblogs.com/zhaoleigege/p/5807995.html <context-param>的作用: web.xml的配置中<context-param>配置作用 1.启动一个WEB项目的时候...

2019-04-26 10:06:16

阅读数 15

评论数 0

虚拟机centos6网卡配置及提示Device does not seem to be present

参照这两个博客: https://blog.csdn.net/vitaminc4/article/details/76061988 https://blog.csdn.net/xiaobei4929/article/details/40515247

2019-03-26 15:12:55

阅读数 71

评论数 0

JUC之深入理解ReentrantReadWriteLock

ReentrantReadWriteLock ,读写锁,是用来提升并发程序性能的锁分离技术的 Lock 实现类。可以用于 “多读少写” 的场景,读写锁支持多个读操作并发执行,写操作只能由一个线程来操作。 ReadWriteLock 使得你可以同时有多个读取者,只要它们都不试图写入即可。如果写锁已...

2019-03-21 17:25:45

阅读数 59

评论数 0

JUC之深入理解ReentrantLock

1. 简介 ReentrantLock,可重入锁,是一种递归无阻塞的同步机制。它可以等同于 synchronized 的使用,但是 ReentrantLock 提供了比 synchronized 更强大、灵活的锁机制,可以减少死锁发生的概率。 一个可重入的互斥锁定 Lock,它具有与使用 s...

2019-03-20 11:43:12

阅读数 34

评论数 0

JUC之深入理解AQS

java.util.concurrent.locks.AbstractQueuedSynchronizer 抽象类,简称 AQS ,是一个用于构建锁和同步容器的同步器。事实上concurrent 包内许多类都是基于 AQS 构建。例如 ReentrantLock,Semaphore,CountDo...

2019-03-19 11:07:48

阅读数 51

评论数 0

算法练习之剑指offer

参照CYC大佬和牛客上面别人的解法,并结合自己的理解 连接:https://github.com/JDawnF/offer

2019-03-16 20:57:59

阅读数 24

评论数 0

算法练习之LeetCode

参照CYC大佬给出的题解,加上自己的理解。 连接:https://github.com/JDawnF/LeetCode

2019-03-16 20:56:45

阅读数 19

评论数 0

Java 自定义比较器:Comparator 和 Comparable

这两个接口都是为了实现比较而用到的,当想要比较两个对象的时候,就可以实现这两个接口,参照:https://blog.csdn.net/u012289441/article/details/45154401?ref=myread 主要补充: PriorityQueue&lt...

2019-03-03 12:02:55

阅读数 41

评论数 0

spring与线程安全

https://blog.csdn.net/csdnlijingran/article/details/83094756

2019-02-18 18:57:09

阅读数 38

评论数 0

多线程之阻塞队列

一、概述 阻塞队列(BlockingQueue)是一个支持两个附加操作的队列。这两个附加的操作支持阻塞的插入和移除方法。 1)支持阻塞的插入方法:意思是当队列满时,队列会阻塞插入元素的线程,直到队列不满。 2)支持阻塞的移除方法:意思是在队列为空时,获取元素的线程会等待队列变为非空。   ...

2019-02-10 17:45:58

阅读数 132

评论数 0

AQS组件之CyclicBarrier

前面已经介绍了AQS及其两个组件,接下来看看CyclicBarrier这个组件。 一、简介 CyclicBarrier是另一种多线程并发控制使用工具,和CountDownLatch非常类似,他也 可以实现线程间的计数等待,但他的功能要比CountDownLatch更加强大一些。 Cyclic...

2019-02-06 17:59:58

阅读数 48

评论数 0

AQS组件之Semaphore

在前两篇说了AQS和CountDownLatch,现在我们来看看Semaphore。 synchronized 和 ReentrantLock 都是一次只允许一个线程访问某个资源,Semaphore(信号量)可以指定多个线程同时访问某个资源。 ​ 用于保证同一时间并发访问线程的数目。信号量在操...

2019-02-05 22:20:24

阅读数 23

评论数 0

什么是AQS及其原理

GitHub:https://github.com/JDawnF 1、AQS简介 AQS全名:AbstractQueuedSynchronizer,是并发容器J.U.C(java.lang.concurrent)下locks包内的一个类。它实现了一个FIFO(FirstIn、FisrtOut先...

2019-02-03 23:49:59

阅读数 94

评论数 0

AQS组件之CountDownLatch

GitHub:https://github.com/JDawnF 一、CountDownLatch简介 CountDownLatch是一个同步工具类,用来协调多个线程之间的同步。这个工具通常用来控制线程等待,它可以让某一个线程等待直到倒计时结束,再开始执行。 通过一个计数来保证线程是否需...

2019-02-03 22:42:52

阅读数 36

评论数 0

CopyOnWriteArrayList源码分析

前言: 当我们想要用ArrayList,又想要保证线程安全的时候,可以考虑使用CopyOnWriteArrayList这个类。因为如果使用Vector的话,虽然可以保证线程安全,但是因为在Vector里面是用synchronized修饰的,所以开销会比较大。因此考虑使用CopyOnWriteAr...

2019-02-01 21:32:40

阅读数 38

评论数 0

servlet/tomcat等容器/springMVC之间的关系及声明周期

转自:https://www.jianshu.com/p/406a09136a18 生命周期:https://www.cnblogs.com/lgk8023/p/6427977.html Servlet是JavaEE规范的一种,主要是为了扩展Java作为Web服务的功能,统一接口。由其他内部厂...

2019-02-01 10:44:14

阅读数 213

评论数 0

java内存模型之双重检测锁和延迟初始化

1 双重检查锁定及其存在的问题 在单例模式中,普通的单例模式是线程不安全的,如下: //懒汉式,线程不安全 public static class SingleTon2 { public static SingleTon2 instance = null; private ...

2019-01-26 22:38:09

阅读数 45

评论数 0

Java内存模型之final的内存语义和happens-before

一、final域的内存语义 1 final域的重排序规则 对于final域,编译器和处理器要遵守两个重排序规则: 1)在构造函数内对一个final域的写入,与随后把这个被构造对象的引用赋值给一个引用变量,这两个操作之间不能重排序。(即对构造函数的写入要在这个对象被其他线程看到之后) 2)初...

2019-01-26 22:36:31

阅读数 47

评论数 0

java内存模型之volatile和锁的内存语义

1.volatile的内存语义 1.1 volatile的特性 可以把对volatile变量的单个读/写,看成是使用同一个锁对这些单个读/写操作做了同步。如下面的例子: class VolatileFeaturesExample { volatile long vl = 0L; // 使...

2019-01-26 22:33:52

阅读数 72

评论数 0

java内存模型之重排序和顺序一致性

1 Java内存模型的基础 1.1 并发编程模型的两个关键问题 在并发编程中,需要处理两个关键问题:线程之间如何通信及线程之间如何同步(这里的线程是指并发执行的活动实体)。通信是指线程之间以何种机制来交换信息。 在命令式编程中,线程之间的通信机制有两种:共享内存和消息传递。在共享内存的并发模...

2019-01-26 22:26:34

阅读数 57

评论数 0

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