前言: JUC中提供了很多同步工具类,比如CountDownLatch、CyclicBarrier、Semaphore等,都可以作用同步手段来实现多线程之间的同步效果 一、CountDownLatch 1.1、CountDownLatch的使用 CountDownLatch可以理解为是同步计数器,作 ...
                            
                            
                                分类:
Web程序   时间:
2020-05-24 09:26:28   
                                阅读次数:
63
                             
                    
                        
                            
                            
                                本文主要对Java并发(Concurrent)相关的概念进行说明。1.进程(Process)与线程(Thread)进程是系统资源分配的最小单元。线程是CPU调度的最小单元。一个进程至少包含一个线程,可以包含多个线程。这些线程共享这个进程的资源。每个线程都拥有独立的运行栈和程序计数器,线程切换开销小。多进程指的是操作系统同时运行多个程序,如当前操作系统中同时运行着QQ、IE、微信等程序。多线程指的是
                            
                            
                                分类:
编程语言   时间:
2020-05-22 09:21:33   
                                阅读次数:
56
                             
                    
                        
                            
                            
                                2020-05-21 22:42:36 1.1.1 程序计数器 内存空间小,内存私有,字节码解释器工作就是通过这个计数器的值来选取下一条需要执行指令的字节码指令,分支,循环,跳转,异常处理,线程恢复等基础功能都需要依赖计数器完成。 1.1.2 Java 虚拟机栈 线程私有,生命周期和线程一致。描述的 ...
                            
                            
                                分类:
编程语言   时间:
2020-05-22 00:12:20   
                                阅读次数:
68
                             
                    
                        
                            
                            
                                    1.JVM内存模型 ?程序计数器:当前线程字所执行节码的行号指示器,用于记录正在执行的虚拟机字节指令地址,线程私有。 ?Java虚拟机栈:存放基本数据类型,对象的引用,方法出口等,线程私有。 ?本地方法栈:和虚拟栈类似,不过它服务于本地方法,线程私有。 ?Java堆:Java内存中最大的一块,所有对 ...
                            
                            
                                分类:
编程语言   时间:
2020-05-21 21:18:05   
                                阅读次数:
64
                             
                    
                        
                            
                            
                                一.相关概念 GC需要完成三件事:1,哪些内存需要回收?2:什么时候回收?3:如何回收? Java内存运行时区域的各部分,其中程序计数器、虚拟机栈、本地方法栈3个区域随线程而生,随线程而灭;栈中的栈帧随着方法的进入和退出而有条不紊地执行着入栈和出栈操作。 每一个栈帧中分配多少内存基本上是在类结构确定 ...
                            
                            
                                分类:
编程语言   时间:
2020-05-21 19:17:01   
                                阅读次数:
59
                             
                    
                        
                            
                            
                                    jvm细化图: VM的内存部分则是由方法区(Method Area)、JAVA堆(Heap)、虚拟机栈(Stack)、程序计数器、本地方法栈这几部分组成;除此以外,在概念中还有一个直接内存的概念,事实上这部分内存并不属于虚拟机规范中定义的内存区域,但是因为在JDK1.4+后新加的NIO类,以及JDK ...
                            
                            
                                分类:
编程语言   时间:
2020-05-21 19:01:10   
                                阅读次数:
51
                             
                    
                        
                            
                            
                                java.util.concurrent.CyclicBarrier是用来作为加法计数器的,和CountDownLatch用法类似Demo如下: public class CyclicBarrierDemo { public static void main(String[] args) { //计 ...
                            
                            
                                分类:
其他好文   时间:
2020-05-21 16:38:30   
                                阅读次数:
60
                             
                    
                        
                            
                            
                                java.util.concurrent.CountDownLatch类是用来做减法计数器的Demo如下: public class CountDownLatchDemo { public static void main(String[] args) throws InterruptedExcep ...
                            
                            
                                分类:
其他好文   时间:
2020-05-21 16:10:01   
                                阅读次数:
55
                             
                    
                        
                            
                            
                                redis 是什么? 是完全开源免费的,用c语言编写的,是一个单线程,高性能的(key/value)内存数据库,基于内存运行并支持持久化的nosql数据库 能干嘛? 主要是用来做缓存,但不仅仅只能做缓存,比如:redis的计数器生成分布式唯一主键,redis实现分布式锁,队列,会话缓存。 去哪下?  ...
                            
                            
                                分类:
其他好文   时间:
2020-05-20 14:37:12   
                                阅读次数:
50
                             
                    
                        
                            
                            
                                    title: 深入理解Java虚拟机 date: 2020 05 14 10:58:24 tags: JVM,虚拟机 [TOC] 1.运行时数据区域 1.程序计数器 当前线程执行字节码的行号指示器 记录正在执行的虚拟机字节码指令的地址(如果正在执行的是本地方法,则为空) 2.虚拟机栈 虚拟机栈描述的 ...
                            
                            
                                分类:
编程语言   时间:
2020-05-19 22:46:31   
                                阅读次数:
72