
java
文章平均质量分 79
fantasy0126
因为梦想,所以努力
展开
-
JDBC 批量插入Mysql 字段值采用随机字符 100万条数据
/** * Created by tonydiao on 2014/12/12. */import java.sql.*;import java.util.Random;public class ImportToMysql { public static final String ALLCHAR = "0123456789abcdefghijklmnopqrstuvwxyzA原创 2014-12-12 19:14:32 · 2041 阅读 · 0 评论 -
亲历快速排序算法,有感于程序的边界条件
看数据结构的书,关于快速排序.算法倒是不难理解. 网上随便baidu了一个算法. 看起来似乎也像那么回事. 然而原程序中只对10个数排序,并且排序前的数组的元素的值和顺序已经确定. 改成用java.util.Random产生随机数,来运行, 此时发现程序陷入死循环的几率非常大,即使没有死循环, 排序的结果也不对. 于是改一改吧.. 发现连界情况很是微妙.原创 2014-12-04 02:05:24 · 2257 阅读 · 0 评论 -
递归 --与三角数字,阶乘,变位字,汉诺塔问题,递归的二分查找法,归并排序
1)三角数字 数列1,3,6,10,15,21,... 这个数列中的第n项是由第n-1项加n得到的. int triangle(int n){ int total=0;原创 2014-11-29 21:57:41 · 1893 阅读 · 0 评论 -
解析带小括号的算术表达式--------用栈来实现的java算法
1 将中缀表达式转换成后缀表达式 2 计算后缀表达式的值原创 2014-11-20 21:56:14 · 7073 阅读 · 0 评论 -
Meal WaitPerson and Chef
import java.util.Stack;import java.util.regex.Pattern;import java.util.regex.Matcher;import java.util.Map;import java.util.HashMap;public class ArithmeticExpressionEvaluation { private static Stack th原创 2014-11-20 21:21:15 · 542 阅读 · 0 评论 -
线程死锁与哲学家问题------dining philosophers problem
//dining philosophers problem //: concurrency/DeadlockingDiningPhilosophers.java// Demonstrates how deadlock can be hidden in a program.// {Args: 0 5 timeout}import java.util.concurrent.*;import原创 2014-11-20 21:46:43 · 837 阅读 · 0 评论 -
用栈来校验---分隔符匹配---的java算法
import java.util.Stack;public class BracketChecker { public static void main(String[] args) { if(args.length<1) { System.out.println(" please enter the input string contai原创 2014-11-20 21:52:35 · 878 阅读 · 0 评论 -
Meal,WaitPerson and Chef using Lock and Condition
import java.util.concurrent.locks.*;class MealCS { private final int orderNum ; public MealCS(int num) { this.orderNum=num; } public String toString() { ret原创 2014-11-20 21:42:13 · 542 阅读 · 0 评论 -
java 厨师,顾客,订餐的多线程示例程序
java 厨师,顾客,订餐的多线程示例程序原创 2016-03-12 21:32:36 · 2033 阅读 · 0 评论 -
简单排序---冒泡,简单选择,直接插入
import java.util.Random; /** * 冒泡排序 * 依次比较相邻的两个数,将小数放在前面,大数放在后面 * 冒泡排序,具有稳定性 * 时间复杂度为O(n^2),比较次数:(N^2)/2;交换次数:(N^2)/4 * */ public class Bubble { pub原创 2014-11-20 21:50:44 · 524 阅读 · 0 评论 -
maven 的 Build lifecycle
maven 的 Build lifecycle原创 2017-07-27 10:31:55 · 629 阅读 · 0 评论 -
多台web服务器的session 问题
多台web服务器的session 同步的几种方式分析转载 2017-07-08 17:48:26 · 737 阅读 · 0 评论 -
ConcurrentHashMap 源码解读
ConcurrentHashMap 源码解读原创 2017-07-04 11:58:48 · 225 阅读 · 0 评论 -
反射与动态代理
反射功能通过Class类和java.lang.reflect包下的实现了Member接口的Filed,Method,Constructor等类来完成,可以用Constructors类的实例来完成创建新对象,用get和set方法来读取和写入Field 对象代表的fields, 通过invoke方法来调用整体上Method对象代表的方法原创 2017-07-12 12:03:51 · 470 阅读 · 0 评论 -
jdk1.6 的 HashMap 源码分析及1.7,1.8的主要更改
jdk1.6 的 HashMap 源码分析及1.7,1.8的主要更改原创 2017-07-02 23:35:33 · 649 阅读 · 0 评论 -
redis 与分布式锁
redis 与分布式锁setnxset转载 2017-06-10 23:34:14 · 267 阅读 · 0 评论 -
关于TCP 和 Netty 拆包 粘包
一个完整的包可能会被TCP拆分成多个包进行发送,也有可能把多个小的包封装成一个大的数据包发送,这就是所谓的TCP 拆包和粘包问题原创 2017-06-17 20:49:17 · 1657 阅读 · 0 评论 -
堆排序及推排序实现[原创]
堆排序,筛选,向上筛选,下下筛选,时间复杂度分析,堆排序优化原创 2016-03-07 20:52:51 · 1697 阅读 · 0 评论 -
myeclipse的项目导入eclipse------引用
引用自http://topic.youkuaiyun.com/u/20090429/21/5aacc696-7dac-4ea3-8710-77ac27861a00.htmlhttp://hi.youkuaiyun.com/zxz871.请首先确保你的eclipse是javaee版本的,或者已经安装看wtp插件2.然后修改eclipse工程下的.project文件:3.在中加入Java codeorg.eclipse.wst.common.project.facet.core.natureorg.eclipse.wst.co原创 2011-04-16 16:24:00 · 741 阅读 · 0 评论 -
java 内存溢出
初步了解到这些,待以后详细解决java.lang.OutOfMemoryError PermGenspace Permanent Generation spaceJSP进行precompile的时候。如果你的WEBAPP下都用了大量的第三方jar,应用有太多的class文件而恰好MaxPermSize设置较小,超出了也会导致这块内存的占用过多造成溢出,或者tomcat热部署时侯不会清理前面加载的环境,只会将context更改为新部署的,非堆存的内容就会越来越多。内存中加载的数据量过于庞大,如一次从数据库取出原创 2011-03-31 15:43:00 · 771 阅读 · 1 评论 -
java调用js,js中调用java
1)使用脚本语言的优势Rapid turnaround, encouraging experimentation.Changing the behavior of a running program.Enabling customization by program users.2)The site http://scripting.dev.java.net provides engines for a wide range of scripting languages. For example, to a原创 2011-03-29 16:20:00 · 6436 阅读 · 3 评论 -
关于动态代理---模板方法模式,工厂模式,依赖倒转
<br /> 动态代理<br />1)包,如果所代理的接口都是public,那么它将被定义在顶层包(即包路径为空)<br /> 如果所代理的接口中有非public的接口,那么它将被定义在该接口所在的包。<br />2)该类有final和public修饰符<br />3)类名格式是"$ProxyN"<br />4) 类图 是extends java.lang.reflect.Proxy implements cls.getInterfaces();<br />5)hashCode,equals和原创 2011-02-09 16:12:00 · 1011 阅读 · 0 评论 -
关于 session ,cookie,cross Context session
<br /><br /> <br />1) javax.servlet.http.Cookie<br /> public void setMaxAge(int expiry)<br />负值意味着,关闭浏览器即失效。0,删除这个cookie. 正值:秒为单位的生存时间<br />2)public int getMaxAge()<br /> 默认返回-1 ,一般保存在内存中,而不是硬盘<br />3) Cookie cc=new Cookie("JSee","this is a test");<br原创 2011-01-30 16:11:00 · 880 阅读 · 0 评论 -
servlet 2.5的新特性
A new dependency on J2SE 5.0(generic,annotation,auto boxing,foreach loop,varargs,static import,enum)Support for annotationsSeveral web.xml conveniencesA handful of removed restrictionsSome edge case clarifications Servlet name wildcardingImage Filter*FORW转载 2011-01-29 17:48:00 · 1236 阅读 · 0 评论 -
J2EE的压缩输出流的过滤器实现(来自于Head first Servlets and jsp)
可以应用到html,但不适用于png,和mpeg因为它们已经被压缩过了Accept-Encoding=gzip,deflate响应中:Vary=Accept-Encoding Content-Encoding=gzip package com.example.web:import javax.servlet.*;import javax.servlet.http.*;import java.io.*;import java.util.zip.GZIPOutputStream;public c转载 2011-01-29 11:51:00 · 981 阅读 · 0 评论 -
java 正则表达式 易忘点 疑难点
1 (?i) ascii的忽略大小写;(?m)多行即^和$会匹配每行的开始和结束.(?s) sigle line 在这种模式下 .匹配行结束符 2Matcher 的start( )和end( )如果匹配成功,start( )会返回此次匹配的开始位置,end( )会返回此次匹配的结束位置,即最后一个匹配字符的下标加一 (用自然的角度想这是应该+1的) 3 boolean lookingAt()从某个下标开始是否模式匹配整个inputpublic int groupCount( )返回matcher对象中的原创 2010-11-25 11:42:00 · 428 阅读 · 0 评论 -
JAVA练习题,能做多少就做多少
【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1.程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21.... 【程序2】 题目:判断101-200之间有多少个素数,并输出所有素数。 1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数。 【程序3】 题目:打印出所有的 "水仙花数 "原创 2010-11-23 17:56:00 · 607 阅读 · 0 评论 -
ip地址分类,网关,子网掩网,广播地址
<br /><br /> <br />IP 地址当前协议为IPv4,长32位的2进制 ,分为A,B,C,D,E类地址等<br /> <br />管理机构IANA=Internet Assigned Numbers Authority<br />分配机构 NIC=network information center <br />interNIC 负责美国及其他地区<br />ENIC:负责欧洲<br />APNIC:负责亚太,总部在澳大利亚布里斯班(since 1998)<br /> <br /> <br /原创 2010-12-09 14:18:00 · 1256 阅读 · 0 评论 -
java se5(j2se 5.0) 新特性之可变参数和静态导入
<br /><br />5.可变参数(Varargs) <br />可变参数使程序员可以声明一个接受可变数目参数的方法。注意,可变参数必须是函数声明中的最后一个参数。假设我们要写一个简单的方法打印一些对象, <br />util.write(obj1); <br />util.write(obj1,obj2); <br />util.write(obj1,obj2,obj3); <br />… <br />在JDK1.5之前,我们可以用重载来实现,但是这样就需要写很多的重载函数,显得不是很有效。如果使用可变原创 2010-12-09 10:28:00 · 523 阅读 · 0 评论 -
Spring 2.5 ( 传智播客) ----笔记
Spring 2.51)www.springframework.orgdist/spring.jarlib/jakarta-commons/commons-logging.jarlib/aspectj/aspectjweaver.jar和aspectjrt.jarlib/cglib/cglib-nodep-2.1_3.jarlib/j2ee/common-annotations.jar2)在类路径下寻找配置文件ApplicationContext ctx=new ClassPathXmlApplicatio原创 2011-02-11 13:55:00 · 732 阅读 · 0 评论 -
spring 2.5 第三部分 事务---笔记
<br /><br /> <br />1)<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"><br /> <property name="driverClassName" value="org.gjt.mm.mysql.Driver"/><br /> <property name="url" value="jdbc:mysql://localhost:3306/原创 2011-02-15 17:03:00 · 366 阅读 · 0 评论 -
javascript Closures(闭包)
function init() { var name = "Mozilla"; function displayName() { alert(name); } displayName();}init();function makeFunc() {var name = "Mozilla";function displayName() { alert(name);}return displayName;}var myFunc = makeFun原创 2011-03-30 17:23:00 · 536 阅读 · 0 评论 -
Use lazy initialization judiciously(明智地使用)
<br /><br /> If a field is accessed only on a fraction of the instances of a class and it is costly to initialize the field, then lazy ini-<br />tialization may be worthwhile. <br /> <br /> Under most circumstances, normal initialization is prefera原创 2011-03-14 17:53:00 · 1130 阅读 · 0 评论 -
编写多线程java程序时需要注意哪些问题?(来自于effective java se)
<br /><br /> 多线程编程可能会出现很多问题,而且有时问题无法重现,或不知什么时候会重现。或测试通过,实际运行时却出现了问题。或者在不同的虚拟机和编译器上有不同的<br /> 表现。这也是一个面试常见题,这个问题很大,有很多方面,下面谈谈我的一点体会:<br /> 1)并不是线程越多越好。<br /> 多线程是为了A网络服务面对同时的大量客户端请求,或同时请求大量地址如网络爬虫 <br /> B,涉及GUI的图形界面编程,可以提高响应速度<br /翻译 2011-03-09 15:04:00 · 2656 阅读 · 1 评论 -
生产者,消费者的BlockingQueue实现
<br />class Producer implements Runnable { private final BlockingQueue queue; Producer(BlockingQueue q) { queue = q; } public void run() { try { while(true) { queue.put(produce()); } } catch (InterruptedException ex) { ... h原创 2011-03-08 09:58:00 · 449 阅读 · 0 评论 -
Volatile Fields
1)有时,对于只是读写一两个实例数据成员就使用synchronization看起来代价有些过大。如果不使用,又能怎么样呢。不幸地是对于现代的多处理器的机器或者当代的编译器,有太多错误的可能: 多处理器的机器可以把内存变量临时存放在寄存器或者本地线程缓存中,结果,在不同处理器中运行的线程可能会对于同一个内存地址却看到不同的值。 编译器可以整理代码以提高效率,编译器不会改变代码的含义,但是他们会假设同存中的值会被改变当且仅当他们会明确地在代码中被改变。然而,这些值可能会被其他线程改变,这样就产生了问题2原创 2011-03-07 18:21:00 · 458 阅读 · 0 评论 -
Executors
1)public interface Executor{void execute(Runnable command);}2) public interface ExecutorService extends Executor {Future submit(Runnable task); //get()方法返回nullFuture submit(Runnable task, T result);//返回resultFuture submit(Callable task);//返回应该返回的void sh原创 2011-03-08 15:27:00 · 584 阅读 · 0 评论 -
Callables and Futures
<br /><br />public interface Callable<V><br />{<br /> V call() throws Exception;<br />}<br /> <br /><br />public interface Future<V><br />{<br /> V get() throws . . .;<br /> V get(long timeout, TimeUnit unit) throws . . .;<br /> void cancel(boolean原创 2011-03-08 14:41:00 · 536 阅读 · 0 评论 -
Spring 2.5 采用动态代理或cglib来实现aop
<br /><br />动态代理,cglib,aop <br /> <br />1)<br />public class JDKProxy implements InvocationHandler {<br />private Object targetObject;//代理的目标对象<br />public Object createProxyInstance(Object targetObject){<br />this.targetObject = targetObject;<br />/*<br /原创 2011-02-12 15:13:00 · 727 阅读 · 0 评论 -
java 换行符转换
<br /><br />import java.io.*;<br />import java.util.regex.Matcher;<br />import java.util.regex.Pattern;<br /> <br />public class TestHuanhang {<br /> /*<br /> *适用于windows平台将一个目录下的所有文件的unix换行符/x0a转换成/x0d/x0a<br /> * 后存放在另外一个文件夹,请使用不同的文件夹名<br />原创 2010-12-02 13:47:00 · 5563 阅读 · 1 评论