
高性能
文章平均质量分 79
艾伦蓝
Just do it
展开
-
Web高性能开发总结
一般情况下,架构分两种来讨论的,一种是开发架构,一种是部署架构部署架构,就是开发完的程序在实际运行环境下,通过负载均衡,DNS轮询,SquID等等来减轻单台服务器负载,达到性能优化的目的这里大家估计更想了解的是开发上的架构我对这个的观点是,所有的架构都是死的,而Web高性能开发优化策略是活的,我在开发中,所有的东西都不是一定要按照什么固定的模式,去死开发,更多的是针对需要优...原创 2014-05-02 11:53:57 · 121 阅读 · 0 评论 -
Web高性能开发总结
D等等来减轻单台服务器负载,达到性能优化的目的这里大家估计更想了解的是开发上的架构我对这个的观点是,所有的架构都是死的,而Web高性能开发优化策略是活的,我在开发中,所有的东西都不是一定要按照什么固定的模式,去死开发,更多的是针对需要优化的信息进行针对处理,下面说说我的优化策略1、数据库优化,这个是所有的优化策略中最重要的,可以说数据库设计的好坏,直接影响了一个系统的承受力。普通的数据库细节优化,网上已经有大笔文章了,没什么好说的,想了解的自己去找。而我要说的就是在数据库设计中的一个原创 2014-05-02 11:53:57 · 80 阅读 · 0 评论 -
java Guava cache学习笔记
[color=blue][b]缓存的主要作用是暂时在内存中保存业务系统的数据处理结果,并且等待下次访问使用。[/b][/color]在日常开发的很多场合,由于受限于硬盘IO的性能或者我们自身业务系统的数据处理和获取可能非常费时,当我们发现我们的系统这个数据请求量很大的时候,频繁的IO和频繁的逻辑处理会导致硬盘和CPU资源的瓶颈出现。 [b]缓存的作用就是将这些来自不易的数据保存在内存中,当有其他线程或者客户端需要查询相同的数据资源时,直接从缓存的内存块中返回数据[/b],这样不但可以提高系统的原创 2016-11-15 18:26:44 · 203 阅读 · 0 评论 -
java AbstractQueuedSynchronizer介绍以及原理分析
原创 2016-11-18 14:27:41 · 146 阅读 · 0 评论 -
HTTP Cache机制学习(response meta标签)
package com.servlet;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletRespons原创 2017-01-03 15:10:12 · 192 阅读 · 0 评论 -
系统架构设计理论与原则、负载均衡及高可用系统设计速记
olor=red][b](一)、CAP理论[/b][/color]1、什么是CAP著名的CAP理论是由Brewer提出的,所谓CAP,即一致性(Consistency)、可用性(Availability)和分区容错性(Partition Tolerance)。[b](1)、Consistency(一致性)[/b]:更新操作成功并返回客户端完成后,分布式的所有节点在同一时间的数据完全一致(All nodes see the same data at the same time)。这原创 2017-02-14 15:14:39 · 122 阅读 · 0 评论 -
如何解决常见的缓存穿透、并发和失效问题
[color=blue][b]2.如何解决并发[/b][/color][color=red][b]当并发较高的时候,其实我是不建议使用缓存过期这个策略的,我更希望缓存一直存在,通过后台系统来更新缓存系统中的数据达到数据的一致性目的,[/b][/color]有的朋友可能会质疑,如果缓存系统挂了怎么办,这样数据库更新了但是缓存没有更新,没有达到一致性的状态。解决问题的思路是如果缓存是因为网络问题没有更新成功数据,那么建议重试几次,如果依然没有更新成功则认为缓存系统出错不可用,这时候客户端会将数据的K原创 2017-04-12 09:25:41 · 115 阅读 · 0 评论 -
java 对重复电话号码进行排除的优化(排序和前后对比)
t java.util.ArrayList;import java.util.Collections;import java.util.Random;public class Test2 { final static int _capacity = 1000000; final static Random rand = new Random(System.currentTimeMillis() + _capacity); static ArrayList lis原创 2017-08-22 14:14:58 · 285 阅读 · 0 评论 -
java 使用kyro进行高性能序列化对象和集合
ist;import org.apache.commons.codec.binary.Base64;import com.esotericsoftware.kryo.Kryo;import com.esotericsoftware.kryo.io.Input;import com.esotericsoftware.kryo.io.Output;import com.esotericsoftware.kryo.serializers.CollectionSerializer;i原创 2017-08-23 14:05:58 · 298 阅读 · 0 评论 -
java 几种性能优化的总结
原创 2017-08-23 14:08:30 · 98 阅读 · 0 评论 -
java 一致性 hash 算法
,那么如何将一个对象 object 映射到 N 个 cache 上呢,你很可能会采用类似下面的通用方法计算 object 的 hash 值,然后均匀的映射到到 N 个 cache ;[b]hash(object)%N[/b]一切都运行正常,再考虑如下的两种情况;1 一个 cache 服务器 m down 掉了(在实际应用中必须要考虑这种情况),这样所有映射到 cache m 的对象都会失效,怎么办,需要把 cache m 从 cache 中移除,这时候 cache 是 N-1 台,映原创 2014-04-29 09:00:51 · 114 阅读 · 0 评论 -
系统架构设计理论与原则、负载均衡及高可用系统设计速记
[size=large][color=red][b]一、系统架构设计理论与原则[/b][/color][/size]这里主要介绍几种常见的架构设计理论和原则,常见于大中型互联系统架构设计。[color=red][b](一)、CAP理论[/b][/color]1、什么是CAP著名的CAP理论是由Brewer提出的,所谓CAP,即一致性(Consistency)、可用性(Ava...原创 2017-02-14 15:14:39 · 271 阅读 · 0 评论 -
java 一致性 hash 算法
[size=medium][color=red][b]一致性 hash 算法( consistent hashing )[/b][/color][/size][color=red][b]1 基本场景[/b][/color]比如你有 N 个 cache 服务器(后面简称 cache ),那么如何将一个对象 object 映射到 N 个 cache 上呢,你很可能会采用类似下面的通用方...原创 2014-04-29 09:00:51 · 119 阅读 · 0 评论 -
java Guava cache学习笔记
[color=red][b]缓存,在我们日常开发中是必不可少的一种解决性能问题的方法。[/b][/color]简单的说,cache 就是为了提升系统性能而开辟的一块内存空间。 [color=blue][b]缓存的主要作用是暂时在内存中保存业务系统的数据处理结果,并且等待下次访问使用。[/b][/color]在日常开发的很多场合,由于受限于硬盘IO的性能或者我们自身业务系统的数据处理和获取...原创 2016-11-15 18:26:44 · 153 阅读 · 0 评论 -
java AbstractQueuedSynchronizer介绍以及原理分析
[size=medium][color=red][b]简介[/b][/color][/size][b]提供了一个基于FIFO队列,可以用于构建锁或者其他相关同步装置的基础框架。[/b]该同步器(以下简称同步器)[color=blue][b]利用了一个int来表示状态,期望它能够成为实现大部分同步需求的基础。[/b][/color]使用的方法是继承,子类通过继承同步器并需要实现它的方法来管理...原创 2016-11-18 14:27:41 · 172 阅读 · 0 评论 -
如何解决常见的缓存穿透、并发和失效问题
[size=x-large][color=red][b]缓存穿透与并发方案[/b][/color][/size]相信不少朋友之前看过很多类似的文章,但是归根结底就是二个问题:[b]1.如何解决穿透[/b][color=blue][b]2.如何解决并发[/b][/color][color=red][b]当并发较高的时候,其实我是不建议使用缓存过期这个策略的,我更希望缓存一直存在,...原创 2017-04-12 09:25:41 · 228 阅读 · 0 评论 -
HTTP Cache机制学习(response meta标签)
[size=large][color=blue][b]HTTP Cache:response头部设置、http页面meta标签设置[/b][/color][/size][size=large][color=red][b]response Http头部设置[/b][/color][/size][code="java"]package com.servlet;import ...原创 2017-01-03 15:10:12 · 520 阅读 · 0 评论 -
java 对重复电话号码进行排除的优化(排序和前后对比)
[color=red][b]1.先对10万数据排序;[/b][/color][color=blue][b]2.对比前后两条数据 ;[/b][/color][b]3.筛选出正确数据。[/b][code="java"]package com.xxx.xxx;import java.util.ArrayList;import java.util.Collectio...原创 2017-08-22 14:14:58 · 1048 阅读 · 0 评论 -
java 使用kyro进行高性能序列化对象和集合
[code="java"]import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.IOException;import java.io.Serializable;import java.util.ArrayList;import java.util.L...原创 2017-08-23 14:05:58 · 1192 阅读 · 0 评论 -
java 几种性能优化的总结
[size=large][color=red][b]1、使用StringBuilder[/b][/color][/size]一般来说,使用 StringBuilder 的效果要优于使用 + 操作符。如果可能的话请在需要跨多个方法传递引用的情况下选择 StringBuilder,因为 String 要消耗额外的资源。JOOQ在生成复杂的SQL语句便使用了这样的方式。在整个抽象语法树(AST Ab...原创 2017-08-23 14:08:30 · 201 阅读 · 0 评论 -
java CyclicBarrier进行并发编程
[size=medium][color=red][b]CyclicBarrier允许一组线程相互等待达到一个公共的障碍点。[/b][/color][/size]CyclicBarrier对于一组线程必须相互等待的场景很有用。[b]比如有一组线程,都要往数据库里面写入操作,只有当所有的线程都往数据库里面写入数据之后,这些线程才能继续往下执行,这时候就可以使用CyclicBarrier了。[/b]当所...原创 2017-08-25 15:44:48 · 139 阅读 · 0 评论 -
java CyclicBarrier进行并发编程
原创 2017-08-25 15:44:48 · 78 阅读 · 0 评论