IDE工具
2穿越红尘2
这个作者很懒,什么都没留下…
展开
-
【常用快捷键】intellij idea 中类似Eclipse自动补全变量名称和属性名称的快捷键
intellij idea 默认快捷键模式下自动补全变量名称 : Ctrl + Alt + v自动补全属性名称 : Ctrl + Alt + f原创 2016-10-31 23:33:31 · 28107 阅读 · 3 评论 -
Java线程池工作过程
【Java线程池工作过程】线程池刚创建时,里面没有一个线程。任务队列是作为参数传进来的。不过,就算队列里面有任务,线程池也不会马上执行它们。当调用 execute() 方法添加一个任务时,线程池会做如下判断:a) 如果正在运行的线程数量小于 corePoolSize,那么马上创建线程运行这个任务;b) 如果正在运行的线程数量大于或等于 corePoolSize,那么将这个任务放入队...原创 2019-09-15 23:37:44 · 976 阅读 · 0 评论 -
Java中synchronized 和 ReentrantLock 的区别?
两者的共同点:都是用来协调多线程对共享对象、变量的访问都是可重入锁,同一线程可以多次获得同一个锁都保证了可见性和互斥性两者的不同点:4. ReentrantLock 显示的获得、释放锁,synchronized 隐式获得释放锁5. ReentrantLock 可响应中断、可轮回,synchronized 是不可以响应中断的,为处理锁的不可用性提供了更高的灵活性6. Reentra...原创 2019-06-10 23:09:13 · 1215 阅读 · 1 评论 -
Java线程池的原理
一、线程池的特点线程池做的工作主要是控制运行的线程的数量,处理过程中将任务放入队列,然后在线程创建后启动这些任务,如果线程数量超过了最大数量超出数量的线程排队等候,等其它线程执行完毕,再从队列中取出任务来执行。他的主要特点为:线程复用;控制最大并发数;管理线程。二、线程池的原理每一个 Thread 的类都有一个 start 方法。 当调用 start 启动线程时 Java 虚拟机会调用该类的...原创 2019-06-04 00:05:47 · 138 阅读 · 0 评论 -
Java如何在两个线程之间共享数据?
Java 里面进行多线程通信的主要方式就是共享内存的方式,共享内存主要的关注点有两个:可见性和有序性原子性。Java内存模型(JMM)解决了可见性和有序性的问题,而锁解决了原子性的问题,理想情况下我们希望做到“同步”和“互斥”。有以下常规实现方法:将数据抽象成一个类,并将对这个数据的操作作为这个类的方法,这么设计可以和容易做到同步,只要在方法上加”synchronized“将R...原创 2019-09-15 23:38:27 · 3107 阅读 · 2 评论 -
Java中 volatile 关键字的作用
Java 语言提供了一种稍弱的同步机制,即 volatile 变量,用来确保将变量的更新操作通知到其他线程。volatile变量具备两种特性,volatile 变量不会被缓存在寄存器或者对其他处理器不可见的地方,因此在读取 volatile类型的变量时总会返回最新写入的值。特点变量可见性:其一是保证该变量对所有线程可见,这里的可见性指的是当一个线程修改了变量的值,那么新的值对于其他线程...原创 2019-09-15 23:38:05 · 851 阅读 · 0 评论 -
Xshell无法连接虚拟机解决办法
网络连接是否被占用 .防火墙是否关闭了.网线是否插好了.原创 2017-03-04 18:27:59 · 866 阅读 · 0 评论