随笔分类 -  并发&性能

并发和性能方面的优化,及原理阐释
摘要:1. 锁介绍 java中锁是个很重要的概念,当然这里的前提是你会涉及并发编程。 除了语言提供的锁关键字 synchronized和volatile之外,jdk还有其他多种实用的锁。 不过这些锁大多都是基于AQS队列同步器。ReadWriteLock 读写锁就是其中一个。 读写锁的含义是,将读锁与写锁 阅读全文
posted @ 2018-12-03 16:38 阿牛20 阅读(1829) 评论(0) 推荐(0) 编辑
摘要:谈到阻塞,相信大家都不会陌生了。阻塞的应用场景真的多得不要不要的,比如 生产-消费模式,限流统计等等。什么 ArrayBlockingQueue, LinkedBlockingQueue, DelayQueue... 都是阻塞队列的实现啊,多简单! 阻塞,一般有两个特性很亮眼:1. 不耗cpu的等待 阅读全文
posted @ 2018-10-07 23:46 阿牛20 阅读(7286) 评论(0) 推荐(3) 编辑
摘要:有时需要测试一下某个功能的并发性能,又不要想借助于其他工具,索性就自己的开发语言,来一个并发请求就最方便了。 java中模拟并发请求,自然是很方便的,只要多开几个线程,发起请求就好了。但是,这种请求,一般会存在启动的先后顺序了,算不得真正的同时并发!怎么样才能做到真正的同时并发呢?是本文想说的点,j 阅读全文
posted @ 2018-10-05 16:46 阿牛20 阅读(27692) 评论(0) 推荐(6) 编辑
摘要:java天生就是多线程的语言,线程安全则是一个必须的要求。 给你一段代码,你如何判定其是否是线程安全的?那么,自然就要有一套绝对的理论给你的证明提供依据了。 先行发生原则,可以帮你判定是否并发安全的,从而不必去猜测是否是线程安全了! 如果Java内存模型中所有有序性都靠volatile和synchr 阅读全文
posted @ 2018-10-01 10:53 阿牛20 阅读(1032) 评论(0) 推荐(0) 编辑
摘要:如果让你来实现一个定时器的功能,简单点就是,每隔n秒,去执行一次A任务,你打算怎么实现? 我觉得一般都能想到,使用一个死循环,然后每次循环比较时间,时间到了就去执行A任务就好了。但是这样会不会有问题?每次循环会不会性能消耗太大?别人都是怎么做的?如果有语言提供的工具,那我自然更加相信他而不是自己去实 阅读全文
posted @ 2018-09-30 12:27 阿牛20 阅读(7805) 评论(0) 推荐(0) 编辑
摘要:Kafka作为大数据时代的产物,自有其生存之道。让我们跟随扫盲班的培训,进行大致了解与使用kafka吧。(平时工作有使用不代表就知道kafka了哟) 1. kafka介绍 1.1. 拥有的能力(能干什么?) 根据官网的介绍,ApacheKafka®是一个分布式流媒体平台,它主要有3种功能: 1. 发 阅读全文
posted @ 2018-09-28 21:37 阿牛20 阅读(1031) 评论(0) 推荐(0) 编辑
摘要:CAT 由大众点评开发的,基于 Java 的实时应用监控平台,包括实时应用监控,业务监控。对于及时发现线上问题非常有用。(不知道大家有没有在用) 应用自然是最初级的,用完之后,还想了解下其背后的原理,所以有了源码阅读一说。 今天来看看 cat-client 模块,重在调用方。 打开文件,首先看一下使 阅读全文
posted @ 2018-08-15 09:44 阿牛20 阅读(4372) 评论(2) 推荐(0) 编辑
摘要:看过好多本hadoop的书,对整个过程始终存在一些疑问,今天终于搞清楚了。立个low-flag。 整体架构好复杂的感觉?其实不复杂 整体架构,namenode/metanode负责维护所有的元数据,datanode负责实际的物理存储,同一份数据datanode上必定多个副本,从而保证高可用。 hdf 阅读全文
posted @ 2018-06-14 07:35 阿牛20 阅读(423) 评论(0) 推荐(0) 编辑
摘要:不知道从什么时候开始,咱们的面试问题清单里,就明明白白写了,如何处理大流量高并发问题,如何实现高可用?所以,我也经常会去考虑这些问题(哈哈,当然不是为了面试)。 大流量,高并发问题,好像已经成了教科书类的问题,无非就是集群,分布式,缓存,读写分离,分库分表,主备,活动预热…… 如果自己仅停留在这些教 阅读全文
posted @ 2018-06-07 23:03 阿牛20 阅读(1717) 评论(0) 推荐(4) 编辑
摘要:使用本地缓存快还是使用redis缓存好? Redis早已家喻户晓,其性能自不必多说。 但是总有些时候,我们想把性能再提升一点,想着redis是个远程服务,性能也许不够,于是想用本地缓存试试!想法是不错的。那么就让我们来比较下二者的差别吧! 个人感觉就是,框架是尽量选择最优的方式进行处理,本地缓存胜。 阅读全文
posted @ 2018-06-06 09:35 阿牛20 阅读(23749) 评论(4) 推荐(8) 编辑
摘要:作为业务开发人员,能够在工作中用到的技术其实不多。虽然平时老是说什么,多线程,并发,注入,攻击!但是在实际工作中,这些东西不见得用得上。因为,我们用的框架已经把这些事做掉了。 比如web开发,外面有大量的请求进来,按理说,我们应该考虑并发问题。但其实,spring接到请求,分配到controller 阅读全文
posted @ 2018-04-30 21:09 阿牛20 阅读(1909) 评论(0) 推荐(0) 编辑
摘要:我们听过无数的道理,却仍旧过不好这一生。额,我说的是技术! 《分布式服务框架原理与实践》这本书,一直在讲一些大道理,和具体的业务和我本身的工作已经没多大关系了。但是,不管怎么样,还得总结下吧。别人的道理,并不是自己的道理!自己的的道理才是硬道理,哪怕是烂道理! 个人觉得这本书讲得太宽泛,或者说讲得不 阅读全文
posted @ 2018-01-14 21:48 阿牛20 阅读(5737) 评论(0) 推荐(2) 编辑
摘要:之前有一篇文章写到,使用while true 加sleep进行消息监听操作。然而,使用while操作,其实是一种忙等状态,会让系统很忙。那有没有一种不忙的操作的方式呢? 应该是有的,本文讲些信号量方面的知识。让我看看他都能做什么。 我们有过多线程编程经验同学肯定都知道,同步锁(如java的sychr 阅读全文
posted @ 2017-12-27 06:18 阿牛20 阅读(2420) 评论(0) 推荐(0) 编辑
摘要:负载均衡作为一个处理高并发,大流量的访问的业务场景,已经几乎是常识性的知识了。 而本文的意义在于需求:由于大流量请求,导致服务无法正常响应,在不增加购买机器成本的场景下,如何提高服务器的业务处理能力?提示为:某个服务访问频率比其他服务的访问频率要高很多,服务是用JAVA语言编写的。 一般情况下,我们 阅读全文
posted @ 2017-08-20 12:08 阿牛20 阅读(3369) 评论(0) 推荐(0) 编辑
只有注册用户登录后才能阅读该文。
posted @ 2017-07-04 16:43 阿牛20 阅读(722) 评论(9) 推荐(2) 编辑
摘要:由于涉及到h5与后端交互,跨域问题,所以公司的开放测试服务器让我们自己搞nginx。顺便提升一下nginx的实践。 nginx的安装,没什么难度了,百度一堆,如果源码安装就一步步来吧。(最简单的方式:yum install nginx (centos), apt-get install nginx( 阅读全文
posted @ 2016-12-22 12:12 阿牛20 阅读(3451) 评论(0) 推荐(0) 编辑
摘要:开发时间久了,就会接触到性能和并发方面的问题,如果说,在自己还是菜鸟的时候完全不用理会这种问题或者说有其他的高手去处理这类问题,那么,随着经验的丰富起来,自己必须要独立去处理了。或者,知道思路也行,毕竟当下,分工如此精细,你也不太可能啥都干! 面对高性能高并发的应用场景,在开发者的层面可以做很多,如 阅读全文
posted @ 2016-11-21 15:03 阿牛20 阅读(2379) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示