加载中
Linux之mkdir命令

Linux用来创建指定名称的目录,注意创建目录的用户需要有当前所在目录的可写权限,否则创建没有权限创建目录,并且指定的目录不能是当前目录已经存在目录。 命令格式 mkdir [选项] 目录 命令功能...

Linux之pwd命令

Linux中使用pwd来查看当前工作目录的完整路径。 命令格式 pwd [选项] 命令功能 查看当前工作目录的完整路径。 常用参数 -L, --logical 打印环境变量"$PWD"的值,可能为符号链接。 -P, --phys...

Linux之cd命令

cd 命令,是 Change Directory 的缩写,用来切换工作目录。 特殊符号 作 用 ~ 代表当前登录用户的主目录 ~用户名 表示切换至指定用户的主目录 - 代表上次所在目录 . 代表当前目录 .. 代表上级...

03/16 17:19
38
jstack处理Java中CPU100%的思路流程

模拟问题代码 构造一个死循环,造成CPU使用率100%。 > vim InfiniteLoop.java public class InfiniteLoop { public static void main(String[] args) { Runnable target; Thread thread=new....

CMS垃圾收集器停顿案例

CMS垃圾收集器从jdk1.6中开始应用,是一个老年代垃圾收集器,在JVM的发展过程中扮演了重要的历史作用,jdk1.7,jdk1.8中都可以开启使用。在jdk9中已经废弃掉了。 CMS垃圾收集器的重要缺点 由于老...

jconsole和jstack定位死锁问题

什么是死锁 死锁问题是多线程特有的问题,它可以被认为是线程间切换消耗系统性能的一种极端情况。 在死锁时,线程间相互等待资源,而又不释放自身的资源,导致无穷无尽的等待,其结果是系统任...

01/31 23:37
143
Java高并发之CountDownLatch源码分析

概述 CountDownLatch 允许一个或多个线程等待直到在其他线程中执行的一组操作完成的同步辅助。简单来说,就是 CountDownLatch 内部维护了一个计数器,每个线程完成自己的操作之后都会将计数器...

Java并发编程之CAS和AQS

什么是CAS CAS(compare and swap),字面意思比较并交换,是解决多线程并行情况下使用锁造成性能损耗的一种机制. public final boolean compareAndSet(int expect, int update) { return unsaf...

Java线程池ExecutorService中重要的方法

ExecutorService 介绍 ExecutorService是java线程池定义的一个接口,它在java.util.concurrent包中,在这个接口中定义了和后台任务执行相关的方法。 Java API对ExecutorService接口实现有两个,...

01/26 22:43
219
Java线程池ThreadPoolExecutor源码分析

继承关系 Executor接口 public interface Executor { void execute(Runnable command); } ExecutorService接口 public interface ExecutorService extends Executor { void shutdown(); Lis...

Java并发线程之线程池

初始化线程池后,把任务丢进去,等待调度就可以了,使用起来比较方便。 JAVA中Thread是线程类,不建议直接使用Thread执行任务,在并发数量比较多的情况下,每个线程都是执行一个很短的时间就任务结...

Java高并发BlockingQueue重要的实现类二

DelayQueue DelayQueue是一个无界阻塞队列,只有在延迟期满时才能从中提取元素。该队列的头部是延迟期满后保存时间最长的Delayed元素。 存放到DelayDeque的元素必须继承Delayed接口。Delayed...

Java高并发BlockingQueue重要的实现类

ArrayBlockingQueue 有界的阻塞队列,内部是一个数组,有边界的意思是:容量是有限的,必须进行初始化,指定它的容量大小,以先进先出的方式存储数据,最新插入的在对尾,最先移除的对象在头部。 pu...

01/22 23:32
205
Java高并发之BlockingQueue

简介 多线程中通过队列很容易共享数据,比如经典的生产者和消费者模型中,通过队列可以很方便的实现数据共享。假设我们有若干生产者线程,又有若干消费者线程,生产者线程可以通过队列将数据共享...

Java中J.U.C扩展组件之ForkJoinTask和ForkJoinPool

Fork/Join框架中两个核心类ForkJoinTask与ForkJoinPool,声明ForkJoinTask后,将其加入ForkJoinPool中,并返回一个Future对象。 ForkJoinPool:ForkJoinTask需要通过ForkJoinPool来执行,任务分割...

01/20 21:40
198
Java中J.U.C扩展组件之Fork,join

Fork/join介绍 Fork/join框架是java7提供的并行执行任务的框架,是把大任务分割成若干小任务,最后汇总若干小任务的执行结果得到最终的结果。它的思想与MapReduce类似。Fork把一个大任务分割成...

Java同步组件之Condition,FutureTask

Java同步组件概况 CountDownLatch : 是闭锁,通过一个计数来保证线程是否一直阻塞 Semaphore: 控制同一时间,并发线程数量 CyclicBarrier:字面意思是回环栅栏,通过它可以实现让一组线程等待至某...

Linux查看登录日志

lastlog 打印系统账号最近一次的登录记录情况,解析的是/var/log/lastlog文件,它是一个data file类型的文件,文本模式打开无法正常显示。 Username Port From Latest root pts......

01/16 21:22
187
Java同步组件之CyclicBarrier,ReentrantLock

[TOC] Java同步组件概况 CountDownLatch : 是闭锁,通过一个计数来保证线程是否一直阻塞 Semaphore: 控制同一时间,并发线程数量 CyclicBarrier:字面意思是回环栅栏,通过它可以实现让一组线程等...

Nginx中break和last的区别

先说区别 last,重写后的规则,会继续用重写后的值去匹配下面的location。 break,重写后的规则,不会去匹配下面的location。使用新的规则,直接发起一次http请求了。 Nginx 配置文件 server...

01/15 22:25
379

没有更多内容

加载失败,请刷新页面

返回顶部
顶部