`
smallvq123
  • 浏览: 35745 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论
文章列表
参考方腾飞大神所写的 《如何建设高可用系统》 整理出对应思维导图,稍微些许改动,帮助大家更好地理解。  -----------------------------------------------------------------------   割   --------------------------------------------------------------- ...
在关键的业务系统里,除了继续追求技术人员最爱的高吞吐与低延时之外,系统的稳定性与出现问题时排查的便捷性也很重要。 这是本文的一个原则,后面也会一次又一次的强调,所以与网上其他的文章略有不同,请调优高手和运维老大们多指引。   前言1,资料 学习开源项目的启动脚本是个不错的主意,比如Cassandra家的, 附送一篇解释它的文章。 [HotSpot VM] JVM调优的"标准参数"的各种陷阱 R大的文章,不过主要针对JDK6。 偶然翻到Linkedin工程师的
jstatd启动jvm监控服务。它是一个基于rmi的应用,向远程机器提供本机jvm应用程序的信息。默认端口1099。实例:jstatd -J-Djava.security.policy=my.policymy.policy文件需要自己建立,内如如下:grant codebase "file:$JAVA_HOME/lib/tools.jar" { permission java.security.AllPermission;};这是安全策略文件,因为jdk对jvm做了jaas的安全检测,所以我们必须设置一些策略,使得jstatd被允许作网络操作jps列出所有的jvm实例实例 ...
  在JVM中,静态属性保存在Stack指令内存区,动态属性保存在Heap数据内存区。本文将从JVM的角度来讲解Java虚拟机的这一机制。 在JVM中,内存分为两个部分,Stack(栈)和Heap(堆),这里,我们从JVM的内存管理原理的角度来认识Stack和Heap,并通过这些原理认清Java中静态方法和静态属性的问题。 一般,JVM的内存分为两部分:Stack和Heap。 Stack(栈)是JVM的内存指令区。Stack管理很简单,push一定长度字节的数据或者指令,Stack指针压栈相应的字节位移;pop一定字节长度数据或者指令,Stack指针弹栈。Stack的速度很快,管理很简 ...

NOSQL的选择

开发中经常遇到是否使用NOSQL的选择。抉择机制如下: 规划需求 首先统计你目前的应用规模,包括单位时间存取次数,记录条数,记录占用硬盘空间大小。并基于你的业务在半年以内的增长速度,找到系统的瓶颈是在高并发读写上还是在海量数据的高效存储和访问上。例如每秒上万次读写请求,上亿条记录的表,上T的多媒体数据。 分析你的业务是否对事务一致性,读写实时性,复杂查询有需求。如果某些数据有这方面需求能否将其拆分成有需求和没需求的两块。 在应用NOSQL之前,想想系统架构设计上能否进行优化,例如读写分离,逻辑切分,数据库分片。利用纯内存key-value数据库来进行告诉缓存。从 ...
MySQL设计和开发规范 0.2 2013.06.27 文档版本历史 Ver. No. Ver. Date Revised By Description Reviewer Status 0.1 2013.05.09 DBA组 文档创建 0.2 2013.06.27 DBA组 文档修改uniq的索引命名 [编辑]Schema设计规范
 AB测试,200个请求,20个并发.这样的测试强度,CPU占了70-80%,w3p占用了70多M内存,本想多测几次,看看它的内存会不会涨上去,没 有测试机器没办法,开发机要干活.我估计CPU就有问题了,性能有好些个地方还需要优化. 顺便把测试的工具用法作个记号基本用法:ab -n 全部请求数 -c 并发数 测试url例:ab -n 1000 -c 50 http://www.newdev.gztest.com/Server Software:         Microsoft-IIS/7.0

js详细介绍

    博客分类:
  • js
事件源对象 event.srcElement.tagName event.srcElement.type 捕获释放 event.srcElement.setCapture();  event.srcElement.releaseCapture(); 事件按键 event.keyCode event.shiftKey event.altKey event.ctrlKey 事件返回值 event.returnValue 鼠标位置 event.x event.y 窗体活动元素 document.activeElement 绑定事件 document.capture ...
    随着互联网应用的广泛普及,海量数据的存储和访问成为了系统设计的瓶颈问题。对于一个大型的互联网应用,每天几十亿的PV无疑对数据库造成了相当高的负载。对于系统的稳定性和扩展性造成了极大的问题。通过数据切分来提高网站性能,横向扩展数据层已经成为架构研发人员首选的方式。水平切分数据库,可以降低单台机器的负载,同时最大限度的降低了了宕机造成的损失。通过负载均衡策略,有效的降低了单台机器的访问负载,降低了宕机的可能性;通过集群方案,解决了数据库宕机带来的单点数据库不能访问的问题;通过读写分离策略更是最大限度了提高了应用中读取(Read)数据的速度和并发量。目前国内的大型互联网应用中,大量的采用了这样 ...
Java已经成为一个庞大而复杂的技术平台,对于开发人员而言,要想更好的掌握Java技术,深入理解底层的技术处理细节必不可少。现在介绍下java的四个核心概念: 1.Java虚拟机 Java虚拟机的主要任务是装在class文件并且执行其中的字节码。Java虚拟机包含一个类装载器,它可以从程序和 API中装载class文件。Java API中只有程序执行时需要的那些类才会被装载。字节码由执行引擎来执行。不同的Java虚拟机中,执行引擎可能实现得非常不同。在由软件实现的虚拟机中,最简单的执行引擎就是一次性解释字节码。 另一种执行引擎更快,但是也更消耗内存,叫做"即时编译器(just ...
匹配所有字符,包括空格、Tab字符甚至换行符: 1.2 方括号符号 为了解决句点符号匹配范围过于广泛这一问题,你可以在方括号(“[]”)里面指定看来有意义的字符。此时,只有方括号里面指定的字符才参与匹配。也就是说,正则表达式“t[aeio]n”只匹配“tan”、“Ten”、“tin”和“ton”。但“Toon”不匹配,因为在方括号之内你只能匹配单个字符:
这里Hibernate二级缓存策略,是针对于ID查询的缓存策略,对于条件查询则毫无作用。为此,Hibernate提供了针对条件查询的Query Cache。在向大家详细介绍Hibernate二级缓存之前,首先让大家了解下一级缓存,然后全面介绍Hibernate二级缓 ...
Hibernate的一级缓存其实就是Session内置的一个Map,用来缓存它操作过的实体对象,对象的主关键字ID是Map的key,实体对象就是对应的值。所以,一级缓存是以实体对象为单位进行存储的,访问时也是以实体为单位的(直接访问属性是不能使用缓存的),并且要求使用主关键字ID来进行访问。   一级缓存是由Session提供的,所以它只存在于Session的生命周期中,当程序调用save(),update(),saveorupdate()等方法以及调用查询接口list,filter,iterate时,如果session缓存中还不存在相应的对象,Hibernate会把该对象加入到一级缓存中,当 ...
1) 在处理大数据量时,会有大量的数据缓冲保存在Session的一级缓存中,这缓存大太时会严重显示性能,所以在使用Hibernate处理大数据量的,可以使用session.clear()或者session. Evict(Object) 在处理过程中,清除全部的缓存或者清除某个对象。 2) 对大数据量查询时,慎用list()或者iterator()返回查询结果, 1. 使用List()返回结果时,Hibernate会所有查询结果初始化为持久化对象,结果集较大时,会占用很多的处理时间。 2. 而使用iterator()返回结果时,在每次调用iterator.next()返回对象并使用对象时,Hibe ...
匹配中文字符的正则表达式: [\u4e00-\u9fa5]  评注:匹配中文还真是个头疼的事,有了这个表达式就好办了    匹配双字节字符(包括汉字在内):[^\x00-\xff]  评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符 ...
Global site tag (gtag.js) - Google Analytics