`
ericFang
  • 浏览: 99822 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论
文章列表

struts2 与struts1区别

    博客分类:
  • J2EE
1) 在Action实现类方面的对比:Struts 1要求Action类继承一个抽象基类;Struts 1的一个具体问题是使用抽象 类编程而不是接口。Struts 2 Action类可以实现一个Action接口,也可以实现其他接口,使可选和定制的服务 成为可能。Struts 2提供一个ActionSupport基类去实现常用的接口。即使Action接口不是必须实现的,只有一 个包含execute方法的POJO类都可以用作Struts 2的Action。 2) 线程模式方面的对比:Struts 1 Action是单例模式并且必须是线程安全的,因为仅有Action的一个实例来处 理所有的请求。单例策 ...

jsonAdnPojo

    博客分类:
  • J2SE
@SuppressWarnings("unchecked") public static String toJSONString(Object value) { if (value == null) return "null"; if (value instanceof Number) return value.toString(); if (value instanceof Boolean) return value.toString(); ...
场景:控制某个资源可被同时访问的个数,acquire()获取一个许可,如果没有就等待,而release()释放一个许可。比如在Windows下可以设置共享文件的最大客户端访问个数。 public class TestSemaphore { public static void main(String[] args) { // 线程池 ExecutorService exec = Executors.newCachedThreadPool(); // 只能5个线程同时访问 final Semaphore semp = new Semaphore(5); // 模 ...
首先让我们来看看所谓的Java虚拟机在运行起来后是什么样子的,从外面来看一个Java虚拟机的运行实例就是一个运行着的Java进程,Java进程在启动过程中做了如下工作,一、根据环境变量的设置或者Java进程的命令行参数将Java Class字节码加载到内存中,这样的Java字节码是Java虚拟机所能够识别的虚拟机指令的集合,Java虚拟机在解释执行字节指令的同时,根据某些代码的使用频率,将其中一部分字节码翻译成机器能够识别的二进制指令保存在内存中,在以后对这部分代码的调用,则由Java虚拟机的代码控制CPU直接执行内存中的这部分二进制指令,这个就是Java虚拟机的热点编译技术。而在早期的Java ...
为了不重复解析相同的SQL语句,在第一次解析之后, ORACLE将SQL语句存放在内存中.这块位于系统全局区域SGA(system global area)的共享池(shared buffer pool)中的内存可以被所有的数据库用户共享. 因此,当你执行一个SQL语句(有时被称为一个游标)时,如果它和之前的执行过的语句完全相同, ORACLE就能很快获得已经被解析的语句以及最好的执行路径. ORACLE的这个功能大大地提高了SQL的执行性能并节省了内存的使用.可惜的是ORACLE只对简单的表提供高速缓冲(cache buffering) ,这个功能并不适用于多表连接查询. 数据库管理员必须在i ...
组件接口类 public interface Hello extends EJBObject{ public String getHello() throws RemoteException; } 主接口类一般命名为xxxHome public interface HelloHome extends EJBHome { public Hello create() throws RemoteException,CreateException; } 实现类一般命名为xxxEJB public class HelloEJB implements SessionBean { ...
客户端 远程对象 | | stub(存根) ---- 协议(soap/rmi-iiop/iiop...)--- skeleton(骨架) 对象序列化后传到我的JVM再把它转化成对象 序列化都要解压,效率低。 存根(STUB)代理,远程对象在客户端的代理。代理里面来封装访问细节,怎么压包,解压。 skeleton(骨架)解成JAVA对 ...
linux shell

Foxit Reader

    博客分类:
  • tool
Foxit Reader.

js tree

dynatree-0.5.0.rar TreePanel_all.rar
var n=0; function saveImg(url) { n==0?new function(){frames("saveAsImg").location=url,n=1}:null; document.all("saveAsImg").readyState!="complete"?setTimeout(saveImg,10):so(); function so() { frames("saveAsImg").document.execCommand("SaveAs"),n=0 }; } ...
import osfilenames=os.listdir(os.getcwd())num=raw_input('請輸入一個數字:')for name in filenames: filenames[filenames.index(name)]=name[:-int(num)]out=open('names.txt','w')for name in filenames: out.write(name+'\n')out.close()     try: filename=raw_input("eric") fobj=open(filename,'r') for eachL ...
  <style media=print>.Noprint{display:none;}.PageNext{page-break-after: always;}</style> <div id="print_no_display" class="Noprint">打印不显示</div>

mysql 优化 pdf

    博客分类:
  • Sql
mysql-optimize.pdf

flex

    博客分类:
  • J2EE
flex book pdf
Global site tag (gtag.js) - Google Analytics