摘要:
1 java与C和C++相比的优势 begin 1.1 java纯面向对象,万事万物皆对象 1.2 平台无关性: 编译器把java代码编译为中间代码(字节码),字节码与平台无关,在java虚拟机(JVM)上即可执行 1.3 提供了很多内置类库,简化了开发人员的程序设计工作,缩短了项目开发时间:如多线 阅读全文
摘要:
一 概念 AQS(AbstractQueuedSynchronizer) 抽象的队列同步器,它提供了一个FIFO队列(即普通先进先出队列),可以看成是一个用来实现同步锁以及其他涉及到同步功能的核心组件,常见的有:ReentrantLock、CountDownLatch等。 AQS是一个抽象类,主要是 阅读全文
摘要:
详情见下面链接 https://blog.csdn.net/en_joker/article/details/84761611 转载孤芳不自賞 阅读全文
摘要:
ArrayList的方法subList() 分割集合的一段出来使用 demo List<String> sourceList = new ArrayList<>(); sourceList.add("11"); sourceList.add("22"); sourceList.add("33"); 阅读全文
摘要:
一 java-锁 目的 目的:防止多线程执行某段代码时导致的数据异常,互相干扰,所以把某段代码块加上锁,保证其原子性 二 使用 synchronized关键字 (java语言内置锁) 2.1 单独使用于对象,使用对象锁 //object 对象object object_lock = new obje 阅读全文
摘要:
一 概念 在计算机中比较和交换(Compare And Swap 即 CAS)是用于实现多线程同步的原子指令,当多个线程对某个资源进行CAS操作,只能有1个线程成功,其他线程并不会阻塞而是返回失败信号。 二 基本原理 每个CAS包含3个运算符1 内存地址 V2 旧的预期值A3 新值B 基本思路,如果 阅读全文
摘要:
一 功能简介 hashMap与concurrentHashMap 都属于集合,用于存储键值对数据,它两最明显的区别是,hashMap是非线程安全的,concurrentHashMap是线程安全的, concunrrentHashMap还有另外的称呼,如 并发容器 概述 HashMap jdk 1.7 阅读全文
摘要:
一 线程池的概念 线程池的基本思想还是一种对象池的思想,开辟一块内存空间,里面存放了众多(未死亡)的线程,池中线程执行调度由池管理器来处理。当有线程任务时, 从池中取一个,执行完成后线程对象归池,这样可以避免反复创建线程对象所带来的性能开销,节省了系统的资源。 通俗点说就是当有工作来,就会向线程池拿 阅读全文
摘要:
一 功能介绍 1.1 ArrayList 底层是基于数组,在内存中分配连续内存空间,非线程安全 长度大小的自管理: 采取延迟分配对象数组大小空间的,当第一次添加元素时才会分配10个对象空间(即ArrayList 默认长度为10),每次超过都按1.5倍扩容(内部实现:先复制新数组,再添加新元素到新数组 阅读全文