自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(54)
  • 问答 (3)
  • 收藏
  • 关注

原创 nginx的反向代理的两大作用

1: 通过配置缓存功能加速Web请求:可以缓存真实Web服务器上的某些静态资源,减轻真实Web服务器的负载压力;(image,js,css)2: 充当负载均衡服务器均衡地分发请求,平衡集群中各个服务器的负载压力; ...

2015-12-18 13:56:00 642

原创 redis应用场景

Redis在很多方面与其他数据库解决方案不同:它使用内存提供主存储支持,而仅使用硬盘做持久性的存储;它的数据模型非常独特,用的是单线程。另一个大区别在于,你可以在开发环境中使用Redis的功能,但却不需要转到Redis。转向Redis当然也是可取的,许多开发者从一开始就把Redis作为首选数据库;但设想如果你的开发环境已经搭建好, 应用已经在上面运行了,那么更换数据库框架显然不那么容易。另外在...

2015-12-14 19:33:53 382

原创 Linux下定时执行脚本

Linux下定时执行脚本 今天做了个数据库的备份脚本,顺便系统得学习一下Linux下定时执行脚本的设置。Linux下的定时执行主要是使用crontab文件中加入定制计划来执行,设置比Windows稍微复杂一些(因为没有图形界面嘛),但是也不是非常复杂,基本上用过一遍就能记住了,关键是要记住/var/spool/cron这个目录。下面看一下具体的用法: 首先...

2015-02-04 14:08:27 130

原创 office文档转换为pdf

import java.io.File;import org.artofsolving.jodconverter.OfficeDocumentConverter;import org.artofsolving.jodconverter.office.DefaultOfficeManagerConfiguration;import org.artofsolving.jodconver...

2015-01-26 12:01:17 145

原创 前端优化方法

1:拆分初始化负载 Ajax 和动态 HTML 的日益普及网页上面的 js 和 css 也变得非常庞大, web 程序也变得像桌面程序一样,很大一部分代码不会在启动时候使用,而是采取插件式架构,允许动态加载模块。在一个大型结构复杂的网页上面,为了不影响用户体验,可以把 js 分为两部分,一部分是渲染页面必须的,剩下是一部分。这样也在一定程度上面提高用户体验,给用户第一时间看到完整的页面。再...

2014-12-16 16:48:41 170

原创 Spring MVC配置

spring MVC配置详解现在主流的Web MVC框架除了Struts这个主力 外,其次就是Spring MVC了,因此这也是作为一名程序员需要掌握的主流框架,框架选择多了,应对多变的需求和业务时,可实行的方案自然就多了。不过要想灵活运用Spring MVC来应对大多数的Web开发,就必须要掌握它的配置及原理。  一、Spring MVC环境搭建:(Spring 2.5.6 +...

2014-11-19 14:18:02 69

原创 Spring 读取 properties 文件的解决方案

一、只读取单个 properties 文件1、在 spring 的配置文件中,加入引入命名空间:xmlns:util="http://www.springframework.org/schema/util"xsi:schemaLocation="http://www.springframework.org/schema/util http://www.springfr...

2014-11-05 23:16:22 84

原创 weblogic部署

http://blog.sina.com.cn/s/blog_695ef52801016qf6.html

2014-09-10 22:18:16 81

原创 cxf服务端+axis2 1.6客户端配置

1. java web service(cxf)服务端配置说明1.项目环境 struts2+hibernate3+spring2.5 cxf版本为apache-cxf-2.3.3.zip2.配置步骤 a.在项目web.xml文件中加入CXF的servlet 说明:@WebService注解,标注此接口为web se...

2014-07-23 23:28:37 135

原创 maven 添加自己的包到本地仓库及到项目中

maven 构建项目时,可能会引用到一些公司的其他项目。或引用的jar 包在maven 主仓库加载不到。这时我们可以将我们需要的jar 包安装到本地仓库中。方法如下。 org.springframework spring-context-support 3.1.0.RELEASEMaven 安装 JAR 包的命令是:mvn ...

2014-07-08 22:48:22 339

原创 利用spring来配置文件路径

最近项目需要读取一些配置文件(excel),对于怎么取到文件路径,我想到了以下两种方法1)this.getClass().getClassLoader().getResource("")2)通过spring自带的org.springframework.core.io.Resource类例子:[code="java"]package com.pactera.platform....

