10 Tom哥的小屋

尚未进行身份认证

互联网发烧友

等级
博文 149
排名 1w+

博客搬家了!!!

如题:

2016-08-17 19:09:20

APNS开源包的内存泄露问题

APNS(全称:ApplePushNotificationService),主要是用于往苹果设备推送push消息通知!基本流程:今天要聊的问题集中在第4个环节,我们自己的服务器往苹果的消息中心推送通知。现状:历史原因,push的代码散落在各个应用中,随着新消息通道不断接入,开发、维护成本较高,开始考虑构建push中心,封装dubbo接口对外提供服务,对外屏蔽各种差异,将所有的push业务逐步

2015-09-29 21:35:39

MAT使用教程

MAT全称 EclipseMemoryAnalysisTools是一个分析Java堆数据的专业工具,可以计算出内存中对象的实例数量、占用空间大小、引用关系等,看看是谁阻止了垃圾收集器的回收工作,从而定位内存泄漏的原因。什么时候会用到MAT?a) OutOfMemoryError的时候,触发fullgc,但空间却回收不了,引发内存泄露b)java服务器系统异常,比如load飙高,io异

2015-09-27 00:36:16

jvm调优

jvm性能调优的目地:1)控制jvm的堆栈大小。比如当你的程序年轻代对象在某个时间段产生的比较多的时候,就需要控制年轻代的堆大小。同时还要控制总的JVM大小避免内存溢出2)控制GC的行为。GC是一个后台处理,但是它也是会消耗系统性能的,因此要根据运行程序的特点来更改GC行为。3)控制jvm线程的内存分配。如果是多线程程序,产生线程和线程运行所消耗的内存也是可以控制的。堆大小设置-Xms  初始堆

2014-05-24 17:04:50

Tomcat性能优化

压力测试web压力测试的实现原理都是通过发送大量的重复的页面请求来模拟多用户对被测系统的并发访问,以此达到产生压力的目地。产生压力的手段都是通过录制或编写压力脚本,这些脚本以多进程或多线程的方式在客户端运行,这样通过人为制造各种类型的压力,我们可以观察被测系统在各种压力情况下的反映,从而定位系统瓶颈,作为系统调优的基础。目前已经市场上的性能测试工具不下一百种,从单一的开放源码的免费小工具如Apa

2014-05-22 23:25:30

大型系统架构演化

互联网系统一般会有几个特色标签:用户基数大、高并发高访问量、海量数据存储、业务更新频繁。看似复杂的系统也不是一蹴而就,任何事情都会经历一个由小到大的发展过程。今天我们就来看看一个系统是如何随着业务的扩张而不断演化的。1.早期的系统由于业务简单,应用服务器和数据库都是在一台服务器。

2014-04-25 23:22:58

本地缓存的使用

缓存提升性能的效果是显而易见,

2014-04-06 21:30:25

装饰者模式&代理模式

一、装饰者模式装饰者模式,在保持原有功能不变的情况下将一个类重新装饰,使其具有更强大的功能,用一句成语形容“锦上添花”。类结构:Component:抽象组件,定义了一组抽象的接口,指定了被装饰的组件都有哪些功能。ComponentImpl:抽象组件实现类,完成了基本的功能实现Decorator:装饰器角色,持有Component的实例引用,有点递归的感觉。伪代码:Componentc=newC

2014-04-01 09:17:38

适配器模式&观察者模式

一、适配器模式适配器模式就是一个类的接口不能被客户端接受,需要转换为另一种接口,从而使两个不匹配的接口能在一起工作。类结构:Adaptee:源接口,需要适配的接口Target:目标接口,暴露出去的接口Adapter:适配器,将源接口适配成目标接口举个现实例子:Adaptee就是相机中的内存卡片,Target就是电脑,而Adapter则是USB读卡器。适用场景:比如查物流信息,由于物流公司的系统都是

2014-04-01 09:17:30

系统性能优化常用手段

1.尽量减少HTTP请求常用方法:a)将多个js(多个css)文件合成一个b)将多个图片合成一张,利用css的偏移来控制显示2.减少文件大小精简js和css的文件大小,比如去除空格、换行符、注释,将长变量名、函数名用短字符替换等等。提高网络带宽利用率。推荐两个在线精简工具js:http://shrinksafe.dojotoolkit.org/css:http://www.cssdrive

2014-03-26 09:04:22

