
Java多线程
文章平均质量分 90
姬姬姬
深圳某IT企业底层码农
展开
-
Java HashMap解读
Java HashMap解读Hash表介绍Hash函数本质是建立一个值-索引的映射关系,通过这个映射关系来节约遍历列表的时间,是一种权衡了时间和空间消耗的算法,当出现Hash冲突后,可以采用链地址,哈希再散列等方法来解决Java中计算HashCodeJava中自带的hashCode方法是一个Native方法,具体实现在C代码中,主要通过将对象的地址位移来制造随机数,进而作为对象的哈希值但...原创 2020-02-08 17:25:28 · 262 阅读 · 0 评论 -
Java线程池
参考博文:https://blog.youkuaiyun.com/javazejian/article/details/508905541. Executor框架浅析1.1 为什么要使用线程池在Java中,线程的创建和销毁需要一定的开销,如果我们为每一个任务创建一个新的线程来执行的话,那么这些线程的创建与销毁将消耗大量的计算资源。同时为每一个任务创建一个新线程来执行,这样的方式可能会使处于高负荷状态的...原创 2018-10-12 14:28:56 · 232 阅读 · 0 评论 -
ArrayBlockingQueue&LinkedBlockingQueue
本文参考资料:https://blog.youkuaiyun.com/javazejian/article/details/77410889一. 拥塞队列概要阻塞队列与我们平常接触的普通队列(LinkedList或ArrayList等)的最大不同点,在于阻塞队列支持阻塞添加和阻塞删除方法阻塞添加所谓的阻塞添加是指当阻塞队列元素已满时,队列会阻塞加入元素的线程,直队列元素不满时才重新唤醒线程执行元素加...原创 2018-10-16 09:36:41 · 214 阅读 · 0 评论 -
Java synchronized锁详解
Java synchronized锁详解Synchronized关键字的两种用法修饰实例方法作用于非静态方法,此时synchronized保护的是TheadA的一个对象的method方法,是对象锁修饰静态方法作用于静态方法,此时锁为类锁,不同对象使用该方法时都会发生互斥现象.修饰代码块当其为this时,则是对象锁,当起为this.getClass()时,则是类锁.Syn...原创 2018-10-09 15:43:13 · 286 阅读 · 0 评论 -
Java volatile关键字和内存模型JMM
1. Java 内存区域2.Java内存模型(JMM)概述JVM运行程序的实体是线程,而每个线程创建时JVM都会为其创建一个工作内存(有些地方称为栈空间),用于存储线程私有的数据,而Java内存模型中规定所有变量都存储在主内存,主内存是共享内存区域,所有线程都可以访问,但线程对变量的操作(读取赋值等)必须在工作内存中进行,首先要将变量从主内存拷贝的自己的工作内存空间,然后对变量进行操作,操作...原创 2018-10-09 16:06:34 · 186 阅读 · 0 评论 -
AOP详解
参考资料:https://blog.youkuaiyun.com/javazejian/article/details/56267036一. AOP是什么1.AOP简介AOP的出现确实解决外围业务代码与核心业务代码分离的问题,但它并不会替代OOP,如果说OOP的出现是把编码问题进行模块化,那么AOP就是把涉及到众多模块的某一类问题进行统一管理 AspectJ是一个java实现的AOP框架,它能够对...原创 2018-10-17 10:02:13 · 272 阅读 · 0 评论