2014-07-04 11:37:30 148

原创 spring data jpa 介绍

使用 Spring Data JPA 进行持久层开发大致需要的三个步骤:1:声明持久层的接口,该接口继承 Repository,Repository 是一个标记型接口,它不包含任何方法,当然如果有需要,Spring Data 也提供了若干 Repository 子接口,其中定义了一些常用的增删改查,以及分页相关的方法。 2:在接口中声明需要的业务方法。Spring Data 将根据给定...

2014-06-19 17:31:27 73

原创 java 内存泄漏

Java内存泄漏一边分为下面两种情况。一:内存对象明明已经不需要的时候,还仍然保留着这块内存和它的访问方式(引用)例子:[code="java"] import java.util.*; public class Stack { private Object[] elements; private int size = 0; pr...

2014-06-10 00:28:26 67

原创 多线程的方式复制表

用多线程的方式,将A表中的数据复制到相同结构的B表。 数据量很大,要求速度。 问题是怎么能保证多线读A表的时候,不会读到重复的数据。 答案:1.搜索到1000条数据 2.根据ID进行hash运算,最简单方式取余 3.根据hash运算以及你的CPU内核,execute创建线程池 4.然后根据hash运算后的结果,分配到不同线程 5.创建异步任务,任务submi...

2014-06-04 18:57:52 153

原创 IntroSpector应用

内省(IntroSpector)是Java语言对JavaBean 类属性、事件的一种缺省处理方法。例如类A中有属性name, 那我们可以通过getName,setName 来得到其值或者设置新的值。通过getName/setName 来访问name属性,这就是默认的规则。Java中提供了一套API 用来访问某个属性的getter/setter方法,通过这些API 可以使你不需要了解这个...

2014-05-27 11:03:13 88

原创 jar包冲突解决方法

at org.apache.jsp.index_jsp._jspInit(index_jsp.java:23)环境:Tomcat6 + jdk6Tomcat服务启动成功,但访问index.jsp出错,Tomcat报错如下:严重: Servlet.service() for servlet jsp threw exceptionjava.lang.NullPointe...

2014-05-19 23:33:50 185

原创 oracle的分区表

表空间:是一个或多个数据文件的集合,所有数据对象都存放在指定的表空间中,但主要存放表,故称表空间。分区表:当表中的数据量不断增大,查询数据的速度就会变慢,应用程序的性能就会下降,这时就应该考虑对表进行分区。表进行分区后,逻辑上表仍然是一张完整的表,只是将表中的数据在物理上存放到多个表空间(物理文件上),这样查询数据时,不至于每次都扫描整张表。表分区的具体作用:...

2014-05-19 11:28:40 157

原创 防止线程死掉的方法

多线程编程中,经常遇到这样的问题,就是线程死掉怎么办?我想了一下,大概有三种方式1)比较简单的就是利用线程池,线程死掉后,会自动再创建线程。2)如果是主线程的话,就用一个监视线程来管理,如果主线程死掉,通知监视线程,监视线程再创建一个线程。如果监视线程死掉,那就彻底挂了。3)心跳机制,线程每隔一段时间往另一服务器进程发送数据包,如果服务器进程长时间没有收到心跳包,则说明当前线程已经...

2014-04-18 16:39:38 1218

原创 ibatis动态sql

直接使用JDBC一个非常普遍的问题就是动态SQL。使用参数值、参数本身和数据列都是动态SQL,通常是非常困难的。典型的解决办法就是用上一堆的IF-ELSE条件语句和一连串的字符串连接。对于这个问题,Ibatis提供了一套标准的相对比较清晰的方法来解决一个问题,这里有个简单的例子: select * from user ...

2014-04-17 13:09:27 52

原创 通信方式总结

之前做了一个支付相关的项目,分别用到了不同的通信方式,现在来总结一下方式1:http方式HTTP连接最显著的特点是客户端发送的每次请求都需要服务器回送响应,在请求结束后,会主动释放连接。就是我们常说的短连接。要保持客户端程序的在线状态,需要不断地向服务器发起连接请求。优点:1)基于应用级的接口使用方便;2)程序员开发水平要求不高,容错性强;缺点:1)传输速度慢,数据...

2014-04-16 23:43:58 165

原创 负载均衡中的轮询调度算法

