
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
目录解决了什么问题?docker的几个概念Centos基于自动化脚本安装Centos基于yum安装docker常用命令docker images【或 | grep XXX】docker builddocker rundocker ps( | grep XXX)docker start|stop|restart container_iddocker kill container_iddocker r
目录线程池的使用线程池参数设置自己封装的线程池工具根据阿姆达尔(Amdal)定律可知[并发编程基础 - 安全性、活跃性、性能问题#性能问题],若串行度为5%那么无论使用任何技术,性能最高提升20%,所以减小串行度(减小锁粒度、算法优化等)是前提。但是除此之外使用多线程并行任务也是比较常用的手段,效果也非常明显,只是使用不好坑会非常多,所以最好深入理解其运行原理,这当然也是面试的高频。线程池的使用上
并发修改同一对象的不同属性会有问题吗?当调用Tomcat等Web服务器时,会交给Tomcat的某一线程处理请求,为了提高接口的性能缩短返回时间,将能并行的任务放到Runnable/Callable中,知道Callable能返回Future进行有返回值的结果处理,但是那样的程序写出来会比较繁琐。所有很多时候直接用Runnable + 线程安全的容器存储(比如ConcurrentHashMap)每个线
netstat -anp| grep redis;netstat -rn
散列表的时间复杂度和由来在开始散列表数据结构之前先熟悉一下数组和链表的时间复杂度,如下。那么有没有一种数据结构可以满足新增和修改的时间复杂度都小于O(n)呢?那就是散列表,并且散列表在Java中随处可见;K-V数据库redis中的全局key查询value也使用了散列表的思想。散列表也叫Hash表,新增和修改的时间复杂度近似O(1)。其思想利用了数组根据下标进行查询时,时间复杂度为 O(1),具体根
目录线程池的使用线程池参数设置自己封装的线程池工具根据阿姆达尔(Amdal)定律可知[并发编程基础 - 安全性、活跃性、性能问题#性能问题],若串行度为5%那么无论使用任何技术,性能最高提升20%,所以减小串行度(减小锁粒度、算法优化等)是前提。但是除此之外使用多线程并行任务也是比较常用的手段,效果也非常明显,只是使用不好坑会非常多,所以最好深入理解其运行原理,这当然也是面试的高频。线程池的使用上
目录AtomicIntegerctl表示了线程池的生命周期线程池状态和转换过程execute(Runnable command)添加任务,addWork(Runnable firstTask, boolean core)Worker结构执行任务,runWorker(Worker w)销毁线程,processWorkerExit在(并发编程工具 - 线程池核心参数和工作原理)理解了ThreadPoo
目录线程池的使用线程池参数设置自己封装的线程池工具根据阿姆达尔(Amdal)定律可知[并发编程基础 - 安全性、活跃性、性能问题#性能问题],若串行度为5%那么无论使用任何技术,性能最高提升20%,所以减小串行度(减小锁粒度、算法优化等)是前提。但是除此之外使用多线程并行任务也是比较常用的手段,效果也非常明显,只是使用不好坑会非常多,所以最好深入理解其运行原理,这当然也是面试的高频。线程池的使用上
并发修改同一对象的不同属性会有问题吗?当调用Tomcat等Web服务器时,会交给Tomcat的某一线程处理请求,为了提高接口的性能缩短返回时间,将能并行的任务放到Runnable/Callable中,知道Callable能返回Future进行有返回值的结果处理,但是那样的程序写出来会比较繁琐。所有很多时候直接用Runnable + 线程安全的容器存储(比如ConcurrentHashMap)每个线
目录一、CompletableFuture的API1、CompletableFuture整体结构2、按照类型分类3、按照关系分类二、CompletableFuture的demo、项目使用1、使用Demo2、自己项目上的使用并发编程时的可以并行的应用场景非常多,比如C依赖于A、B并行的结果,但是整体可以和D并行等,如果是Java8之前的话,则需要将任务封装成每个Runnable(或者Callable







