- 博客(20)
- 资源 (17)
- 收藏
- 关注
转载 JVM调优总结 -Xms -Xmx -Xmn -Xss
堆大小设置JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。我在Windows Server 2003 系统,3.5G物理内存,JDK5.0下测试,最大可设置为1478m。典型设置:java -Xmx3550m -Xms3550m -
2015-06-30 09:05:31 377
原创 自定义日志输出
程序中会涉及到日志输出,若要针对一些业务做测试,可以使用以下方法打印:1. 使用RandomAccessFile输出日志import java.io.IOException;import java.io.RandomAccessFile;public class TestRandomAccessFile { public static void main(String[] args
2015-06-27 10:49:56 568
转载 SQL优化原则
原文转自:http://www.cnblogs.com/ziyiFly/archive/2008/12/24/1361380.html 一、问题的提出 在应用系统开发初期,由于开发数据库数据比较少,对于查询SQL语句,复杂视图的的编写等体会不出SQL语句各种写法的性能优劣,但是如果将应用系统提交实际应用后,随着数据库中数据的增加,系统的响应速度就成为目前系统需要解决的最主要的问题之
2015-06-23 20:33:56 381
转载 数据库访问性能优化
本文转载自:http://www.cnblogs.com/easypass/archive/2010/12/08/1900127.html特别说明:1、 本文只是面对数据库应用开发的程序员,不适合专业DBA,DBA在数据库性能优化方面需要了解更多的知识;2、 本文许多示例及概念是基于Oracle数据库描述,对于其它关系型数据库也可以参考,但许多观点不适合于KV数据库或内存数据库
2015-06-23 20:26:52 464
转载 分表和分库
1 基本思想之什么是分库分表?从字面上简单理解,就是把原本存储于一个库的数据分块存储到多个库上,把原本存储于一个表的数据分块存储到多个表上。2 基本思想之为什么要分库分表?数据库中的数据量不一定是可控的,在未进行分库分表的情况下,随着时间和业务的发展,库中的表会越来越多,表中的数据量也会越来越大,相应地,数据操作,增删改查的开销也会越来越大;另外,由于无法进行分布式式部署,而一
2015-06-23 10:01:15 371
原创 JAVA-2015-06-19应该思考的东西
一、N核CPU只适合N个线程吗?同一进程中的多个线程之间可以并发执行,致使线程在运行中呈现出间断性,线程是进程中的一个实体,是程序执行流的最小单元,若程序只有一个线程。一个线程可以创建和撤消另一个线程,寄存器集合和堆栈组成。在单个程序中同时运行多个线程完成不同的工作,只拥有一点儿在运行中必不可少的资源、阻塞和运行三种基本状态。每一个程序都至少有一个线程,减少了CPU的闲置时间。另外,称为多线程
2015-06-23 09:42:03 558
转载 Redis与Memcached的区别
如果简单地比较Redis与Memcached的区别,大多数都会得到以下观点:1 Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,hash等数据结构的存储。2 Redis支持数据的备份,即master-slave模式的数据备份。3 Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。在Redis中,并不是所有的数据都一直
2015-06-18 23:33:11 329
转载 memcached与Redis比较
一、Memcache1. memecache 把数据全部存在内存之中,断电后会挂掉,数据不能超过内存大小redis有部份存在硬盘上,这样能保证数据的持久性。2. Memcache使用了Slab Allocator的内存分配机制:按照预先规定的大小,将分配的内存分割成特定长度的块,以完全解决内存碎片问题。3. memcache 存在内存中,分配的内存满后,
2015-06-18 20:30:55 468
转载 Netty-Mina深入学习与对比
Netty-Mina深入学习与对比(一)感谢支付宝同事[易鸿伟]在本站发布此文。这博文的系列主要是为了更好的了解一个完整的nio框架的编程细节以及演进过程,我选了同父(Trustin Lee)的两个框架netty与mina做对比。版本涉及了netty3.x、netty4.x、mina1.x、mina2.x、mina3.x。这里并没有写netty5.x的细节,看了netty5的修改文档,
2015-06-18 20:24:58 2637
转载 Netty系列之Netty可靠性分析
1. 背景1.1. 宕机的代价1.1.1. 电信行业毕马威国际(KPMG International)在对46个国家的74家运营商进行调查后发现,全球通信行业每年的收益流失约为400亿美元,占总收入的1%-3%。导致收益流失的因素有多种,主要原因就是计费BUG。1.1.2. 互联网行业美国太平洋时间8月16日下午3点50分到3点55分(北京时间8月17日6点50分到6点55分)
2015-06-18 19:24:49 730
转载 JVM参数设置、分析及实例
不管是YGC还是Full GC,GC过程中都会对导致程序运行中中断,正确的选择不同的GC策略,调整JVM、GC的参数,可以极大的减少由于GC工作,而导致的程序运行中断方面的问题,进而适当的提高Java程序的工作效率。但是调整GC是以个极为复杂的过程,由于各个程序具备不同的特点,如:web和GUI程序就有很大区别(Web可以适当的停顿,但GUI停顿是客户无法接受的),而且由于跑在各个机器上的配置不同
2015-06-17 20:13:06 533
转载 JVM内存管理深入垃圾收集器与内存分配策略
Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的高墙,墙外面的人想进去,墙里面的人却想出来。概述:说起垃圾收集(Garbage Collection,下文简称GC),大部分人都把这项技术当做Java语言的伴生产物。事实上GC的历史远远比Java来得久远,在1960年诞生于MIT的Lisp是第一门真正使用内存动态分配和垃圾收集技术的语言。当Lisp还在胚胎时期,人们就在思考GC
2015-06-17 19:54:22 368
转载 JVM分代垃圾回收策略的基础概念
JVM分代垃圾回收策略的基础概念由于不同对象的生命周期不一样,因此在JVM的垃圾回收策略中有分代这一策略。本文介绍了分代策略的目标,如何分代,以及垃圾回收的触发因素。文章总结了JVM垃圾回收策略为什么要分代,如何分代,以及垃圾回收的触发因素。为什么要分代分代的垃圾回收策略,是基于这样一个事实:不同的对象的生命周期是不一样的。因此,不同生命周期的对象可以采取不同的收集方式,以便提高回
2015-06-17 19:50:45 396
转载 socket阻塞与非阻塞,同步与异步、I/O模型
1. 概念理解 在进行网络编程时,我们常常见到同步(Sync)/异步(Async),阻塞(Block)/非阻塞(Unblock)四种调用方式:同步: 所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。也就是必须一件一件事做,等前一件做完了才能做下一件事。例如普通B/S模式(同步):提交请求->等待服务器处理->处理完毕返回
2015-06-17 15:32:03 655
原创 JAVA技术框架选型
在做新项目的时候,遇到项目技术选型问题,思考了一下,可以从以下几个方面进行考虑:1. 技术应用场景 2. 技术可靠性稳定性考虑,该技术是否得到了一定的应用 3. 技术API文档是否完善,与其他框架的性能比较; 4. 是否开源,收费(如果需要进行开源改造) 5. 技术团队的技术氛围,新技术需要能尽量贴合团队成员的一贯开发路线;
2015-06-16 20:41:50 2258 1
转载 NIO系列6:流行 NIO Framework netty 和 mina 性能测评与分析
测试方法采用 mina 和 netty 各实现一个 基于 nio 的EchoServer,测试在不同大小网络报文下的性能表现测试环境客户端-服务端: model name: Intel(R) Core(TM) i5-2320 CPU @ 3.00GHz cache size: 6144 KB
2015-06-12 18:50:57 511
原创 深入研究WebWork
一、Tomcat启动过程:1 web.xml -----struts2的Filter文件2 StrutsPrepareAndExecuteFilter.init()方法 2.1 初始化InitOperations 2.1.1 初始化日志 2.1.2 初始化Dispatcher 2.1.2.1 初始化FileManager 2.1.2.2 加载default.prope
2015-06-11 14:48:23 404
原创 JAVA从url中分离ip和port
具体代码:public class NetAddrUtil { /** * 从url中分析出hostIP * @param url * @author wuliangliang * @return */ public static String getIpFromUrl(String url) { // 1.判断是否为空 if (url == null ||
2015-06-10 17:25:03 8635 3
转载 过滤器、监听器、拦截器的介绍与区别
1.过滤器Servlet中的过滤器Filter是实现了javax.servlet.Filter接口的服务器端程序,主要的用途是过滤字符编码、做一些业务逻辑判断等。其工作原理是,只要你在web.xml文件配置好要拦截的客户端请求,它都会帮你拦截到请求,此时你就可以对请求或响应(Request、Response)统一设置编码,简化操作;同时还可进行逻辑判断,如用户是否已经登陆、有没有权限访问该页面
2015-06-01 10:16:48 492
转载 Filter介绍
Filter介绍 Filter可认为是Servlet的一种“变种”,它主要用于对用户请求进行预处理,也可以对HttpServletResponse进行后处理,是个典型的处理链。它与Servlet的区别在于:它不能直接向用户生成响应。完整的流程是:Filter对用户请求进行预处理,接着将请求交给Servlet进行处理并生成响应,最后Filter再对服务器响应进行后处理。Filter有如下几个
2015-06-01 10:04:43 433
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人