自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 收藏
  • 关注

转载 如何调优JVM - 优化Java虚拟机

堆设置-Xmx3550m:设置JVM最大堆内存 为3550M。 -Xms3550m:设置JVM初始堆内存 为3550M。此值可以设置与-Xmx相同,以避免每次垃圾回收完成后JVM重新分配内存。 -Xss128k: 设置每个线程的栈 大小。JDK5.0以后每个线程栈大小为1M,之前每个线程栈大小为256K。应当根据应用的线程所需内存大小进行调整。在相同物理内存下,减小这个值能 生成更多的

2015-01-15 17:13:18 503

转载 Java安全(加密、摘要、签名、证书、SSL、HTTPS)

对于一般的开发人员来说,很少需要对安全领域内的基础技术进行深入的研究,但是鉴于日常系统开发中遇到的各种安全相关的问题,熟悉和了解这些安全技术的基本原理和使用场景还是非常必要的。本文将对非对称加密、数字摘要、数字签名、数字证书、SSL、HTTPS等这些安全领域内的技术进行一番简要的介绍,解释他们之间的关系,同时补充一些周边话题。安全领域的技术众多,但是归根结底,他们都是为了保障如下三个方面:

2015-01-12 15:26:50 694

转载 Zero Copy 简介

许多web应用都会向用户提供大量的静态内容,这意味着有很多data从硬盘读出之后,会原封不动的通过socket传输给用户。这种操作看起来可能不会怎么消耗CPU,但是实际上它是低效的:kernal把数据从disk读出来,然后把它传输给user级的application,然后application再次把同样的内容再传回给处于kernal级的socket。这种场景下,application实际上只是作为

2015-01-12 13:46:21 485

转载 oracle中判断某列是否为数字

