关闭

亿级Web系统搭建:单机到分布式集群

当一个Web系统从日访问量10万逐步增长到1000万,甚至超过1亿的过程中,Web系统承受的压力会越来越大,在这个过程中,我们会遇到很多的问题。为了解决这些性能压力带来问题,我们需要在Web系统架构层面搭建多个层次的缓存机制。在不同的压力阶段,我们会遇到不同的问题,通过搭建不同的服务和架构来解决。...
阅读(406) 评论(0)

Twitter的分布式自增ID算法Snowflake实现分析及其Java、Php和Python版

在分布式系统中,需要生成全局UID的场合还是比较多的,twitter的snowflake解决了这种需求,实现也还是很简单的,除去配置信息,核心代码就是毫秒级时间41位+机器ID 10位+毫秒内序列12位。 该项目地址为:https://github.com/twitter/snowflake是用Scala实现的。 python版详见开源项目https://github.com/eran...
阅读(1935) 评论(0)

mybatis select语句缓存使用注意事项

工作中遇到一个select语句缓存问题(可提交读隔离级别下select语句没有读取到其它事物更新后的结果),场景如下: 数据库:mysql User表结构:   隔离级别:read committed(可提交读) Mapper文件:  代码如下:   执行结果:   问题:虽然我们把mysql隔离级别设置为read com...
阅读(550) 评论(0)

Java 8:HashMap的性能提升

HashMap是一个高效通用的数据结构,它在每一个Java程序中都随处可见。先来介绍些基础知识。你可能也知道,HashMap使用key的hashCode()和equals()方法来将值划分到不同的桶里。桶的数量通常要比map中的记录的数量要稍大,这样每个桶包括的值会比较少(最好是一个)。当通过key进行查找时,我们可以在常数时间内迅速定位到某个桶(使用hashCode()对桶的数量进行取模)以及要...
阅读(370) 评论(0)

浅谈shutdown()和close()的区别

shutdown()函数可以选择关闭全双工连接的读通道或者写通道,如果两个通道同时关闭,则这个连接不能再继续通信。close()函数会同时关闭全双工连接的读写通道,除了关闭连接外,还会释放套接字占用的文件描述符。而shutdown()只会关闭连接,但是不会释放占用的文件描述符。所以即使使用了SHUT_RDWR类型调用shutdown()关闭连接,也仍然要调用close()来释放连接占用的文件描述符...
阅读(452) 评论(0)

JAVA JNI的基本总结一箩筐

JNI的基本原理 ** 在Java中调用C库函数 开发流程 ------ 在Java代码中通过JNI调用C函数的步骤如下: 第一步: 编写Java代码 第二步: 编译Java代码 第三步: 生成C语言头文件 第四步: 编写C代码 第五步: 生成C共享库 第六步: 运行Java程序 *** 第一步 编写Java代码 JNI方法是在Java代码中声明的。 在Java类中,使用...
阅读(698) 评论(0)

TIME_WAIT的意义

TIME_WAIT是什么? 在TCP断开的过程中会有四个状态变化过程,如下图所示: 在连接撤销过程中,有如下过程:                                           1.HOST1上的应用程序关闭己方的连接导致TCP发送一个FIN消息给HOST2。 2.HOST2发送一个确认消息给HOST1,并且HOST2把FIN作为EOF递交给HOST2上的应用...
阅读(841) 评论(0)

fckeditor <= 2.6.4 任意文件上传漏洞

