Iml
Iml
全部文章
分类
Java基础(3)
Java集合(5)
JVM(13)
LeetCode(3)
RabbitMQ(1)
Redis(6)
Solr(1)
SpringMVC(2)
剑指offer(52)
多线程与高并发(10)
数据库(2)
未归档(44)
计算机网络(3)
设计模式(1)
归档
标签
去牛客网
登录
/
注册
代码学习之路
我之为我,只在异人处
全部文章
(共146篇)
线程和进程
1.1.什么是线程和进程? 进程: 进程是程序的一次执行过程,是系统运行程序的基本单位,因此进程是动态的。系统运行一个程序即是一个进程从创建,运行到消亡的过程。 在 Java 中,当我们启动 main 函数时其实就是启动了一个 JVM 的进程,而 main 函...
2019-06-29
0
623
AQS
1.1.AQS 介绍 AQS 的全称为(AbstractQueuedSynchronizer),类如其名,抽象的队列式的同步器,AQS定义了一套多线程访问共享资源的同步器框架,这个类在 java.util.concurrent.locks 包下面。 参考资料:https://www.cnblog...
2019-06-28
0
844
Atomic 原子类
1.1.介绍一下 Atomic 原子类 Atomic 翻译成中文是原子的意思。在化学上,我们知道原子是构成一般物质的最小单位,在化学反应中是不可分割的。在我们这里 Atomic 是指一个操作是不可中断的。即使是在多个线程一起执行的时候,一个操作一旦开始,就不会被其他线程干扰。 所以,所谓原子类说...
2019-06-28
0
715
线程池
1.1. 为什么要用线程池? 这里借用《Java 并发编程的艺术》提到的来说一下使用线程池的好处: 降低资源消耗==》通过重复利用已创建的线程降低线程创建和销毁造成的消耗。 提高响应速度==》当任务到达时,任务可以不需要的等到线程创建就能立即执行。 提高线程的可管理性==》线程是稀...
2019-06-27
0
547
ThreadLocal深入学习
1.1. ThreadLocal简介 通常情况下,我们创建的变量是可以被任何一个线程访问并修改的。如果想实现每一个线程都有自己的专属本地变量该如何解决呢? JDK中提供的ThreadLocal类正是为了解决这样的问题。 ThreadLocal类主要解决的就是让每个线程绑定自己的值,可以将Threa...
2019-06-27
0
692
volatile关键字深入学习
1.1、讲一下Java内存模型 在 JDK1.2 之前,Java的内存模型实现总是从主存(即共享内存)读取变量。而在当前的 Java 内存模型下,线程可以把变量保存本地内存(比如机器的寄存器)中,而不是直接在主存中进行读写。这就可能造成一个线程在主存中修改了一个变量的值,而另外一个线程还继续使用它...
2019-06-27
0
1230
synchronized 关键字深入学习
1.1. 说一说自己对于 synchronized 关键字的了解 synchronized关键字解决的是多个线程之间访问资源的同步性,synchronized关键字可以保证被它修饰的方法或者代码块在任意时刻只能有一个线程执行 另外,在 Java 早期版本中,synchronized属于重量级锁,...
2019-06-27
0
553
Collection集合-Queue(LinkedList,PriorityQueue)
Queue LinkedList:可以用它来实现双向队列。 PriorityQueue:基于堆结构实现,可以用它来实现优先队列。
2019-06-25
0
528
Collection集合-List(ArrayList,Vector,LinkedList)
List集合 List集合有三个实现类:ArrayList、Vector、LinkedList; 1、ArrayList 特点:内部是数组实现,元素可以重复,允许元素的快速随机访问,线程不安全,当容量不足时,需要将数组元素复制移动到新数组,开销较大; 1.1、源码分析 1、概述 因为 Ar...
2019-06-25
0
584
Redis作为消息队列与RabbitMQ的比较
Redis 是一个Key-Value的NoSQL数据库,开发维护很活跃,虽然它是一个Key-Value数据库存储系统,但它本身支持MQ功能,所以完全可以当做一个轻量级的队列服务来使用。 对于RabbitMQ和Redis的入队和出队操作,各执行100万次,每10万次记录一次执行时间。测试数据分为12...
2019-06-22
0
892
首页
上一页
1
2
3
4
5
6
7
8
9
10
下一页
末页