0x01:Phaser Phaser 是一个更加复杂和强大的同步辅助类,对 CountDownLatch 与 CyclicBarrier 的全面升级,是一个 java 并发 api 的一个重量级类。 常用api: arriveAndAwaitAdvance() 每凑齐指定人数就报团执行一次,同一个线 ...
分类:
其他好文 时间:
2021-02-03 11:00:51
阅读次数:
0
线程池基本机制 线程池是一种池化资源,其主要解决重复创建线程带来的额外开销。线程池的设计使用了生产者-消费者模型。向线程池中提交一个计算任务,执行提交动作的线程是生产者,线程池中的线程作为消费者来执行具体的计算。 Executor和ExecutorService Java中Executor是线程池的 ...
分类:
编程语言 时间:
2021-02-03 10:58:10
阅读次数:
0
各种feature的实现 执行shell 处理时间 处理参数 处理文件 logging test 多线程、进程,并发 语言 python groovy scala java C++ C shell go 执行shell, check output groovy a= "ls".execute(); ...
分类:
编程语言 时间:
2021-02-03 10:42:48
阅读次数:
0
每个task处理一个partition,一个文件的大小/128M就是task的数量 Task的最大并发数 当task被提交到executor之后,会根据executor可用的cpu核数,决定一个executor中最多同时运行多少个task。 默认情况下一个task对应cpu的一个核。如果一个exec ...
分类:
其他好文 时间:
2021-02-02 11:14:58
阅读次数:
0
为什么要用JKI SMO? 1、习惯了使用JKI State Machine; 2、JKI State Machine 是单进程的,无法处理多任务并发系统; 3、对OOP知之甚少,绕过OOP设计的复杂性。 安装工具包 Demo演示: 需求:采集电压并显示,超过3.5V时,报警提示。 分析:需要2个S ...
分类:
其他好文 时间:
2021-02-02 10:52:05
阅读次数:
0
CMS是老年代垃圾收集器,在收集过程中可以与用户线程并发操作。它可以与Serial收集器和Parallel New收集器搭配使用。CMS牺牲了系统的吞吐量来追求收集速度,适合追求垃圾收集速度的服务器上。可以通过JVM启动参数:-XX:+UseConcMarkSweepGC来开启CMS。 CMS收集过 ...
分类:
其他好文 时间:
2021-02-02 10:50:16
阅读次数:
0
什么是数据库缓存 数据库的数据都存储在磁盘中,在高并发场景下,业务应用对MySQL产生的增删改查操作造成巨大的IO开销和查询压力,这无疑对数据库和服务器都是一种巨大的压力,为了解决此类问题,缓存数据的概念应运而生。 常见的缓存形式:内存缓存、文件缓存。 极大地解决数据库服务器的压力 提高应用数据的响 ...
分类:
数据库 时间:
2021-02-02 10:49:49
阅读次数:
0
Semaphore 美[?sem?f??r] 信号量Semaphore 可以用于做流量控制,特别是公用资源有限的应用场景,比如数据库连接。Semaphore的构造方法 Semaphore(int permits)接受一个整型的数字,表示可用的许可证数量。Semaphore(10)表示允许10个线程获 ...
分类:
编程语言 时间:
2021-02-01 12:46:58
阅读次数:
0
在开始本篇的内容前,我们先来思考几个问题。 我们先来看一段简单的代码: void func(int a) { if (a > 100000000) return; int arr[100] = {0}; func(a + 1);} 你能看出这段代码会有什么问题吗? 我们在之前的文章《高性能高并发服务 ...
分类:
其他好文 时间:
2021-02-01 12:35:41
阅读次数:
0
迭代器: 迭代的过程中不能增删元素,否则会产生并发修改异常。 注意 迭代 和 迭代器 的区别,迭代器 是用来 迭代 集合 的工具。 练习:某公司有多个人,每个人有不同数量的钱,用迭代器求出公司里所有男人钱的总数: (注意:next方法做两件事:返回当前指向的元素,并指向下一个元素) class Em ...
分类:
编程语言 时间:
2021-02-01 12:27:33
阅读次数:
0