Welcome everyone

 分类:java

java

多线程概述

多线程概述
如果某个支持两个或者多个动作同时存在,那么这个系统就是并发系统;如果某个支持两个或者多个动作同时执行,那么这个系统就是并行系统。 在并发程序中可以同时拥有两个或者多个线程。如果程序在单核处理器上运行,那么这两个线程将会交替的换入或换出内存,这些线程是同时存在的。 如果程序能够并行...

汪明鑫 6年前 (2018-09-04) 689浏览 0评论 0喜欢

java

线程池

线程池
任务数量多时,用线程池更快 先看下Executor整体架构 那么Executors是什么? 类比Array、Arrays,Collection、Collections -s表示工具类 用底层,看顶层,想要用一个框构的底层、实现类,先要看其最顶层 public i...

汪明鑫 6年前 (2018-08-28) 820浏览 1评论 0喜欢

java

volatile

volatile
volatile保证可见性不能保证原子性   《深入理解java虚拟机》中: /** * volatile变量自增运算测试 * * @author zzm */ public class VolatileTest { public...

汪明鑫 6年前 (2018-08-28) 751浏览 3评论 0喜欢

java

Lock

Lock
Lock更灵活,功能更丰富 public interface Lock { void lock(); void lockInterruptibly() throws InterruptedException; boolean tryLock(); ...

汪明鑫 6年前 (2018-08-28) 734浏览 0评论 0喜欢

java

synchronized

synchronized
synchronized是java内置关键字,解决共享数据冲突,是一个可重入锁 synchronized( 需要一个任意的对象(锁) ){ 代码块中放操作共享数据的代码 多个线程不能同时进行的部分 } 锁就是一个标记 如果用的不是一把锁,则两...

汪明鑫 6年前 (2018-08-28) 707浏览 0评论 0喜欢

java

可重入锁

可重入锁
设计一个不可重入锁 public class Lock{ private boolean isLocked = false; public synchronized void lock() throws InterruptedException{ ...

汪明鑫 6年前 (2018-08-28) 628浏览 0评论 0喜欢

java

Get VS Post

Get VS Post
最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数。 GET请求在URL中传送的参数是有长度限制的,而POST没有。 对参数的数据类型,GET只接受ASCII字符,而POST没有限制。 GET比POST更不安全,因为参数直接暴露在URL上,所...

汪明鑫 6年前 (2018-08-28) 698浏览 0评论 0喜欢

java

CAS

CAS
【CAS    Compare and Swap】 CAS 的关键点在于,系统在硬件层面保证了比较并交换操作的原子性, 处理器使用基于对缓存加锁或总线加锁的方式来实现多处理器之间的原子操作。 CAS 是非阻塞同步的一种常见实现。 CAS不会把线程挂起,性能要好的多,通常是基于...

汪明鑫 6年前 (2018-08-28) 769浏览 0评论 0喜欢

java

idea的使用

idea的使用
ctrl + insert 添加get/set方法 Ctrl+shift+f 全文检索 shift shift  快速搜索文件 Ctrl+N按名字搜索类 Ctrl+O查看覆盖父类的方法 Ctrl+H查看类的继承关系 Ctrl+alt+t     try-catch块 ...

汪明鑫 6年前 (2018-08-22) 540浏览 0评论 0喜欢