轮询调度算法是负载均衡技术实现中的核心技术,也是负载均衡设备中的核心实现基础[b]1:轮询调度算法(Round-Robin Scheduling)[/b]轮询调度算法的原理是每一次把来自用户的请求轮流分配给内部中的服务器,从1开始,直到N(内部服务器个数),然后重新开始循环。算法的优点是其简洁性,它无需记录当前所有连接的状态,所以它是一种无状态调度。轮询调度算法流程 假设有一...

2014-03-25 19:09:45 278

原创 tomcat下java读取XML不用重启的方法

项目中遇到这样一个问题,客户会经常更改配置文件,而且不想重启tomcat。下面旧的写法,每回必须重启,而新的写法则不用。旧:[code="java"]public void parse() { InputStream is = Thread.currentThread().getContextClassLoader() ...

2014-03-25 11:42:23 126

原创 tomcat中三种部署项目的方法

第一种方法:在tomcat中的conf目录中,在server.xml中的,节点中添加: 至于Context 节点属性,可详细见相关文档。 第二种方法:将web项目文件件拷贝到webapps 目录中。 第三种方法:很灵活,在conf目录中,新建 Catalina(注意大小写)\localhost目录,在该目录中新建一个xml文件,名字可以随意取,只要和当前文件中的文件...

2014-03-24 23:49:11 60

原创 Java线程大总结

看到了一篇博文,虽然不是很详细,但是很全面和易懂。收集一下以后可以方便查看。Java线程(1):概念与原理 Java线程(2):创建与启动 Java线程(3):线程栈模型与线程的变量 Java线程(4):线程状态的转换 Java线程(5):线程的同步与锁 Java线程(6):线程的交互 Java线程(7):线程的调度-休眠 Java线程(8):线程的调度-优先级...

2014-03-20 23:00:36 59

原创 oracle性能优化总结

oracle是一个很成熟的数据库产品,当然性能方面也有不俗的表现。尤其是9i之后又做了很多好的改进。现在已经到12c了,不过本人只用过11g,最近有时间了,我把自己对性能的一些拙见总结一下。(有一些是来自网上,自己又给整理了一下)ORACLE性能的体现主要在CPU利用率和I/O读写次数这两个方面。自然优化也是围绕这两个方面展开。[size=medium][b]1:oracle的...

2014-03-04 16:05:08 1706

原创 数据库水平切分的实现原理解析

作者分析的很全面数据库水平切分的实现原理解析http://www.iteye.com/topic/409294

2014-02-26 23:30:27 60

原创 java代码优化总结

1:在任何可能的地方使用局部变量 属于方法调用部分的自变量和声明为此调用一部分的临时变量存储在栈中,这比较快。诸如static,实例(instance)变量和新的对象创建在堆中,这比较慢。局部变量的更深入优化依赖于你正在使用的编译器或虚拟机。 2: 在任何可能的地方让类为Final 3:乘法和除法 如果是2的倍数,尽量用移位方法4:try catch 尽量不要在循环中使用。在异...

2014-02-13 22:54:45 82

原创 sql update多表关联

一、建立测试表CREATE TABLE t_user (ID int identity PRIMARY KEY,UserID varchar(50) not null,UserName varchar(50) null,deptID int not null,phone varchar(50) null,fax varchar(50) null)CREATE...

2014-02-13 22:31:13 132

原创 spring配置properties

我们可以生成如下的属性文件(/WEB-INF/jdbc.properties): jdbc.driver=org.postgresql.Driver jdbc.url=jdbc:postgresql://localhost/test jdbc.user=postgres jdbc.password=   我们的Bean配置如下: ...

2014-02-11 21:57:55 68

原创 nio的简单用法总结

新的输入/输出(NIO)库是在JDK 1.4中引入的。它与原来的I/O库最重要的区别是数据打包和传输的方式的不同,原来的 I/O 以流 的方式处理数据,而 NIO 以块 的方式处理数据。按块处理数据比按(流式的)字节处理数据要快得多。但是面向块的I/O缺少一些面向流的I/O所具有的优雅性和简单性。(1)通道 Channel是对原I/O包中的流的模拟,可以通过它读取和写入数...

2014-02-09 23:14:14 80

原创 I/O 调优

I/O 调优下面就磁盘 I/O 和网络 I/O 的一些常用的优化技巧进行总结如下:磁盘 I/O 优化性能检测我们的应用程序通常都需要访问磁盘读取数据,而磁盘 I/O 通常都很耗时,我们要判断 I/O 是否是一个瓶颈,我们有一些参数指标可以参考:如我们可以压力测试应用程序看系统的 I/O wait 指标是否正常,例如测试机器有 4 个 CPU,那么理想的 I/O wa...

2014-02-09 20:18:10 122

原创 深入分析 Java 中的中文编码问题

今天看了一片关于编码的文章,写的很全面,跟大家分享一下http://www.ibm.com/developerworks/cn/java/j-lo-chinesecoding/

2014-02-09 19:07:03 57

原创 避免Java内存泄漏的方法

1、静态集合类像HashMap、Vector等的使用最容易出现内存泄露,这些静态变量的生命周期和应用程序一致,所有的对象Object也不能被释放,因为他们也将一直被Vector等应用着。2:大量临时变量的使用,没有及时将对象设置为null也可能导致内存的泄露3:数据库的连接没有关闭情况,包括连接池方法连接数据库,如果没有关闭ResultSet等也都可能出现内存泄露的问题。4:避免过深的...

2014-01-25 00:14:39 113

原创 ibatiS的缓存机制用法

首先下面说一下具体配置。1,sqlMapConfig.xml中配置 [code="java"]1.1.SqlMapConfig.xml中 2. [code="java"]2,配置具体的sqlMap.xml[code="java"]1. 3. 4. 5. 6. 7. ...

2014-01-24 23:26:48 196

原创 大数据并发的故障隔离机制

现在的一些网站,特别是像淘宝之类的支付网站,会在某一个时刻产生巨大的并发量,如果没有一定的隔离机制,会导致整个服务器链的瘫痪。下面我来简单介绍一下隔离机制。比如,支付过程涉及三个服务器,A,B,C,过程客户端向A发送请求,A向B发请求,B再向C发请求,然后C回应B,B回应A,这样完成一次支付。如果大访问量的情况下,C发生故障,则容易造成A和B的宕机。为了避免这样的情况发生,可以事先通过压力测试...

2014-01-18 17:53:09 947

原创 线程池原理和应用

我们通常想要的是同一组固定的工作线程相结合的工作队列,它使用 wait() 和 notify() 来通知等待线程新的工作已经到达了。该工作队列通常被实现成具有相关监视器对象的某种链表。清单 1 显示了简单的合用工作队列的示例。[b]清单 1. 具有线程池的工作队列[/b][code="java"]public class WorkQueue{ private fina...

2014-01-17 13:35:28 63

原创 JVM原理

说JVM之前先来说一下Java中的堆和栈。1:数据类型Java虚拟机中,数据类型可以分为两类:基本类型和引用类型基本类型的变量保存原始值,即:他代表的值就是数值本身;而引用类型的变量保存引用值。“引用值”代表了某个对象的引用,而不是对象本身,对象本身存放在这个引用值所表示的地址的位置。 1)基本类型包括:byte,short,int,long,char,float,doub...

2014-01-01 15:06:36 55

原创 分布式开发的简单案例及实现

分布式可繁也可以简,最简单的分布式就是大家最常用的,在负载均衡服务器后加一堆web服务器,然后在上面搞一个缓存服务器来保存临时状态,后面共享一个数据库,大致结构如下图所示:[img]http://dl2.iteye.com/upload/attachment/0092/7246/39ecac10-ecaf-3d05-9528-f3ce6e95d564.gif[/img]实现方式:(一)...

2014-01-01 13:51:32 341

原创 怎么实现一个线程安全类

提到线程安全,大家都想到用synchonized关键字,其实还有另一种方法,就是ThreadLocal,它通过为每个线程提供一个独立的变量副本解决了变量并发访问的冲突问题。在很多情况下,ThreadLocal比直接使用synchronized同步机制解决线程安全问题更简单,更方便,且结果程序拥有更高的并发性。下面来看一个hibernate中典型的ThreadLocal的应用:[code="...

2013-12-31 23:29:26 468

原创 java 的proxy机制

动态代理其实就是java.lang.reflect.Proxy类动态的根据您指定的所有接口生成一个class byte,该class会继承Proxy类,并实现所有你指定的接口(您在参数中传入的接口数组);然后再利用您指定的classloader将 class byte加载进系统,最后生成这样一个类的对象,并初始化该对象的一些值,如invocationHandler,以即所有的接口对应的Method...

2013-12-31 17:12:09 65

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除