![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
分布式-并发-性能
小雷FansUnion
懂商业的技术合伙人。个人微信:FansUnion
微信订阅号:XiaoLeiFansUnion。
展开
-
分布式系统的本质:拆分+连接
老鸟,总结的就是好啊,成功地抓住了问题的本质。著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。作者:林建入链接:https://www.zhihu.com/question/22764869/answer/56011081来源:知乎题主问的是 Java,不过这个问题其实不局限于 Java,因此我试着以“分布式”本身来回答。一、三个步骤完成华丽转身——任意软件变为“分布式”分布式转载 2015-12-18 20:02:48 · 1589 阅读 · 2 评论 -
Java并发和多线程1:并发框架基本示例
Executor框架是指java 5中引入的一系列并发库中与executor相关的一些功能类,其中包括ThreadPool,Executor,Executors,ExecutorService,CompletionService,Future,Callable等。并发编程的一种编程方式是把任务拆分为一系列的小任务,即Runnable,然后在提交给一个Executor执行,Executor.exec原创 2015-12-30 09:08:03 · 2108 阅读 · 0 评论 -
Java并发和多线程:序
最近,和不少公司的“大牛”聊了聊,其中很多是关于“并发和多线程”、“系统架构”、“分布式”等方面内容的。不少问题,感觉自己表达的不够清晰。 这里面就存在一个“典型问题”和“现象”了:能够根据已有经验和学习能力,把遇到的问题都解决,但是并不能很好地表达出来。 生活中的很多事情,都是“相互选择”“相互考察”的双向问题,你站在“甲方”和“乙方”两个立场,判断往往是不同的。 不能改原创 2015-12-29 21:44:46 · 2011 阅读 · 0 评论 -
性能优化攻略
性能优化攻略:概述性能优化的 指标(执行时间、CPU时间、内存分配、磁盘吞吐量、网络吞吐量、响应时间),性能瓶颈(磁盘IO、网络、CPU、异常、数据库、锁竞争、内存)。原创 2013-12-08 11:48:09 · 4419 阅读 · 0 评论 -
一个Web报表项目的性能分析和优化实践(七):性能监测工具JavaMelody
JavaMelody 能够监测Java或Java EE应用程序服务器,并以图表的方式显示:Java内存和Java CPU使用情况,用户Session数量,JDBC连接数,和http请求、sql请求、jsp页面与业务接口方法(EJB3、Spring、 Guice)的执行数量,平均执行时间,错误百分比等。图表可以按天,周,月,年或自定义时间段查看。原创 2013-11-30 09:18:44 · 3800 阅读 · 2 评论 -
一个Web报表项目的性能分析和优化实践(六):设置MySQL的最大连接数(max_connections)
就是这么一个简单的事,花了几个小时,查询很多资料,请教好友同事“飞鸟”,才搞定这个问题。问题中存在问题,问题中存在陷阱,是这个问题的真实写照。原创 2013-11-06 15:42:48 · 3528 阅读 · 0 评论 -
一个Web报表项目的性能分析和优化实践(五):重构有助于性能优化么?
重构是否有助于性能优化,是一个见仁见智的问题。根据我有限的重构和优化经验,只能说,“重构有助于优化性能,但作用有限”。打个比喻,当你学画画,想要画一个苹果的时候,“把苹果洗干净”是否有助于你画出一个逼真的苹果呢?你是怎么看待这个问题的呢?愿闻其详...原创 2013-11-04 17:13:58 · 3048 阅读 · 8 评论 -
一个Web报表项目的性能分析和优化实践(四):MySQL建立索引,唯一索引和组合索引
1.为所有的表建立了唯一索引,索引字段是主键id。2.对Data表建立组合索引。建立索引之前,需要花费2.796秒。建立索引之后,只需要0.136秒。原创 2013-11-01 09:35:13 · 3401 阅读 · 2 评论 -
一个Web报表项目的性能分析和优化实践(三) :提高Web应用服务器Tomcat的内存配置,并确认配置正确
上一篇,总体讲述了项目中的一些情况。小试牛刀,统一显示了Web项目SQL语句的执行时间。本篇,将重点介绍提高Web应用服务器Tomcat的内存配置,并确认配置正确的方法。原创 2013-10-31 18:36:27 · 3845 阅读 · 2 评论 -
Java并发和多线程2:3种方式实现数组求和
本篇演示3个数组求和的例子。例子1:单线程例子2:多线程,同步求和(如果没有计算完成,会阻塞)例子3:多线程,异步求和(先累加已经完成的计算结果)例子1-代码package cn.fansunion.executorservice;public class BasicCaculator { public static long sum(int[] numbers){ long原创 2015-12-30 13:08:52 · 9137 阅读 · 0 评论 -
Java并发和多线程3:线程调度和有条件取消调度
在第1篇中“并发框架基本示例”,提到了Executors和ThreadPool。其中,还有个“定时调度”的方法,Executors.newScheduledThreadPool(10)。 // 可执行调度命令(定时+周期性)的线程池,拥有固定的线程数 // 重复执行,无穷尽 public static void scheduledThreadPool() { int initialDela原创 2015-12-31 08:57:48 · 2292 阅读 · 0 评论 -
分布式计算,核心知识点
最近在学习和总结,分布式相关的一些技术知识。 读了几本书,感觉内容比较多,需要梳理下。 在知乎等地方,也找到了一些写得比较好的文章。以下为转载内容分布式计算就是通过计算机网络将计算工作分布到多台主机上,多个主机一起协同完成工作。我试着列一下相关知识吧。网络通讯,网络是分布式的基础,对分布式的理解建立在对网络的理解上,包括:OSI模型的7层TCP/IP,DNS,NATHTTP,SPDY/转载 2015-12-18 19:44:26 · 1928 阅读 · 1 评论 -
一个电商项目的Web服务化改造
一个电商项目的Web服务化改造项目,早期是随便瞎做的,没啥架构,连基本的设计也没。有需求,实现需求,再反复修改。大致就是这么做的。最近,项目要重新架构,和某boss协商的结果是,采用阿里开源的dubbo实现服务化。前几天,写了一篇dubbo入门案例,分布式服务框架Dubbo入门案例和项目源码http://blog.csdn.net/fansunion/article/details/5121136原创 2016-04-25 17:58:00 · 3153 阅读 · 0 评论 -
一个电商项目的Web服务化改造2:现有项目的5个问题
最近一直在做一个电商项目,需要把原有单系统架构的项目,改造成基于服务的架构,SOA。 有点挑战,做完了,会有很大进步,1.现有项目的问题 1.1代码风格不统一 不同的人,风格不同 同一个人,风格也不同 1.2重复劳动 类似的CRUD,每个人都写了一遍。 同一个功能,同一段代码,不同的人,有重复实现。 1.3系统模块之间,划分不清晰 Fro原创 2016-04-30 14:25:30 · 4813 阅读 · 1 评论 -
一个电商项目的Web服务化改造4:方案和架构,通用接口的定义和实现
最近一直在做一个电商项目,需要把原有单系统架构的项目,改造成基于服务的架构,SOA。 有点挑战,做完了,会有很大进步。 上一篇,我们明确了我们的“规范和约定”。 从本篇开始,写具体的方案和架构。 本篇,重点阐述通用接口定义。 既然做了分表,那么针对单表的CRUD等很多代码,都是一样的,类似的,因此,定义通用的接口和实现。就可以配置模版,自动化生成代码啦,后面再详细介绍代码原创 2016-04-30 15:55:50 · 3176 阅读 · 0 评论 -
分布式计算,大型网站技术架构:核心原理与案例分析
这个回答,非常详细。 但是,大部分内容,都来自“大型网站技术架构:核心原理与案例分析”。 最近,初步看了这本书,觉得写得太好了,比较系统和全面。 不过,我还是不喜欢吹B“听群一席话,胜读十年书”之类的。没有之前7年多的技术学习,这本书根本看不懂,很多内容,之前都接触过了。这本书,对我来说,最大的意义是,有条理,全面系统分析。著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。作者:转载 2015-12-18 20:23:16 · 2199 阅读 · 5 评论 -
小米网抢购系统开发实践和我的个人观察
本文个人观察部分,为自己的一点看法。正文内容,转载于《程序员》2014年11月刊:电商峰值系统架构设计http://www.csdn.net/article/2014-11-04/2822459个人观察1.小米抢购系统,是在小米电商比较成功之后,才开发挂在电商平台上的。 因此,抢购系统刚刚上线,就有很大的流量。 而普通的网站,刚刚上线,流量是逐步增加的。2.一个周就重新实现了抢购系统,也太牛了原创 2016-04-21 13:36:32 · 6999 阅读 · 0 评论 -
分布式服务框架Dubbo入门案例和项目源码
本项目源代码:http://download.csdn.net/detail/fansunion/9498406 Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,是阿里巴巴SOA服务化治理方案的核心框架,每天为2,000+个服务提供3,000,000,000+次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点。 官方网站: http://dubbo.io/原创 2016-04-21 18:03:27 · 12058 阅读 · 8 评论 -
Java并发和多线程4:使用通用同步工具CountDownLatch实现线程等待
CountDownLatch,一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。 用给定的计数 初始化 CountDownLatch。由于调用了 countDown() 方法,所以在当前计数到达零之前,await 方法会一直受阻塞。之后,会释放所有等待的线程,await 的所有后续调用都将立即返回。这种现象只出现一次——计数无法被重置。如果需要重置计数,请考虑使原创 2015-12-31 09:01:02 · 2042 阅读 · 0 评论 -
一个Web报表项目的性能分析和优化实践(一):小试牛刀,统一显示SQL语句执行时间
最近,在开发和优化一个报表型的Web项目,底层是Hibernate和MySQL。当报表数据量大的时候,一个图表要花4秒以上的时间。原创 2013-10-30 08:40:03 · 4287 阅读 · 4 评论