- 浏览: 191375 次
- 性别:
- 来自: 武汉
最新评论
-
shinestmt:
Oracle取getColumnLabel全部都是大写的
使用ResultSetMetaData获取map结果集
文章列表
java并发编程-Executor框架
- 博客分类:
- Java
Executor框架是指java 5中引入的一系列并发库中与executor相关的一些功能类,其中包括线程池,Executor,Executors,ExecutorService,CompletionService,Future,Callable等。他们的关系为:
并发编程的一种编程方式是把任务拆分为一些列的小任务,即Runnable,然后在提交给一个Executor执行,Executor.execute(Runnalbe) 。Executor在执行时使用内部的线程池完成操作。
一、创建线程池
Executors类,提供了一系列工厂方法用于创先线程池,返回的线程池都实现了Exe ...
package test;
import java.io.File;
import java.io.FileOutputStream;
REDIS与MEMCACHED的区别
- 博客分类:
- openSource
REDIS与MEMCACHED的区别
如果简单地比较Redis与Memcached的区别,大多数都会得到以下观点:1 Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,hash等数据结构的存储。2 Redis支持数据的备份,即master-slave模式的数据备份。3 Redis支持数据的持久化,可以将内存中
MySql 忘记了密码,不用重装解决方案
- 博客分类:
- Oracle
有些时候,mysql密码忘了,需要去重装,但是这样做比较笨拙。现在给出简单的解决方案。
(注意里面的空格和标点符号不要写错了,不然不会成功。)
修改mysql密码操作:
1、把你的mysql服务停掉,用dos进入你的mysql ...
jquery core 源码分析
- 博客分类:
- JQuery/Js
**
* author:prk
* date:2008-08-05
* comment:analeyse the core of jquery1.2.6
*
*/
/*
* jQuery
*
* @VERSION - New Wave Javascript
Hibernate的批量操作
- 博客分类:
- Hibernate
批量插入(Batch inserts)
如果要将很多对象持久化,你必须通过经常的调用 flush() 以及稍后调用 clear() 来控制第一级缓存的大小,防止内存溢出异常。
Session session = sessionFactory.openSession();Transaction tx = session.beginTransaction(); ScrollableResults users = session.getNamedQuery("GetUsers") .setCacheMode(CacheMode.IGNORE) . ...
常用的正则表达式
匹配中文字符的正则表达式: [\u4e00-\u9fa5]评注:匹配中文还真是个头疼的事,有了这个表达式就好办了
匹配双字节字符(包括汉字在内):[^\x00-\xff]评注:可以用来计算字符串的长度(一个双字节字符长 ...
工厂模式与策略模式的比较
- 博客分类:
- 设计模式
这两个模式很像,都是用一个专门的类来根据客户端的条件产生不同的类,实现不同的功能。
简单工厂模式解决了对象的创建问题,工厂需要包括所有的产品对象的创建,如果产品对象形式经常变化,就需要经常改动工厂,以致代码重新修改编译。
为了解决这个问题,策略模式就诞生了。
策略模式定义了一系列算法,分别封装起来,而不是像简单产品模式一样定义所有的产品类,让他们之间可以互相转换,此模式让算法的变化,而不会影响使用算法的客户,使客户拥有相同的访问过程。
策略模式在实践运用中,可以用来封装几乎任何类型的规则,在开发中只要遇到需要在不同时间应用不同的业务规则,可以考虑使用策略模式处理这种变化的可能性。在 ...
import java.util.LinkedList;import java.util.Queue;import java.util.concurrent.ArrayBlockingQueue;import java.util.concurrent.Executors;import java.util.concurrent.RejectedExecutionHandler;import java.util.concurrent.ScheduledExecutorService;import java.util.concurrent.ScheduledFuture;import java. ...
人生若只如初见,所有往事都化为江南的一场烟雨,在相视一笑中,随风荡漾起回忆的波纹,然后再渐渐隐去在画中的江南,只因为你的离去,我竟为你留下的惊艳,倾情伤怀。
时光太匆匆,我们总也回 ...
Java 之前有个api函数可以直接关闭线程, stop(), 后来, 取消了. 其替代的方式主要有两种: 1. 自己加入一个成员变量, 我们在程序的循环里面, 轮流的去检查这个变量, 变量变化时,就会退出这个线程. 代码示例如下package com.test;public class StopThread extends Thread {private boolean _run = true;public void stopThread(boolean run) {this._run = !run;}@Overridepublic void run() {while(_run) {///// ...
策略模式-Strategy
- 博客分类:
- 设计模式
策略模式:定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换。本模式使得算法可独立于使用它的客户而变化。
1.许多相关的类仅仅是行为有异。“策略”提供了一种用多个行为中的一个行为来配置一个类的方法。
2.需要使用一个算法的不同变体。
3.算法使用客户不应该知道的数据。可使用策略模式以避免暴露复杂的、与算法相关的数据结构。
4.一个类定义了多种行为,并且这些行为在这个类的操作中以多个条件语句的形式出现。 将相关的条件分支移入它们各自的Strategy类中以代替这些条件语句。
接口(或抽象类):public abs ...
新建txt文件,内容如下,保存修改,并将文件.txt后缀改为.bat,双击运行即可。
@echo off echo 正在清除系统垃圾文件,请稍等...... del /f /s /q %systemdrive%\*.tmp del /f /s /q %systemdrive%\*._mp del /f /s /q %systemdrive%\*.log del /f /s /q %systemdrive%\*.gid del /f /s /q %systemdrive%\*.chk del /f /s /q %systemdrive%\*.old del /f /s /q %system ...
门面模式-Facede
- 博客分类:
- 设计模式
门面模式:也叫外观模式。为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。
1.当你要为一个复杂子系统提供一个简单接口时。子系统往往因为不断演化而变得越来越 复杂。大多数模式使用时都会产生更多更小的类。这使得子系统更具可重用性,也更容 易对子系统进行定制,但这也给那些不需要定制子系统的用户带来一些使用上的困难。 Facade可以提供一个简单的缺省视图,这一视图对大多数用户来说已经足够,而那些需 要更多的可定制性的用户可以越过facade层。
2.客户程序与抽象类的 ...
代理模式-Proxy
- 博客分类:
- 设计模式
代理模式:为其他对象提供一种代理以控制对这个对象的访问.
为什么要使用Proxy?
1.授权机制 不同级别的用户对同一对象拥有不同的访问权利通过代理来控制这两种用户的访问权限.
2.某个客户端不能直接操作到某个对象,但又必须和那个对象有所互动.
code:
代理对象:public class ProxyObject implements Object {
Object obj;//被代理对象实例 public ProxyObject() { System.out.println("这是代理类"); obj = ...