<? error_reporting(0); set_time_limit(0); ini_set("default_socket_timeout", 5); define(STDIN, fopen("php://stdin", "r")); $match = array(); function http_send($host, $packet) { $sock = fsockopen($hos...
阅读(1523) 评论(0)

RTB竞价中的cookie mapping技术

首先通过一些关键词解释普及或者回顾一下背景, ADX:Ad exchange的简称。一般特指Ad exchange平台模块 DMP:Data Management Platform的简称。DMP存储了流量、受众的各种特征信息。 DSP:Demand Side Platform的简称。可以看做流量的购买方,为广告主服务。广告主可以通过DSP购买流量,达到营销的目的。DSP可以接入a...
阅读(897) 评论(0)

Cookie Mapping

什么是 Cookie Mapping? 简单地说,Cookie Mapping 就是将用户隶属于 SSP 的 Cookie 与隶属于 DSP 的 Cookie 进行映射。 Cookie Mapping 工作需要两个数据,分别是用户隶属于 SSP 方的 Cookie 及用户隶属于 DSP 方的 Cookie,同时需要 SSP 方或者 DSP 方进行数据的映射工作。 ...
阅读(611) 评论(0)

爬行与索引的区别

转载地址:http://www.zjomo.com/article_detail.php?id=65&cid=4 爬行和索引是seo的两个专业术语,很多人刚接触seo的时候会将这两个词混淆,认为爬行就是索引。今天就说一下爬行和索引之间的区别。   1、爬行 当搜索引擎蜘蛛在站点中发生爬行时,站点中有一个并且只有唯一一个url被抓取,搜索引擎可以从其他网页的链接跟踪爬行到这个站点中,所以...
阅读(273) 评论(0)

Spring中@Autowired注解、@Resource注解的区别

转载地址:http://www.chinasb.org/archives/2011/06/2443.shtml Spring不但支持自己定义的@Autowired注解,还支持几个由JSR-250规范定义的注解,它们分别是@Resource、@PostConstruct以及@PreDestroy。   @Resource的作用相当于@Autowired,只不过@Autowired按byTyp...
阅读(485) 评论(0)

大型互联网站解决高并发的常见策略

转载地址:http://www.javabloger.com/article/high-concurrent-common-coping-strategies.html 一个运营的系统在正式上线后将会遇到各种层级的高并发请求,因此我们必须对此做出相应的策略和技术解决方案,首先我们需要认清系统的高并发由3个层面导致: 1. 传输层 大量用户对系统请求后,将会造成网络带宽和Web服务器的I/...
阅读(3262) 评论(0)

Singleton模式与双检测锁定(DCL)

转载地址:http://www.blogjava.net/zellux/archive/2008/04/07/191365.html 该篇文章讲叙传说中认为能够解决高并发带来的单例锁的double check lock由来以及问题. 我现今实现的方法见一个单例模式 看OOP教材时,提到了一个双检测锁定(Double-Checked Lock, DCL)的问题,但是书上没有多介绍,只是...
阅读(396) 评论(0)

缓存系统MemCached的Java客户端优化历程

转载地址:http://www.infoq.com/cn/articles/memcached-java Memcached 是什么? Memcached是一种集中式Cache,支持分布式横向扩展。这里需要解释说明一下,很多开发者觉得Memcached是一种分布式缓存系统,但是其实Memcached服务端本身是单实例的,只是在客户端实现过程中可以根据存储的主键做分区存储,而这个区就是Memca...
阅读(332) 评论(0)

GC的类型以及对应日志的解释

转载地址:http://wangscu.iteye.com/blog/603347     在大型的java运用中,要进行程序调优,指定一个合适的垃圾回收机制是必不可少的,那如何可确定某gc是否使得程序最优化呢?我们可以查看jvm打印出 的gc日志来分析,并做出进一步优化,而目前并没有一篇文章明确的指明java中各种gc算法打印出日志的格式,以及如何阅读。所以接下来本文将试着边介 绍各种...
阅读(654) 评论(0)

介绍Java GC种类,并更换 调优GC

转载地址:http://blog.csdn.net/roland101/article/details/2203461      调整JVM GC(Garbage Collection),可以极大的减少由于GC工作,而导致的程序运行中断方面的问题,进而适当的提高Java程序的工作效率。但是调整GC是以个极为复杂的过程,由于各个程序具备不同的特点,如:web和GUI程序就有很大区别(Web可以适当...
阅读(324) 评论(0)

JDK NEW TOOLS——jps、jinfo、jstat、jmap、jconsole

转载地址:http://blog.csdn.net/roland101/article/details/2188585 最近压力测试和调优Liferay portal,所以需要找到一种工具,可以比较好的监测VM工具。本来想使用商用工具,但偶然间发现SUN 的JDK中新添了几个工具,并且非常好用。秉承着有免费,不用商用的原则。开始使用新的JDK工具,以下简单介绍一下这几种工具。(注:本文章下的所有...
阅读(287) 评论(0)

调优JVM内存,并解决OutOfMemoryError,StackOverflowError等异常问题

转载地址:http://blog.csdn.net/roland101/article/details/2197444        JVM 调优,首先应从内存开始,尤其是在真正的的web服务部署的时候。因为真正的web服务会比开发的时候花费更多的内存,用来处理多用户并发的情况。本人多次吃过这方面的亏,所以整理一下,希望能给别人以帮助。        这个年头变啦,内存变得如大白菜,每个新...
阅读(1232) 评论(0)

简单理解Java GC与幽灵引用

转载地址:http://developer.51cto.com/art/200906/128189.htm Java中一共有4种类型的引用:StrongReference、SoftReference、WeakReference以及PhantomReference (幽灵引用), 这 4 种类型的引用与Java GC有着密切的关系, 让我们逐一来看它们的定义和使用场景。 1. Stron...
阅读(332) 评论(0)
238条 共12页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:190350次
    • 积分:3146
    • 等级:
    • 排名:第12101名
    • 原创:48篇
    • 转载:188篇
    • 译文:2篇
    • 评论:18条
    文章分类
    最新评论