`
yjkun
  • 浏览: 13518 次
  • 性别: Icon_minigender_1
  • 来自: 河北
文章分类
社区版块
存档分类
最新评论
文章列表
<!--内容--> Java中使用的路径,分为两种:绝对路径和相对路径。归根结底,Java本质上只能使用绝对路径来寻找资源。所有的相对路径寻找资源的方法,都不过是一些便利方法。不过是API在底层帮助我们构建了绝对路径,从而找到资源的! 在开发Web方面的应用时, 经常需要获取 服务器中当前WebRoot的物理路径。 如果是Servlet , Action , Controller, 或则Filter , Listener , 拦截器等相关类时, 我们只需要获得ServletContext, 然后通过ServletContext.getRealPath("/ ...
public static void main(String[] args)    {      int a = 1000, b = 1000;      System.out.println(a == b);        Integer c = 1000, d = 1000;      System.out.println(c == d);       Integer e = 100, f = 100;      System.out.println(e == f);    } 运行结果是:true false true;   Integer的相关源码 public stat ...
网址如果包含http://www则截掉 不包含www则 截掉 http:// select decode(INSTR(t.home_web_url, 'www', 1, 1),0,substr(t.home_web_url,8,length(t.home_web_url)-8),substr(t.home_web_url,12,length(t.home_web_url)-12)) from ipms_website_now t instr:查找字符串出现位置  instr(a,b,c,d) 表示在 a从c开始第d次b出现的位置 c,d为可选默认1 父取子 select *   from i ...
<init-param> <param-name>config</param-name> <param-value>/WEB-INF/struts-config.xml</param-value> </init-param> <init-param> <param-name>config/customer</param-name>  <param-value>/WEB-INF/struts-config-customer.xml</param-value ...
在实际的应用程序开发中,经常需要在一个服务流程中插入一些与业务逻辑无关的系统服务逻辑(最常见的就是记录日志,权限检查等),如果把所有这些与业务逻辑无关的服务与业务逻辑编织在一起,就会使业务逻辑对象的负担加重,因为它不但要具有业务逻辑的功能,还带有例如记录日志等其他功能,这样就容易产生对象的职责混淆。为了避免对象职责的混淆,我们在设计中就需要将与业务逻辑无关的服务逻辑从业务逻辑中剥离出来,独立设计为一个模块或对象,而在希望需要使用这些对象的时候插入进来,不希望使用的时候去掉即可,这种设计模式就称为AOP。Spring AOP是实现AOP的一种技术。Spring AOP最常用的就是采用XML配置 ...
本文是转贴,著作权归原作者所有! 摘 要:介绍了Servlet多线程机制,通过一个实例并结合Java 的内存模型说明引起Servlet线程不安全的原因,给出了保证Servlet线程安全的三种解决方案,并说明三种方案在实际开发中的取舍。   ...
本文是转贴,著作权归原作者所有! Hashtable是Dictionary的子类,HashMap是Map接口的一个实现类 HashTable的应用非常广泛,HashMap是新框架中用来代替HashTable的类,也就是说建议使用HashMap,不要使用HashTable。可能你觉得HashTable很好用,为什么不用呢?这里简单分析他们的区别。 1.HashTable的方法是同步的,HashMap未经同步,所以在多线程场合要手动同步HashMap这个区别就像Vector和ArrayList一样。 2.HashTable不允许null值(key和value都不可以),HashMap允许 ...
js中只包括replace方法不提供replaceAll方法 用for循环又有效率问题,用一个正则表达式的解决方案(gm  g=global, m=multiLine) String.prototype.replaceAll  = function(s1,s2){ return this.replace(new RegExp(s1,"gm"),s2); } 之后就可以使用replaceAll方法了   src.replaceAll("<br>","\r\n")
查看用户和默认表空间的关系。     select   username,default_tablespace   from   dba_users; 1.查看表结构:desc表名 2.查看当前用户的表: select   table_name   from   user_tables;    3.查看所有用户的表名: select    table_name    from   all_tables;     4.查看所有表名(其中包括系统表) select   table_name    from   all_tables;      5.查看所有的表: select  ...
select t1.* from test1 t1 where t1.tel not in (select t2.tel from test2 t2 where t1.tel=t2.tel) 替换为 select t.id, t.phone from (select t1.id,t1.tel phone,t2.tel from test1 t1 left join test2 t2 on t1.tel=t2.tel) t where t.tel is null 另外 not in注意null为空的情况 如果为空可能查询不出来了 sql1 select t1.* from test1 t1 whe ...
Ibatis中#和$的区别 博客分类: Ibatis iBATISSQL. 昨天一个项目中在写ibatis中的sql语句时,order by #field#, 运行时总是报错,后来上网查了查, 才知道这里不该用#,而应该用$,随即查了下#与$的区别. 总结如下: 1.#是把传入的数据当作字符串,如#field#传入的是id,则sql语句生成是这样,order by "id",这当然会报错.. 2.$传入的数据直接生成在sql里,如#field#传入的是id,则sql语句生成是这样,order by id, 这就对了. 3.#方式能够很大程度防止sql注入. ...
1.注意for循环remove对象 list.size()是在不断变化中的注意数组越界问题 2.注意使用iterator遍历remove(it.next())对象会抛出ConcurrentModificationException异常因为Iterator是工作在一个独立的线程中,并且拥有一个 mutex锁,就是说Iterator在工作的时候,是不允许被迭代的对象被改变的。Iterator被创建的时候,建立了一个内存索引表(单链表),这 个索引表指向原来的对象,当原来的对象数量改变的时候,这个索引表的内容没有同步改变,所以当索引指针往下移动的时候,便找不到要迭代的对象,于是产生错 误。所以要注意索 ...
js  万年历 同百度http://site.baidu.com/list/wannianli.htm
ecma规范要求toString方法返回[object Class] 不过大多数内部类覆盖了toString方法,所以只有自定义的对象会返回[object Object] 客户端内建的对象一般class都是为Object(大写) 虽然很多类覆盖了toString方法,但是你可以用Object.prototype.toString.apply(o) 显示调用object.toString
1.第一种方法:代码简单,兼容性还可以 function IFrameReSize(iframename) {   var pTar = document.getElementById(iframename);   if (pTar) {  //ff   if (pTar.contentDocument && pTar.contentDocument.body.offsetHeight) {    pTar.height = pTar.contentDocument.body.offsetHeight;   } //ie   else if (pTar.Document & ...
Global site tag (gtag.js) - Google Analytics