oracle中判断某列是否为数字在我们平常的开发中可能会遇到这样的问题,就是判断某一列是否全部由数字组成,我们都知道oracle并没有给我们提供这样一个现成的函数,那么根据我的经验我总结了两个行之有效的方法(列名:column,表名:table): 1.使用trim+translate函数:    select * from table where trim(t

2014-10-27 17:22:47 1094

转载 数据库事务隔离级别

数据库事务的隔离级别有4个,由低到高依次为Read uncommitted、Read committed、Repeatable read、Serializable,这四个级别可以逐个解决脏读、不可重复读、幻读这几类问题。√: 可能出现    ×: 不会出现脏读不可重复读幻读Read uncommitted√√√Re

2014-08-13 11:15:53 451

转载 java.lang.ThreadLocal类

深入研究java.lang.ThreadLocal类  一、概述 ThreadLocal是什么呢?其实ThreadLocal并非是一个线程的本地实现版本,它并不是一个Thread,而是threadlocalvariable(线程局部变量)。也许把它命名为ThreadLocalVar更加合适。线程局部变量(ThreadLocal)其实的功用非常简单,就是为每一

2014-06-24 13:44:04 489

转载 XSS攻击

XSS 全称(Cross Site Scripting) 跨站脚本攻击, 是Web程序中最常见的漏洞。指攻击者在网页中嵌入客户端脚本(例如JavaScript), 当用户浏览此网页时,脚本就会在用户的浏览器上执行,从而达到攻击者的目的.  比如获取用户的Cookie,导航到恶意网站,携带木马等。作为测试人员,需要了解XSS的原理,攻击场景,如何修复。 才能有效的防止XSS的发生。

2014-05-28 15:09:29 614

转载 spring模板的使用

运行环境:使用了dbcp数据源:我用的JAR包有:commons-collections-3.1.jar    commons-dbcp.jar    commons-pool.jar   ojdbc14.jar(或class12.jar)如果不知道哪里找JAR包的话 可以建一个普通的java工程,不是web工程哦!~再右键-->myeclipse--add spr

2014-05-21 10:10:50 678

转载 hessian 序列化实现 初探

众所周知大名鼎鼎的开源remoting的框架hessian的速度是非常快的,有人做过测试:一个UserData类,有一个字符串属性,一个日期属性,一个double属性,分别用java,hessian来序列化一百万次,结果让人吃惊,不止是hessian序列化的速度要比java的快上一倍,而且hessian序列化后的字节数也要比java的少一倍.总是疑惑不解,为什么hessian的速度会那么快,这估计

2014-05-16 11:32:06 2241

原创 java的Comparator和Comparable

java的Comparator和Comparable 当需要排序的集合或数组不是单纯的数字型时,通常可以使用Comparator或Comparable,以简单的方式实现对象排序或自定义排序。      一、Comparator 强行对某个对象collection进行整体排序的比较函数,可以将Comparator传递给Collections.sort或Arrays.sort。 接口方

2014-04-30 14:01:33 512

转载 JDBC常见面试题集锦

什么是JDBC,在什么时候会用到它?JDBC的全称是Java DataBase Connection,也就是Java数据库连接,我们可以用它来操作关系型数据库。JDBC接口及相关类在java.sql包和javax.sql包里。我们可以用它来连接数据库,执行SQL查询,存储过程,并处理返回的结果。JDBC接口让Java程序和JDBC驱动实现了松耦合,使得切换不同的数据库变得更加简单。

2014-03-18 13:58:04 433

转载 淘宝数据魔方技术架构解析【转】

淘宝网拥有国内最具商业价值的海量数据。截至当前(2011年8月),每天有超过30亿的店铺、商品浏览记录,10亿在线商品数,上千万的成交、收藏和评价数据。如何从这些数据中挖掘出真正的商业价值,进而帮助淘宝、商家进行企业的数据化运营,帮助消费者进行理性的购物决策,是淘宝数据平台与产品部的使命。为此,我们进行了一系列数据产品的研发,比如为大家所熟知的量子统计、数据魔方和淘宝指数等。尽管从业务层面

2014-02-27 17:35:25 836

原创 常用的正则表达式

匹配中文字符的正则表达式: [u4e00-u9fa5]评注:匹配中文还真是个头疼的事,有了这个表达式就好办了匹配双字节字符(包括汉字在内):[^x00-xff]评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)匹配空白行的正则表达式:ns*r评注:可以用来删除空白行匹配HTML标记的正则表达式:]*>.*?|评注:网

2014-01-24 15:10:52 485

原创 Javacopy文件注意点

平时写IO相关代码机会挺少的,但却都知道使用BufferedXXXX来读写效率高,没想到里面还有这么多陷阱,这两天突然被其中一个陷阱折腾一下:读一个文件,然后写到另外一个文件,前后两个文件居然不一样?     解决这个问题之后,总结了几个注意点。 注意点一:Reader/Writer读写二进制文件是有问题的 :[java] view plainc

2014-01-24 15:06:03 679

转载 大型网站架构演变和知识体系

之前也有一些介绍大型网站架构演变的文章,例如LiveJournal的、ebay的,都是非常值得参考的,不过感觉他们讲的更多的是每次演变的结果,而没有很详细的讲为什么需要做这样的演变,再加上近来感觉有不少同学都很难明白为什么一个网站需要那么复杂的技术,于是有了写这篇文章的想法,在这篇文章中将阐述一个普通的网站发展成大型网站过程中的一种较为典型的架构演变历程和所需掌握的知识体系,希望能给想从事互联网行

2014-01-15 17:23:36 555

转载 maven profile样例

Profiles是maven的一个很关键的术语:profile是用来定义一些在build lifecycle中使用的environmental variations,profile可以设置成在不同的环境下激活不同的profile(例如:不同的OS激活不同的profile,不同的JVM激活不同的profile,不同的dabase激活不同的profile等等)。 定义Profiles 

2014-01-09 19:43:24 645

转载 Oracle的Flashback用法汇总

