多线程
文章平均质量分 79
ESOO
君子不器
展开
-
java必备——进程?线程?
编程中一些晦涩难懂的概念,我们的生活中也许早就已经实践着,且比比皆是,几百万年的进化,使我们的生活中存在着极大的智慧,学习中,生活就是我们最好的老师,我们要懂得利用这个巨大的资源!原创 2014-03-26 14:27:31 · 2372 阅读 · 40 评论 -
jstack分析cpu占用高应用
第一步:查看进程号top命令发现某个进程(pid)占用cpu达到很高 第二步:查看哪个线程占用最多资源ps p pid -L -o pcpu,pid,tid,time,tname,stat,psr |sort -n -k1 -r; (命令查看这个进程下面的所有线程占用情况,pid 替换为查找到的pid数字)第三步:jstack输出堆栈信息:jstack pid 进行查看...原创 2018-07-24 17:24:52 · 4853 阅读 · 2 评论 -
flume高并发优化——(7)RandomAccessFile升级多文件source
本篇文章旨在解决tail文件io断裂问题,我们使用linux原生的tail ,启动多个线程,做到对多个文件的数据收集,但是,随着业务日志增多,日志以日期分割,是个常用的做法,但是这样,就使得我们的flume插件在日期交换的凌晨,出现io断裂,造成不能继续收集数据原创 2016-05-11 11:54:02 · 5474 阅读 · 2 评论 -
flume高并发优化——(2)精简结构
大家在上篇博客中,可以看到,对flume本身的优化,我们可以说是一个较大的进步,但是,后期梳理时,发现,数据的处理经过了很多没有必要的步骤,我们的处理有些多余,但是精简哪里,又成为了一个问题,本篇博客带领大家一起看看,精简的关键位置及效果。还是老样子,大家会议上篇博客的架构: 不难看出,有一个性能点就是从主端口下发的时候,三个端口到es的过程中,为了让数据有较好的缓冲,我们使用了ka原创 2016-04-25 16:51:27 · 8220 阅读 · 9 评论 -
项目修炼之路(3)3百亿交易额的处理
如何让百亿交易,数百个产品的交易,普通pc机上,20分钟内完成,在这里,我们一起探讨原创 2016-01-29 18:06:16 · 1752 阅读 · 4 评论 -
java集群优化——Nginx+tomcat集群配置-实践篇
一个好的工具,不仅仅是实现了好的功能,还有更重要的一点就是,一定要有更简单的业务逻辑,这样用户在使用这款工具的时候才能顺利过渡,而Nginx这款软件,对于广大开发者恰恰符合这两个要求,不用心,用户就会体会到,用心了,就是让用户体会不到,离不开!这不就是互联网产品的思维吗?原创 2015-08-06 20:43:02 · 4693 阅读 · 8 评论 -
Java集群优化——dubbo+zookeeper构建高可用分布式集群
互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,Dubbo是一个分布式服务框架,在这种情况下诞生的。现在核心业务抽取出来,作为独立的服务,使前端应用能更快速和稳定的响应。第一:介绍Dubbo背景 大规模服务化之前,应用可能只是通过RMI或Hessian等原创 2015-08-14 21:28:35 · 45245 阅读 · 7 评论 -
Java集群优化——必须了解的内存溢出与内存泄露
我们操作某些变量,ide环境给我们提供了非常好的便利性,jvm为我们封装了优秀的自动垃圾回收机制,但是,我们还是那句话,人是不可靠的,这句话使我们反复认识自己,同样,内存的问题,我们也要深入研究,因为这是大型软件优化不可避免的地方!原创 2015-08-14 20:25:04 · 3908 阅读 · 7 评论 -
Java IO:了解I/O模型
初听IO,我也是一头雾水,难道除了写入,读出,还有其他的吗?的确在IO的世界中,只有写入读出,但是业务不同,选择的框架不同,IO也会表现不一,而在互联网编程中,IO编程,越来越成为瓶颈,这次,咱们一起来学习下,当下流线个IO概念,下面从同步和异步的概念 说起,然后是阻塞和非阻塞的区别及阻塞IO和非阻塞IO的区别,然后介绍同步IO和异步IO的区别,接下来介绍了5种IO模型,最后介绍了两种和高性能IO原创 2015-08-14 19:47:05 · 2155 阅读 · 5 评论 -
java集群优化——Nginx+tomcat集群配置-理论篇
我们了解一个道理,就是数据的增长是我们必然面对的问题,因为在技术日益变化的当下,我们收集数据的方式和存储及处理技术不断升级,迫使我们面对这一问题,并且,在数据挖掘日益火热的今天,我们也要对这样的问题加以重视,改变在所难免! 我们曾经想过,在极致优化的情况下,一台普通服务器,是可以挖掘出无穷的潜力的,我的们的确曾做到这一点,用一台2万元的设备,承载了同时1万余人的并发,但是随着技术的衍生,我们需要更灵活地处理应用,我们需要更及时的响应速度,我们需要实时地对数据进行分析和处理!这时,我们必然接触一个词汇原创 2015-08-03 09:00:49 · 5253 阅读 · 9 评论 -
java集群优化——初探多线程
要想使用多线程,咱们就有必要先了解下多线程,在不久以前,我写过相关的文章,在这简单回顾下,一个程序加上数据,就构成了一个进程,就好比快递公司是个进程,快递公司的方法就是送快递,快递员好比线程,他们都是送快递,只是负责区域不同,那么最简单的多线程是怎么实现的呢? 简单说实现多线程有很多种方法,而java这里主要有两种,一种是继续Thread类,另外一种是实现Runable接口,我们今原创 2015-06-30 01:09:05 · 2687 阅读 · 6 评论 -
java集群优化——多线程下的单例模式
在最初学习设计模式时,我为绝佳的设计思想激动不已,在以后的工程中,多次融合设计模式,而在当下的设计中,我们已经觉察出了当初设计模式的高瞻远瞩,但是也有一些不足,需要我们去改进,有人说过,世界上没有绝对的事,当然,再简单的事情,环境变了,也会发生变化,今天和大家一起分享在多线程下单例模式的优化。 细节的优化,就像雕琢一件艺术品,我们接触的高人越多,这样的思想就越浓厚,所以,我们常常判断一个人事怎么的品格与素质,通过他接触的人,朋友就可以推测出来,而计算机内,也是如此,我们接触的优秀框架多了,自原创 2015-07-28 17:13:23 · 4535 阅读 · 9 评论 -
深入浅出SQL Server中的死锁
简介 死锁的本质是一种僵持状态,是多个主体对于资源的争用而导致的。理解死锁首先需要对死锁所涉及的相关观念有一个理解。 一些基础知识 要理解SQL Server中的死锁,更好的方式是通过类比从更大的面理解死锁。比如说一个经典的例子就是汽车(主体)对于道路(资源)的征用,如图1所示。 图1.对于死锁的直观理解 在图1的例子中,每队转载 2015-08-07 19:35:09 · 1145 阅读 · 7 评论 -
Java 并发编程 常见面试总结
目录一. Socket流阻塞二. wait和notify三. 线程实现的两种方式四. synchronized同步代码块示例五. ReentrantLock的方法示例六. Lock和synchronized的一些区别和选择考虑的因素七. Java并发包中的线程池种类及其特性介绍八. 线程池&Future九. BlockingQueue十. vola...原创 2019-08-04 09:05:18 · 718 阅读 · 0 评论