- 博客(25)
- 资源 (129)
- 收藏
- 关注
原创 springMVC工作原理
SpringMVC框架介绍 1) Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,可以选择是使用内置的 Spring Web 框架还是 Struts 这样的 Web 框架。通过策略接口,Spring
2015-07-30 09:03:43 11914 1
翻译 深入分析Java ClassLoader原理
一、什么是ClassLoader?大家都知道,当我们写好一个Java程序之后,不是管是CS还是BS应用,都是由若干个.class文件组织而成的一个完整的Java应用程序,当程序在运行时,即会调用该程序的一个入口函数来调用系统的相关功能,而这些功能都被封装在不同的class文件当中,所以经常要从这个class文件中要调用另外一个class文件中的方法,如果另外一个文件不存在的,则会引发系统异
2015-07-29 08:49:27 2933 2
原创 深入理解Memcached原理
1.为什么要使用memcache 由于网站的高并发读写需求,传统的关系型数据库开始出现瓶颈,例如:1)对数据库的高并发读写:关系型数据库本身就是个庞然大物,处理过程非常耗时(如解析SQL语句,事务处理等)。如果对关系型数据库进行高并发读写(每秒上万次的访问),那么它是无法承受的。2)对海量数据的处理:对于大型的SNS网站,每天有上千万次的数据产生(如twitter, 新浪微博)
2015-07-24 08:59:40 14792
转载 ConcurrentHashMap原理分析
集合是编程中最常用的数据结构。而谈到并发,几乎总是离不开集合这类高级数据结构的支持。比如两个线程需要同时访问一个中间临界区(Queue),比如常会用缓存作为外部文件的副本(HashMap)。这篇文章主要分析jdk1.5的3种并发集合类型(concurrent,copyonright,queue)中的ConcurrentHashMap,让我们从原理上细致的了解它们,能够让我们在深度项目开发中
2015-07-16 08:50:48 1411
原创 Nginx优化详细,应对高并发
nginx指令中的优化(配置文件)worker_processes 8; nginx进程数,建议按照cpu数目来指定,一般为它的倍数。worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000; 为每个进程分配cpu,上例中将8个进程分配到8个cp
2015-07-16 08:48:21 16732 3
原创 触发JVM进行Full GC的情况及应对策略
Full GC又称作Major GC,属于老年代GC,指发生在老年代的GC,相对这种GC的有新生代GC即Minor GC。出现Full GC的时候经常伴随至少一次的Minor GC,但非绝对的,Major GC的速度一般会比Minor GC慢10倍以上。下边看看有那种情况触发JVM进行Full GC及应对策略。 1、System.gc()方法的调用 此方法的调用是建议JVM进行Fu
2015-07-01 08:54:00 97491 13
翻译 Linux与JVM的内存关系分析
引言在一些物理内存为8g的服务器上,主要运行一个Java服务,系统内存分配如下:Java服务的JVM堆大小设置为6g,一个监控进程占用大约600m,Linux自身使用大约800m。从表面上,物理内存应该是足够使用的;但实际运行的情况是,会发生大量使用SWAP(说明物理内存不够使用了),如下图所示。同时,由于SWAP和GC同时发生会致使JVM严重卡顿,所以我们要追问:内存究竟去哪儿了?
2015-07-01 08:51:03 4883 6
转载 实现跨域cookie共享
问题描述:在一个比较复杂的网站环境下。有多个产品向外提供服务。每个产品下都有自己的用户登录界面。现在需要设计一个统一的登录界面。 当用户在这个界面登录后就可以自由的使用各个产品和服务。同时意味着用户用一个帐号可以在不同服务里登录,另一方面就是在一个服务里面登录后可以无障碍的 漫游到其他服务里面去。实际应用:Sohu的Passport将focus.cn,17173.com,sogou.com
2015-07-30 09:05:31 10179
原创 使用HttpClient登录知乎获取返回页面信息
引言 HttpClient是java语言下一个支持http协议的客户端编程工具包,它实现了HTTP协议的所有方法,但是不支持JS渲染。我们在做一些小玩意时,有可能需要登录某些网站获取信息,那么HttpClient就是你的好帮手,废话不多说,进入实战。一 登录的实际意义 在HTTP横行的今天,我们每天都要登录一些网站,那么登录的意义是什么呢?首先要对cookie要
2015-07-29 08:54:03 15435 2
原创 使用Jsoup解析和操作HTML
jsoup 简介jsoup 是一款 Java 的HTML 解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。jsoup的主要功能如下: 1. 从一个URL,文件或字符串中解析HTML; 2. 使用DOM或CSS选择器来查找、取出数据; 3. 可操作HTM
2015-07-29 08:52:34 17069 5
原创 JVM中类的卸载机制
类的生命周期 当Sample类被加载、连接和初始化后,它的生命周期就开始了。 当代表Sample类的Class对象不再被引用,即不可触及时,Class对象就会结束生命周期,Sample类在方法区内的数据也会被卸载,从而结束Sample类的生命周期。 由此可见,一个类何时结束生命周期,取决于代表它的Class对象何时结束生命周期。 引用关系 加载器和Class对象:
2015-07-28 08:51:31 11358 1
原创 Java虚拟机的类加载机制
Java虚拟机类加载过程是把Class类文件加载到内存,并对Class文件中的数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的java类型的过程。在加载阶段,java虚拟机需要完成以下3件事:a.通过一个类的全限定名来获取定义此类的二进制字节流。b.将定义类的二进制字节流所代表的静态存储结构转换为方法区的运行时数据结构。c.在java堆中生成一个代表该类的java.l
2015-07-28 08:49:30 1971
原创 JVM中java类的加载时机
Java虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的加载机制。类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括了:加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)、初始化(Initialization)、使用
2015-07-28 08:47:12 3616 2
转载 Linux Out-Of-Memory(OOM) Killer分析
Linux Out-of-Memory(OOM) Killer Linux有一个特性:OOM Killer,一个保护机制,用于避免在内存不足的时候不至于出现严重问题,把一些无关的进程优先杀掉,即在内存严重不足时,系统为了继续运转,内核会挑选一个进程,将其杀掉,以释放内存,缓解内存不足情况,不过这种保护是有限的,不能完全的保护进程的运行。 在很多情况下,经常会看到还有剩余内
2015-07-27 08:53:40 2663
原创 The return type is incompatible with JspSourceDependent.getDependants():JasperException问题分析与解决方法
Linux下基于JSP的报表集成到项目中后,显示不出来,查看tomcat的日志,有如下报错信息:The return type is incompatible with JspSourceDependent.getDependants()Stacktrace:] with root cause org.apache.jasper.JasperException: Unable to
2015-07-27 08:52:34 7419 1
原创 [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket错误解决方法总结
今天做一个特殊的业务处理,用JDBC连接SQLServer数据库加载驱动的时候,报如下错误:java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket. at com.microsoft.jdbc.base.BaseExceptions.createException(
2015-07-27 08:50:21 9577 1
翻译 为什么不能用memcached存储Session?
Memcached创建者Dormando很早就写过两篇文章[1][2],告诫开发人员不要用memcached存储Session。他在第一篇文章中给出的理由大致是说,如果用memcached存储Session,那么当memcached集群发生故障(比如内存溢出)或者维护(比如升级、增加或减少服务器)时,用户会无法登录,或者被踢掉线。而在第二篇文章中,他则指出,memcached的回收机制可能会导致用
2015-07-27 08:49:05 1346
原创 Memcached客户端-XMemcached使用
一、 XMemcached 简介 XMemcached 是一个新 java memcached client 。也许你还不知道 memcached 是什么?可以先看看这里。简单来说, Memcached 是一个高性能的分布式内存对象的 key-value 缓存系统,用于动态 Web 应用以减轻数据库负载,现在也有很多人将它作为内存式数据库在使用, memcached 通过它的自定义协议
2015-07-24 08:57:42 3818 1
原创 使用memcached客户端Xmemcached与Spring整合
1 简介Xmemcached是一个高性能的基于java nio的memcached客户端。在经过三个RC版本后,正式发布1.10-final版本。xmemcached特性一览:1、高性能2、支持完整的memcached文本协议,二进制协议将在1.2版本实现。3、支持JMX,可以通过MBean调整性能参数、动态添加/移除server、查看统计等。4、支持客户端统计5、支持
2015-07-24 08:54:43 4497
原创 Ehcache与Memcache的区别
ehcache是纯java编写的,通信是通过RMI方式,适用于基于java技术的项目。memcached服务器端是c编写的,客户端有多个语言的实现,如c,php(淘宝,sina等各大门户网站),python(豆瓣网), java(Xmemcached,spymemcached)。memcached服务器端是使用文本或者二进制通信的。 项目Memcache
2015-07-24 08:53:25 5103 1
转载 Memcached深度分析
Memcached深度分析 Memcached是danga.com(运营LiveJournal的技术团队)开发的一套分布式内存对象缓存系统,用于在动态系统中减少数据库负载,提升性能。关于这个东西,相信很多人都用过,本文意在通过对memcached的实现及代码分析,获得对这个出色的开源软件更深入的了解,并可以根据我们的需要对其进行更进一步的优化。末了将通过对BSM_Memcache扩展的分析,
2015-07-23 09:00:50 1305
转载 高性能缓存Memcached使用教程
Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。 本文主要介绍如何在Linux系统CENTOS 7下安装最新版的Memcached,并且详细介绍Memcached的启动和关闭细节,以及如何在Window7 下使用telnet远程连接 Memcached, 最后着重介绍了关于Memcached的各种数据操作指令。本文涉及
2015-07-23 08:58:13 10453 4
翻译 使用Memcached改进Java企业级应用性能:架构和设置
Memcached由Danga Interactive开发,用来提升LiveJournal.com网站性能。Memcached分布式架构支持众多的社交网络应用,Twitter、Facebook还有Wikipedia。在接下来的两部分教程中,Sunil Patil介绍了Memcached分布式哈希表架构,以及利用它帮助你为数据驱动Java企业应用做数据缓存。本文介绍了如何利用Memcache
2015-07-23 08:57:03 1918
原创 JVM垃圾收集相关常用参数
参 数 描 述 UseSerialGC 虚拟机运行在Client 模式下的默认值,打开此开关后,使用Serial +Serial Old 的收集器组合进行内存回收 UseParNewGC 打开此开关后,使用ParNew + Serial Old 的收集器组合进行内存回收 UseConcMarkS
2015-07-03 08:54:14 2315
原创 java对象在堆内存中的分配原则
1、对象优先分配在Eden区,如果Eden区没有足够的空间时,虚拟机执行一次Minor GC。2、大对象直接进入老年代(大对象是指需要大量连续内存空间的对象)。这样做的目的是避免在Eden区和两个Survivor区之间发生大量的内存拷贝(新生代采用复制算法收集内存)。3、长期存活的对象进入老年代。虚拟机为每个对象定义了一个年龄计数器,如果对象经过了1次Minor GC那么对象会
2015-07-03 08:52:43 3401
hamcrest-core-1.3.jar 单元测试JUnit框架必须jar包
2015-03-13
hamcrest-library-1.3.jar程序文件
2015-03-13
Optimizeit Profiler6.0完整版+使用手册.rar )
2015-01-28
java注解、Spring注解、Hibernate注解、Struts2注解等注解大全
2015-01-11
深入理解Java虚拟机--JVM高级特性与最佳实践.pdf
2015-01-05
阿里巴巴java电话面试整理
2014-12-26
timeseriesForecasting.jar.zip-weka.jar里时间序列预测必备jar
2017-09-06
java邮件功能三大jar包commons-email-1.3.3,activation,mail.zip
2015-03-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人