`
文章列表
String t1 = "1"; String t2 = "1"; String t3 = new String("1"); String t4 = new String("1"); -- 虽然t1,t2,t3,t4互相之间equals都是为true,但是在做锁操作的时候,t1,t2属于同一个对象,锁上可以实现互斥,t3,t4由于是通过new String构造,分别为不同的对象,与通过常量“1”构造的不同,另外t3,t4也是不同对象。
1.java原子类。volatile关键字   2.线程池 创建固定大小的线程池 创建缓存线程池//线程数可随需求变化 创建单一线程池 关闭线程池 shutdown与shutdownNow的比较 用线程池启动定时器 调用ScheduledExecutorService的schedule方法,返回的ScheduleFuture对象可以取消任务。 支持间隔重复任务的定时方式,不直接支持绝对定时方式,需要转换成相对时间方式。   3.callable和future(不常用)   4.Lock锁类似synchronized,更加灵活,还分为读锁,写锁,读写锁,写锁 ...
1.定义线程的两种传统方式。   package thread; public class TradionalThreadTest { public static void main(String[] args) { //线程创建方法1:new thread的子类 new Thread(){ @Override public void run() { while(true){ System.out.println("current thread(子类) is " + Thread.currentT ...
现象与该文类似:http://www.cnblogs.com/fangwenyu/archive/2011/08/01/2123929.html   上文的解释没有问题 DBSequence*allocationSize<= IDs < (DBSequence+1)*allocationSize 只有当id到达下个序列值*allocationSize时,序列值才会自增1。 当然上述公式是在sequence没有cache的情况下,如果cache=20, 上述公式左右两边还要分别乘以cache的值,因为序列会预存到cache中。   测试了下web项目和非web项目,当 ...
先上代码 @Override public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws IOException, ServletException { Enumeration e = req.getParameterNames(); String attributeName; String attributeValues[]; output(req); while (e.hasMoreElements()) { attrib ...
  long count = ((Number) (sessionFactory.getCurrentSession().createQuery( hql).setDate("accessTime", minTime) .setString("valid", "1").setString("operatorType", operType) .setString("govCompUserFlag", govCom).uniqueResult())) .lo ...
       看shiro的官方文档,其中对操作者(currentUser)Remembered 与Authenticated的两种状态的解释非常的详细。其实说穿了就是某天你在淘宝上购物了,但是由于有事临时走开了,没有执行登出,当你第二天再上淘宝的时候你的会话如果还保留着就可以登录进去,此时Remembered状态为true,但是如果你此时要进行购物由于对于淘宝来说你未必就是操作者,所以要进行登录,因为此时的Authenticated的状态为false,只有当你输入用户名密码成功登录以后Authenticated状态才为true。        从官方文档来看,在会话正常的情况下这两种状态 ...
【转】http://bbs.csdn.net/topics/370103016   Canvas是HTML5新增加的元素, 可以方便的画图. Firefox, safari, chrome, opera的最近版本以及IE9都支持. IE8及以下不支持HTML5, 但是ExplorerCanvas库(http://excanvas.sourceforge.net/)调用IE内部功能提供了几乎相同的API. ExplorerCanvas不支持字体, 所以为了使用文字, 还需要使用canvas-text库(http://code.google.com/p/canvas-text/).使用Expl ...
       记录日志是应用开发的一个重要部分。比较普通的工具是log4j,前一阵子了解了下log4j 1.x,发现现在流行的是另一个强大的日志框架logback。   官方网站:http://logback.qos.ch/   日志工具的三个主要的元素Logger,Appender,Layout. Logger是用来记录日志的。Appender是输出地点,Layout是输出格式。  可以通过如下方式去获取logger对象: Logger rootLogger = LoggerFactory.getLogger(org.slf4j.Logger.ROOT_LOGGER_NAME) ...

初学log4j的配置

转:http://www.cnblogs.com/alipayhutu/archive/2012/06/21/2558249.html 【1】从零开始   a). 新建Java Project>>新建package>>新建java类; b). import jar包(一个就够),这里我用的是log4j-1.2.14.jar, c). 新建log4j.properties,置于project根目录下;
碰到一个问题。csdn上查了下看到个类似的,就转摘过来了。 问题如下: 一直没用过 增强for循环, 现在 我用用看,  但是我要判断是否有下一个元素存在,    目的是打印词组 , 没到最后一个的时候 中间打印逗号 ,  是最后一个元素的话 就不用打印逗号了 ,   请问怎么判断呢?for(HotkeyBean hb:keyal ){                  out.print(hb.getKeyword());               } 有人是这样回答的,个人感觉很巧妙啊 String sp = ""; for(HotkeyBean hb:ke ...
最近上班遇到两个问题,在此mark下。 1.img src为空导致session被清的问题,src为空不只是字符串为空还包括路径地址404,会导致session被清。 2.springmvc 乱码问题,如果本地正常,测试服务器上不正常,可能的原因是出在tomcat上,要在server.xml配置 URIEncoding="UTF-8"。
    前言     关于SpringMVC初始化ContextLoader中的XMLWebApplicationContext,以及DispatcherServlet初始化等等,这样的原理 已经有N多的前辈和牛人总结过了, 我就不在这里重复轮子了。~     废话     Spring源码还是层次十分分明的,只要了解原理,相信看起来也不会很困难, 但是它的精髓还有其中使用到的设计模式, “架构”少不了模式, Spring正是因为采用大量的模式而使其易于用户扩展。     正文     找到DispatcherServlet类中的doDispatch体,我们可以看到,它的作用是相当于在Serv ...
       最近发现个神奇的问题,点击链接发现在线客服的访问记录数据没入库,后来发现是由于浏览器缓存导致的问题,解决方法是参数后面加一个时间戳就可以解决。避免用户点击链接后访问的是自己的缓存,而不做任何请求。
     最近在看开涛的springmvc的教程,写的很清楚,以前只会盲目的使用,现在要从原理上学学。      springmvc是个优秀的控制层框架,核心是controller,下图是核心,附件主要是ServletForwardingController,SimpleFormController,CancellableFormController,AbstractCommandController的demo实现及springmvc基础框架配置文件的搭建   相关链接:http://jinnianshilongnian.iteye.com/blog/1752171 ---itey ...
Global site tag (gtag.js) - Google Analytics