`
wsmajunfeng
  • 浏览: 492089 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论
文章列表

代理实现

代理模式 代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。代理类与委托类之间通常会存在关联关系,一 ...
原文见:http://www.itlearner.com/article/3747   [导读 ]modrewite 将URL定向到另一个目录或文件,而地址栏URL不变,网页内容为新地址内容。 http://www.test.com/a/b 显示 http://www.test.com/test/的内容,URL地址还保持为 www.test.com/a/b根据下面操作自己可以更加灵活... modrewite 将URL定向到另一个目录或文件,而地址栏URL不变,网页内容为新地址内容。http://www.test.com/a/b    显示 http://www.test.com/t ...
原文见http://developer.51cto.com/art/200908/147650.htm   有关Java对象的序列化和反序列化也算是Java基础的一部分,下面对Java序列化的机制和原理进行一些介绍。 Java 序列化算法透析 Serialization (序列化)是一种将对象以一连串的字节描述的过程;反序列化 deserialization 是一种将这些字节重建成一个对象的过程。 Java 序列化 API 提供一种处理对象序列化的标准机制。在这里你能学到如何序列化一个对象,什么时候需要序列化以及 Java 序列化的算法,我们用一个 ...

JVM性能调优

    博客分类:
  • jvm
原文:http://zhaohe162.blog.163.com/blog/static/382167972011101325527323/ 一、引言        本文的读者是技术支持人员。阅读本文后,你将理解 jboss 的启动脚本文件( run.sh )中有一系列的 JVM 配置参数的含义,以及如何调整它们,从而使得 MegaEyes 中心管理服务器的性能得到优化。 MegaEyes 中心管理服务器的性能调优涉及到系统的多个方面,包括 MegaEyes 应用本身、应用服务器( jboss )、数据库和 java 虚拟机( JVM ...
在开始介绍之前,先介绍几篇写的比较详细的博客,咱们不求最精,一定最全,最省事。 http://blog.csdn.net/fenglibing/article/details/6411924 一、jstatd 启动jvm监控服务。它是一个基于rmi的应用,向远程机器提供本机jvm应用程序的信息。默认端口1099。 实例:jstatd -J-Djava.security.policy=my.policy my.policy文件需要自己建立,内如如下: Java代码   grant codebase  "file:${java.home}/../lib/too ...
概述 对于大型 JAVA 应用程序来说,再精细的测试也难以堵住所有的漏洞,即便我们在测试阶段进行了大量卓有成效的工作,很多问题还是会在生产环境下暴露出来,并且很难在测试环 境中进行重现。JVM 能够记录下问题发生时系统的部分运行状态,并将其存储在堆转储 (Heap Dump) 文件中,从而为我们分析和诊断问题提供了重要的依据。 通常内存泄露分析被认为是一件很有难度的工作,一般由团队中的资深人士进行。不过,今天我们要介绍的 MAT(Eclipse Memory Analyzer)被认为是一个“傻瓜式“的堆转储文件分析工具,你只需要轻轻点击一下鼠标就可以生成 ...
前言 在平时开发、测试过程中、甚至是生产环境中,有时会遇到OutOfMemoryError,Java堆溢出了,这表明程序有严重的问题。我们需要找造成OutOfMemoryError原因。一般有两种情况: 1、内存泄露,对象已经死了,无法通过垃圾收集器进行自动回收,通过找出泄露的代码位置和原因,才好确定解决方案; 2、内存溢出,内存中的对象都还必须存活着,这说明Java堆分配空间不足,检查堆设置大小(-Xmx与-Xms),检查代码是否存在对象生命周期太长、持有状态时间过长的情况。 以上是处理Java堆问题的思路,具体是怎么进行分析,这里介绍的是使用Eclipse Memory A ...
单库单表 单库单表是最常见的数据库设计,例如,有一张用户(user)表放在数据库db中,所有的用户都可以在db库中的user表中查到。   单库多表 随着用户数量的增加,user表的数据量会越来越大,当数据量达到一定程度的时候对user表的查询会渐渐的变慢,从而影响整个DB的性能。如果使用mysql, 还有一个更严重的问题是,当需要添加一列的时候,mysql会锁表,期间所有的读写操作只能等待。 可以通过某种方式将user进行水平的切分,产生两个表结构完全一样的user_0000,user_0001等表,user_0000 + user_0001 + …的数据刚好是一份完整的数据。   ...
http://www.slf4j.org/全称:Simple Logging Facade for Java 简单日志门面(Facade)SLF4J是为各种loging APIs提供一个简单统一的接口,从而使得最终用户能够在部署的时候配置自己希望的loging APIs实现。 Logging API实现既可以选择直接实现SLF4J接口的 ...

CSRF

    CSRF是Cross Site Request Forgery的缩写(也缩写为XSRF),直译过来就是跨站请求伪造的意思。     举个CSRF攻击的例子:我们登录bbs论坛后修改个人资料,论坛服务器更新个人资料的url是www.bbs.com/save.do?user=xx&password=xx&birthda ...
  参数 说明 例子 %c 列出logger 名字空间的全称,如果加上{< 层数>} 表示列出从最内层算起的指定层数的名字空间 log4j 配置文件参数举例 输出显示媒介
一、使用top+jstack定位java应用CPU占用高的线程步骤 ps axu | grep java 或者直接jps得到进程号 top  -p   java进程号 在top界面按小写的s改变默认刷新值到0.5s 在shift +h 键,按线程进行显示 到现在为止,基本可以看到是哪个线程占用CPU较高了 假如线程号为21646,转换为16进制  548e jstack  java进程号 | grep -A  20  java线程号16进制 二、使用top+jstack定位java应用CPU占用高的线程详细说明 1.top查找出哪个进程消耗的cpu高 PID ...
如果对于commons-loging 、log4j 、slf4j 、LogBack 等都已经非常清楚了,可以忽略本文。几次解决日志冲突问题时对这几个概念的简单总结,希望对这块基础没有理解透的同学能有所帮助,当然如果对这块有更深刻理解的同学,也贡献出自己的知识和见解。 一、     概念 Commons-logging : apache最早提供的日志的门面接口。避免和具体的日志方案直接耦合。类似于JDBC 的api 接口,具体的的JDBC driver 实现由各数据库提供商实现。通过统一接口解耦,不过其内部也实现了一些简单日志方案。 ...
一 :为什么同时使用commons-logging和Log4j?为什么不仅使用其中之一? Commons-loggin的目的是为“所有的Java日志实现”提供一个统一的接口,它自身的日志功能平常弱(只有一个简单的 SimpleLog?),所以一般不会单独使用它。Log4j ...
我们在做项目时,日志的记录是必不可少的一项任务,而我们通常是使用 apache 的 log4j 日志管理工具。然而,在项目中,我们经常会看到两个 jar 包:commons-logging.jar 和 log4j.rar。为什么我们在使用 log4j 的同时还要引入 commons-logging.jar 呢,或者说不用 commons-logging.jar 可不可以,这两者之间到底是怎么的一种关系呢?         作为记录日志的工具,它至少应该包含如下几个组成部分(组件):         1. Logger              记录器组件负责产生日志 ...
Global site tag (gtag.js) - Google Analytics