/*11g的flashbackup 分好几种,分别用途不一样。A.flashback database 闪回数据库,简单理解就是把数据库闪回到某个以前的时间点,能恢复到的最早的SCN, 取决与Flashback Log中记录的最早SCNB.flashback drop 回收数据库表,用于表误drop后恢复。类似Windows的回收站。C.flashback

2014-01-09 10:54:41 696

原创 IP工具类

import javax.servlet.http.HttpServletRequest;public class IpUtil { /* IP to Long */ public static long ipToLong(String ip) { long result = 0; try { String[] strs

2014-01-08 16:00:54 592

转载 高并发高流量网站架构

高并发高流量网站架构1 引言1.1 互联网的发展    最近十年间,互联网已经从一个单纯的用于科研的,用来传递静态文档的美国内部网络,发展成了一个应用于各行各业的,传送着海量多媒体及动态信息的全球网络。从规模上看,互联网在主机数、带宽、上网人数等方面几乎一直保持着指数增长的趋势,2006年7月,互联网上共有主机439,286,364台,WWW 站点数量达到 96,854

2014-01-08 15:50:14 755

转载 进程与Java线程的区别

应用程序在执行过程中存在一个内存空间的初始入口点地址、一个程序执行过程中的代码执行序列以及用于标识进程结束的内存出口点地址,在进程执行过程中的每一时间点均有唯一的处理器指令与内存单元地址相对应。 Java语言中定义的线程(Thread)同样包括一个内存入口点地址、一个出口点地址以及能够顺序执行的代码序列。但是进程与线程的重要区别在于线程不能够单独执行,它必须运行在处于活动状态的应用程序进程

2014-01-08 10:37:39 1018

转载 redis使用案例

import java.util.ArrayList; import java.util.List; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; import redis.clients.jedis.JedisPoolConfig; import redis.clients.jedis.J

2014-01-07 10:30:58 817

原创 javaSet遍历

import java.util.HashSet;import java.util.Iterator;import java.util.Set;public class Setget { /** * @param args */ public static void main(String[] args) { // TODO Auto-

2014-01-05 15:04:51 1020

原创 JAVA读取Excel中的数据

package test.hello;    import java.io.File;  import java.io.IOException;    import jxl.Cell;  import jxl.Sheet;  import jxl.Workbook;  import jxl.read.biff.BiffException;    public

2014-01-05 15:04:11 492

转载 JAVA用JDBC模式简单的连接数据库

package test.hello;    import java.sql.Connection;  import java.sql.DriverManager;  import java.sql.PreparedStatement;  import java.sql.ResultSet;  import java.sql.SQLException;    pub

2014-01-05 15:03:03 513

原创 Map的几种遍历方法

import java.util.HashMap;import java.util.Iterator;import java.util.Map;public class MapGet { public static void main(String[] args) { Map map = new HashMap(); map.put("1", "v

2014-01-05 14:55:23 531

转载 Java 枚举7常见种用法

DK1.5引入了新的类型——枚举。在 Java 中它虽然算个“小”功能,却给我的开发带来了“大”方便。用法一:常量在JDK1.5 之前,我们定义常量都是: publicstaticfianl.... 。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。 Java代码 public enum Color { 

2013-12-23 16:06:57 477

原创 普通javabean转成Map

/** * * 功能描述: * 报文Dto转换为Map * * @param obj * @return * @throws Exception */ public static Map transBean2Map(Object obj) throws Exception { if (ob

2013-12-19 16:04:48 567

转载 hashCode

1.hashcode是用来查找的,如果你学过数据结构就应该知道,在查找和排序这一章有例如内存中有这样的位置0 1 2 3 4 5 6 7而我有个类,这个类有个字段叫ID,我要把这个类存放在以上8个位置之一,如果不用hashcode而任意存放,那么当查找时就需要到这八个位置里挨个去找,或者用二分法一类的算法。但如果用hashcode那就会使效率提高很多。我 们这个类中有个字段叫I

2013-12-19 11:13:51 497

原创 java加解密

import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.util.Enumeration;

2013-12-18 19:40:13 671

原创 MD5加解密

import org.apache.commons.lang.StringUtils;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;/** * MD5加密

2013-12-18 19:38:56 610

原创 3DESjava加解密

package xx.utils;import java.io.BufferedOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;impor

2013-12-18 19:37:10 743

原创 js中substring和substr的用法

substring 方法用于提取字符串中介于两个指定下标之间的字符substring(start,end)开始和结束的位置,从零开始的索引参数     描述start     必需。一个非负的整数,规定要提取的子串的第一个字符在 stringObject 中的位置。stop     可选。一个非负的整数,比要提取的子串的最后一个字符在 stringObject 中的位置多 1。

2013-12-18 19:30:30 480

转载 java中HashSet详解

HashSet 的实现 对于 HashSet 而言,它是基于 HashMap 实现的,HashSet 底层采用 HashMap 来保存所有元素,因此 HashSet 的实现比较简单,查看 HashSet 的源代码,可以看到如下代码: Java代码  public class HashSet    extends AbstractSet    im

2013-12-18 19:24:14 723

转载 ConcurrentHashMap 高并发性的实现机制

简介ConcurrentHashMap 是 util.concurrent 包的重要成员。本文将结合 Java 内存模型,分析 JDK 源代码,探索 ConcurrentHashMap 高并发的具体实现机制。由于 ConcurrentHashMap 的源代码实现依赖于 Java 内存模型,所以阅读本文需要读者了解 Java 内存模型。同时,ConcurrentHashMap 的源代

2013-12-18 19:21:41 542

原创 给java工程添加hession

服务端:1.增加pom依赖2.web.xml添加 remoting org.springframework.web.servlet.DispatcherServlet 1 remoting /remoting/* 3.增加remoting-servlet.xml文件内容:<beans xmlns="http:

2013-12-18 19:16:37 548

原创 maven几个知识点

1.如果大项目下有好几个子项目,要一个一个编译比较麻烦则可以使用聚集,建一个父工程,里面只有一个pom 4.0.0 xxx xxx-parent 1.0.1-SNAPSHOT xxx xxx pom xxx UTF-8 0.0.2-SNAPSHOT org.apache.maven.archetype

2013-12-18 19:03:07 525

原创 使用spring@Transactional指定数据源

在项目中有多个数据源,又想使用@Transactional,可以在配置的时候给事务加个别名,如 <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <bean id="transactionManagerTrol"

2013-12-18 18:39:37 6914 1

转载 Spring事务配置的五种方式

前段时间对Spring的事务配置做了比较深入的研究,在此之间对Spring的事务配置虽说也配置过,但是一直没有一个清楚的认识。通过这次的学习发觉Spring的事务配置只要把思路理清,还是比较好掌握的。    总结如下:    Spring配置文件中关于事务配置总是由三个组成部分,分别是DataSource、TransactionManager和代理机制这三部分,无论哪种配置方式,一

2013-12-18 18:28:27 502

原创 java判断字符串中是否包含中文

/**     * 功能:验证字符串是否包含汉字     *      * @param str 要验证的字符串     * @return 包含中文返回ture 不包含返回false     */    public static Boolean checkIsChinese(String str) {        String regEx = "[\u4e00-\

2013-12-18 18:19:07 618

转载 Spring AOP 相关

此前对于AOP的使用仅限于声明式事务,除此之外在实际开发中也没有遇到过与之相关的问题。最近项目中遇到了以下几点需求,仔细思考之后,觉得采用AOP 来解决。一方面是为了以更加灵活的方式来解决问题,另一方面是借此机会深入学习Spring AOP相关的内容。本文是权当本人的自己AOP学习笔记,以下需求不用AOP肯定也能解决,至于是否牵强附会,仁者见仁智者见智。对部分函数的调用进行日志记录,用于观

2013-12-18 17:25:12 434

空空如也

空空如也

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

TA关注的人

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