
java
文章平均质量分 63
xpsharp
这个作者很懒,什么都没留下…
展开
-
java 调用存储过程
Java后台获取存储过程out输出值的方法: String hql = "{Call D_VALID_PRICE_RANGE(?,?)}"; Connection myConnect = SessionFactoryUtils.getDataSource(super.getSessionFactory()).getConnection(); C转载 2015-07-29 11:35:20 · 678 阅读 · 0 评论 -
策略模式
何谓策略模式? 本人的理解是:一个对象要完成一件事情,有很多种实现策略。为了把对象与实现方式解耦,可以使用策略模式(Strategy)模式的组成环境类(Context):用一个ConcreteStrategy对象来配置。维护一个对Strategy对象的引用。可定义一个接口来让Strategy访问它的数据。抽象策略类(Strategy):定义所有支持原创 2012-09-15 17:23:23 · 491 阅读 · 0 评论 -
Java编程中“为了性能”尽量要做到的一些地方
最近的机器内存又爆满了,除了新增机器内存外,还应该好好review一下我们的代码,有很多代码编写过于随意化,这些不好的习惯或对程序语言的不了解是应该好好打压打压了。 下面是参考网络资源总结的一些在Java编程中尽可能要做到的一些地方。1. 尽量在合适的场合使用单例 使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于单例,简单来说,单转载 2012-09-06 19:27:16 · 698 阅读 · 0 评论 -
重写父类方法的规则
两同两小一大 大 小 同 同 小修饰符 返回值 方法名 (参数列表)异常类型原创 2012-08-31 23:45:09 · 657 阅读 · 0 评论 -
JDBCSQL语句生成助手封装助手
用惯框架,来让你写一下JDBC的插入与封装,会让你崩溃的,哈哈,正在做JDBC项目,就现写了个JDBC助手,派上了大用场,呵呵/** * @Version: 1 * @JDK: jdk 1.7 * @Module: myhrm * 2012-7-15 - 上午12:13:57 Created by Sharp */ /*- History *********原创 2012-07-15 01:05:06 · 1407 阅读 · 0 评论 -
连接池的几种设置方法
由于数据库的连接是一个非常耗时的IO操作,所以连接池是为了解决这一问题而出现的。连接池是一种把数据库的连接缓存起来的机制。目的以最多的连接服务最多的请求。目前主流的连接池有以下两种apache的DBCPhibernate的C3P0apache的DBCP的设置方法:第一种配置.tomcat 里配置资源,通过JDK的JNDI来访问资源连接池tomc原创 2012-06-29 12:02:25 · 889 阅读 · 0 评论 -
使用Javassist对.class文件进行修改(AOP面向切面编程)
最近重新再看,对JAVA编译成的字节码结构很感兴趣,希望找个工具能够对.class文件进行的解析和查看。没找到,倒发现javaassist可以对字节码进行操作和修改。此工具是JBOSS项目的一部分,JBOSS实现AOP的基础。呵呵,开眼界了,原来我们可以直接对字节码文件进行修改,哪怕不知道源文件(跟反编译完全不同)。一个简单例子:import javassist.*;class Hello转载 2012-07-06 18:25:10 · 2616 阅读 · 1 评论 -
javaMail实现
package com.sharp.util;import java.util.Properties;import javax.activation.DataHandler;import javax.activation.FileDataSource;import javax.mail.Message.RecipientType;import javax.mail.Session;原创 2012-07-03 23:01:26 · 502 阅读 · 0 评论 -
创建一个奇数*奇数的二维数组,使其横竖斜相加都等于一个数
创建一个奇数*奇数的二维数组,使其横竖斜相加都等于一个数package com.sharp.servlet;public class Test{ public static int size=3; public static void main(String[] args){ int[][] arr = new int[size][size]; int k =原创 2012-06-17 18:27:40 · 1775 阅读 · 0 评论 -
一个简单的五子棋程序
一个简单的五子棋程序 /** * @Version: 1 * @JDK: jdk 1.7 * @Module: MyTag * 2012-6-11 - 下午10:33:15 Created by Sharp */ /*- History ********************************************** * ID原创 2012-06-12 08:18:08 · 901 阅读 · 0 评论 -
成员变量与继承多态的问题
原创 2012-06-01 19:16:06 · 466 阅读 · 0 评论 -
静态块或属性与非静态块或属性的执行时机
原创 2012-06-01 14:28:58 · 430 阅读 · 0 评论 -
java 防止空指针代码
java 防止空指针代码package com.wansha;import java.util.Date;import javax.servlet.ServletRequest;public class ParameterUtil { /** * * 获取字符型参数,若输入字符串为null,则返回设定的默认值 * * * * @param str原创 2012-02-29 14:46:16 · 1341 阅读 · 0 评论 -
SVN安装配置与使用
1、 所选服务器安装包:VisualSVN-Server-2.1.3.msi、2、 客户端安装包:TortoiseSVN-1.6.2.16344-win32-svn-1.6.2.msi一、服务器的安装:注意:location :为安装文件位置,Repositories:为管理的代码仓库的位置,若选中Use secure connection前面的Checkbox,则表示转载 2012-02-24 16:32:29 · 6374 阅读 · 0 评论 -
线程的生命周期
原创 2012-09-17 17:41:20 · 501 阅读 · 0 评论 -
数组排序
public class SortAll { /** * 冒泡排序,选择排序,插入排序,希尔(Shell)排序 Java的实现 */ public static void main(String[] args) { int[] i = { 1, 5, 6, 12, 4, 9, 3, 23, 39, 403, 596, 87 }; System.out.println("---转载 2012-08-08 08:38:49 · 460 阅读 · 0 评论 -
解决字符串GET方式提交乱码问题
解决方案1:用post提交2:package com.tempus.common.utils;import java.io.UnsupportedEncodingException;import java.lang.reflect.Constructor;import java.net.URLDecoder;import javax.servlet.http.HttpS原创 2012-11-19 15:17:37 · 1708 阅读 · 0 评论 -
java8 lambda表达式
consumer void (X)BiConsumer void (X,Y)Supplier T ()Function Y (X)BiFunction Z (X,Y)原创 2015-03-29 22:17:53 · 429 阅读 · 0 评论 -
java 通过反射获取泛型的类型
jdk1.5开始支持泛型,所以我们有时需要把泛型里定义的对象的类型拿到 比如现在我定义了三个类Account, AccountItem和Product类。 Account聚合AccountItem,AccountItem聚合Prodcut。 都是用List和List来表示的 我要实现一个功能,需要动态的传入一个Class的类型,然后反射到启动的List,根据List转载 2015-03-25 16:20:01 · 1591 阅读 · 0 评论 -
JVM 内存结构
用以判断JVM是否存在内存问题呢?如何判断JVM垃圾回收是否正常?一般的top指令基本上满足不了这样的需求,因为它主要监控的是总体的系统资源,很难定位到java应用程序。Jstat是JDK自带的一个轻量级小工具。全称“Java Virtual Machine statistics monitoring tool”,它位于java的bin目录下,主要利用JVM内建的指令对Java应用程序转载 2014-11-14 13:55:20 · 788 阅读 · 0 评论 -
JVM基础:JVM参数设置、分析
不管是YGC还是Full GC,GC过程中都会对导致程序运行中中断,正确的选择不同的GC策略,调整JVM、GC的参数,可以极大的减少由于GC工作,而导致的程序运行中断方面的问题,进而适当的提高Java程序的工作效率。但是调整GC是以个极为复杂的过程,由于各个程序具备不同的特点,如:web和GUI程序就有很大区别(Web可以适当的停顿,但GUI停顿是客户无法接受的),而且由于跑在各个机器上的配置不同转载 2014-11-14 13:51:39 · 580 阅读 · 0 评论 -
Xms Xmx PermSize MaxPermSize 区别
Eclipse崩溃,错误提示:MyEclipse has detected that less than 5% of the 64MB of Perm Gen (Non-heap memory) space remains. It is strongly recommendedthat you exit and restart MyEclipse with new virtual ma转载 2014-06-10 16:37:35 · 636 阅读 · 0 评论 -
URL 连接超时
package com.sharp.url;import java.io.IOException;import java.net.URL;import java.net.URLConnection;import javax.management.RuntimeErrorException;/** * Hello world! * */public class App {原创 2014-02-19 17:18:57 · 6064 阅读 · 0 评论 -
java常用设计模式
设计模式;一个程序员对设计模式的理解:“不懂”为什么要把很简单的东西搞得那么复杂。后来随着软件开发经验的增加才开始明白我所看到的“复杂”恰恰就是设计模式的精髓所在,我所理解的“简单”就是一把钥匙开一把锁的模式,目的仅仅是着眼于解决现在的问题,而设计模式的“复杂”就在于它是要构造一个“万能钥匙”,目的是提出一种对所有锁的开锁方案。在真正理解设计模式之前我一直在编写“简单”的代码.这个转载 2013-12-31 13:49:09 · 706 阅读 · 0 评论 -
jdk 动态代理与spring 动态代理区别
jdk 动态代理的创建速度比cglib的动态代理创建速度要快8倍左右,但cglib的动态代理性能要比jdk动态代理快10倍以上,所以一般sington bean 用cglib动态代理比较好,而prototype bean 用jdk动态代理会较好jdk动态代理类:package com.sharp.cxf.service;import java.lang.reflect.Invo原创 2013-07-23 21:33:40 · 2658 阅读 · 0 评论 -
java线程API学习 线程池ThreadPoolExecutor
线程池ThreadPoolExecutor继承自ExecutorService。是jdk1.5加入的新特性,将提交执行的任务在内部线程池中的可用线程中执行。构造函数ThreadPoolExecutor(int corePoolSize, int maximumPoolSize,转载 2013-03-18 14:05:53 · 892 阅读 · 0 评论 -
Java annotation enum Demo
枚举类:package com.sharp.shiro.vo;public enum Sex{ MALE("man"), FEMALE("woman"); String age; private Sex(String age){ this.age = age; }}annotation类:package com.sharp.shiro.vo;import java.原创 2013-01-27 15:18:22 · 1390 阅读 · 0 评论 -
浅析Java虚拟机的工作流程
首先给一个简单的java示例,源代码如下:public class Main { private static int size=1; public static void main(String args[]) { User u = new User(); u.setName("李文水"); u.setPwd("159"); String name = u.getName();原创 2012-12-05 18:11:57 · 1048 阅读 · 0 评论 -
深度解析Java内存的原型
本文主要通过分析Java内存分配的栈、堆以以及常量池详细的讲解了其的工作原理。一、Java虚拟机内存原型寄存器:我们在程序中无法控制栈:存放基本类型的数据和对象的引用,但对象本身不存放在栈中,而是存放在堆中堆:存放用new产生的数据静态域:存放在对象中用static定义的静态成员常量池:存放常量非RAM存储:硬盘等永久存储空间。二、常量池(constant pool转载 2012-12-04 15:24:55 · 604 阅读 · 1 评论 -
深入剖析Classloader(二)--根类加载器,扩展类加载器与系统类加载器
类的加载的最终产品是位于堆(heap)中的class对象Class对象封装了类在方法区内的数据结构并向Java程序员提供访问方法区内的数据结构的接口。而反射就像一面镜子一样可这个接口是反射的接口,所以我们可以通过反射获得这个类的方法和属性,包括私有的方法和属性!下面我们来详细的介绍一下类加载器类的加载器有两种1、 Java虚拟机自带的加载器2、 用户自定义类加载转载 2012-12-04 18:00:45 · 615 阅读 · 0 评论 -
java\tomcat\android\mysql 环境变量配置
CATALINA_HOME :D:\tomcatJAVA_HOME:D:\java\jdk1.6.0_24PATH:D:\java\jdk1.6.0_24\bin;D:\tomcat\bin;D:\北京圣思园\ant\apache-ant-1.8.2\bin;%WINROOT%\system32;C:\Program Files\MySQL\MySQL Server 5原创 2011-12-26 11:24:01 · 996 阅读 · 0 评论 -
今天学了个定时执行任务
new Timer().schedule(new TimerTask(){ @override public void run(){ //执行的任务 } },0, 1000)//每隔1秒执行该任务,每次执行延迟0秒原创 2011-12-19 23:03:18 · 412 阅读 · 0 评论 -
java获取本地时间格式
java获取本地时间格式: GregorianCalendar gregorianCalendar = new GregorianCalendar(); System.out.println(new SimpleDateFormat("yyyy-原创 2011-10-13 15:58:38 · 2172 阅读 · 0 评论 -
Servlet 完成一个随机生成双色球的DEMO
Servlet 完成一个随机生成双色球的DEMO要求:生成6个红球,数字在1-33之间,数字不能重复且有序,生成1个蓝球,数字在1-16之间package com.wansha.servlet;import java.io.IOException;import ja原创 2011-09-30 17:06:33 · 1149 阅读 · 0 评论 -
Udp实现通信DEMO
TCP(Transmission Control Protocol,传输控制协议)是基于连接的协议,也就是说,在正式收发数据前,必须和对方建立可靠的连接。一个TCP连接必须要经过三次“对话”才能建立起来,其中的过程非常复杂,我们这里只做简单、形象的介绍,你只要做到能够理解这个过程原创 2011-09-30 10:26:37 · 4910 阅读 · 0 评论 -
java 的序列化和反序列化
java 的序列化和反序列化package com.wansha;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.ObjectInputSt原创 2011-09-22 23:03:30 · 511 阅读 · 0 评论 -
列出给定目录的树形目录结构
列出给定目录的树形目录结构:package com.wansha;import java.io.File;import java.util.LinkedList;import java.util.List;/** * * @author sharp *递归列原创 2011-09-20 14:59:43 · 1300 阅读 · 0 评论 -
把输入的数字变大写
要求:把输入的数字变大写,数字输入不能大于8位数package com.wansha;public class NumberTest { public String formateNubmer(String str)throws Exception{ String原创 2011-09-19 08:33:24 · 2137 阅读 · 0 评论 -
JDK 1.5(5.0)的新特性
1.可变参数2.增强for循环3.枚举4.自动装箱拆箱5.静态导入原创 2011-09-16 10:05:11 · 428 阅读 · 0 评论 -
枚举简介
枚举(ENUM):我们所定义的每个枚举类型都继承自java.lang.Enum类,枚举中的每个成员默认都是public static final的。 而每个枚举的成员其实就是自己定义的枚举类型的一个实例。package com.wansha.enumd原创 2011-09-15 19:02:30 · 480 阅读 · 0 评论