Netty小结

Netty是一个异步的、事件驱动的网络编程框架,可以快速开发出可维护的、高性能、高扩展能力的协议服务及其客户端应用。Netty是一个基于NIO的客户端、服务器端编程框架,使用Netty可以确保你快速简单的开发出一个网络应用。例如实现了某种协议的客户端、服务端应用。Netty简化了网络应用的编程开发过程,例如:TCP和UDP的socket服务开发。“快速”和“简单”并不意味着会让你的最终应用产生

2014-03-19 09:05:20

Redis缓存

Redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sortedset--有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。redis支持各种不同方式的排序。与memca

2014-03-13 22:03:57

手机请求监控

一、背景之前大家都是做pc上的业务,通过浏览器上的url地址及webx框架映射规则,很容易判断当前的功能是访问后台的哪个类。但现在转到无线后,手机上看不到这个url地址,同时中间又夹了一层mtop,貌似手机上的功能和服务端的hsf接口直观串联起来更加困难。。。有没有什么方法可以解决这个问题??答案是肯定的二、解决方案fiddle,这个工具相信大家不会陌生,它不但能截获各种浏览器发出的HTTP请求,

2014-03-10 21:34:25

责任链模式

软件设计模式大致可以分为三类,共23种。创建型模式:单例模式、抽象工厂模式、建造者模式、工厂模式、原型模式。结构型模式:适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式。行为型模式:模版方法模式、命令模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式、状态模式、策略模式、责任链模式、访问者模式。其实模式这东西也有点虚,写代码并不一定要生搬硬套上面的模式。如何能满

2014-03-08 20:17:21

CyclicBarrier介绍

CyclicBarrier是一个同步辅助类,它允许一组线程互相等待,直到到达某个公共屏障点(commonbarrierpoint)。在涉及一组固定大小的线程的程序中,这些线程必须不时地互相等待,此时CyclicBarrier很有用。因为该barrier在释放等待线程后可以重用,所以称它为循环的barrier。CyclicBarrier支持一个可选的Runnable命令,在一

2014-03-04 19:20:59

策略模式&模板模式

一、策略模式策略模式通常是指完成某个操作可能会有多种方法,适用于多种场合。我们需要把每个操作方法当做一个实现策略,调用者可根据需要(特定的规则)选择合适的策略结构类图:Context:使用不同的策略环境,根据自身的条件选择不同的策略实现类来完成所需要的操作。他持有一个策略实例的引用Strategy:抽象策略,定义每个策略都要实现的方法Realize1,Realize2:负责实现抽象策略中定义的策略

2014-02-28 13:06:57

浅谈spring——Spring资源加载(十二)

Spring将各种形式的资源封装成一个统一的Resource接口。通过这个Resource接口,你可以取得URL、InputStream和File对象。当然,Resource对象所代表的资源可能不存在,此时InputStream就取不到。如果Resource不是代表文件系统中的一个文件,那么File对象也是取不到的。Spring通过“注入”的方式来设置资源。假如你有一个Java类:publicc

2014-01-19 22:13:18

webx—Session框架详解

这个session框架是依赖于我们的通用service框架的。由于service框架是Webx框架的基础,所以Webx自然可以方便地使用这个session框架。对于webx之外的WEB应用——例如:独立运行的JSP、由其它应用框架如webwork制作的应用——我们提供了一个filter。这样所有的应用都可以使用我们的session框架,从而支持cookie-basedsession、be

2014-01-11 22:34:08

webx—CommandDispatcher分发服务

一、简介Commandpattern是一套基于SpringFramework,以UseCase为中心的框架。它糅合了几种经典的JavaEE设计模式,使应用开发者在实现UseCase时,能够更专注于商业逻辑本身。结构图:1

2014-01-09 20:36:50

Servlet、Filter、Listener的简介

一、 ServletServlet是一种独立于平台和协议的服务器端的Java应用程序,可以生成动态的Web页面。它担当Web浏览器或其他HTTP客户程序发出请求,与HTTP服务器上的数据库或应用程序之间的中间层。javax.servlet.http.HttpServlet实现了专门用于响应HTTP请求的Servlet。自定义的servlet只需继承HttpServlet,并覆盖以下方法其中之

2014-01-08 15:45:18
CSDN身份
  • 博客专家
奖章
  • 蓝花
    蓝花
    子板块内专家分月排名榜第三
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!