`
锅巴49
  • 浏览: 161156 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论
文章列表
今天在调试一web应用,spring+webwork ,mvn 管理, 启动tomcat 报 error:filterStart 错误 造成任何访问都报404错误,而控制台没有任何具体错误信息。 找了好久,在%Tomcat_home%\logs\下 localhost.2010-11-01.log (具体名称因时间和域名不同)发现具体错误 严重: Exception starting filter webwork java.lang.NoClassDefFoundError: freemarker/template/Configuration at com.opensymphony ...
HTTP头中一般断点下载时才用到Range和Content-Range实体头,Range用户请求头中,指定第一个字节的位置和最后一个字节的位置,如(Range:200-300)Content-Range用于响应头请求下载整个文件: ***********************************GET  /test.rar  HTTP/1.1 Connection:  close Host:  116.1.219.219 Range:  bytes=0-100 ***********************************Range头域可以请求实体的一个或者多个子范围,Range的 ...
回调机制运用什么场景? 1、当你正在做事,但有个信息需要别人通知你,那个人很忙说你留个电话我,有消息我就通知你,你继续干你的事,两不误。可以解决阻塞问题。   2、在某个条件满足后去执行未知的逻辑,因为未知,所以预留接口待外界传入类,有点模板方法的意思。这个可以解耦。   写一个例子:   场景:某员工正在拍卖现场出价,老板说:你按我的指示出价,如果我有变动会通知你,你再改变出价。 分析:员工要不停的出价,不能因为等待老板的电话而停止出价。我们将员工实现callback接口,注入另外个线程,当老板有电话时将信息传入员工,这样不会影响员工工作。   代码: package m ...
web层编码中action的处理比较麻烦,特别是代码量变大,多应用,多人维护等情况下特别困难。 如何摸索下维护简单,复用性强的代码方式很重要。   上次写了一篇文章:http://guoba6688-sina-com.iteye.com/blog/747756,简单的处理。   这几天和同事讨论,他们提出更优雅的方式,我试着写了下,希望大家指教。   解决目标:   1、action层代码简单 2、复杂逻辑维护简单,可复用。   思路:   1、action层将数据封装为DTO 2、调有DTOUtil,传入DTO,DTOUtil会找到配置好的对应handler来处理 ...
今天在项目中配置404页面,最开始的配置是这样的,在web.xml中加入   <error-page> <error-code>404</error-code> <location>/notfound.jsp</location> </error-page>     <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8&q ...

10点让你进步

我非常欣赏这10点,努力做到。   让自己进步的十个习惯: ⒈永远不说不可能。 ⒉凡事第一反应找方法,不是找借口。 ⒊养成记录习惯,不太依赖脑袋。 ⒋每天出门照镜子,给自己自信的微笑。 ⒌每天自我反省。 ⒍用心倾听,不打断别人的话,作个倾听高手。 ⒎节俭定期存钱。 ⒏遵守诚信,说到做到。 ⒐时刻微笑待人处事。 ⒑开会坐前排。
今天要查多张表count数据,表结构相同,要汇总结果。   我最初的写法是   select count(*) ,sum(c) from ( select 1+2 as c union select 1+2 as c union select 1+2 as c union select 1+2 as c) as a     结果   count(*), c 1, 3   结果明显不对,我找了好半天最终找到原因,union会消除重复结果   改进后sql   select count(*) ,sum(c) from ( sel ...
项目越做越大,代码越来越多。陆续出了一些问题。   1、action层代码过多,复用性不强。往往多个应用要使用同一个功能。如A应用中有发布感受,B应用中也需要,这时B就把A中action的代码复制过来。   2、一个功能比较复杂,调用service比较多。发布文章前要判断是否黑名单,是否有违禁词,然后持久化,然后发积分和站内信等。现在全部写在一起,修改困难,不灵活。   重构目标:   1、新建Biz层,该层负责调用各单一小模块实现一个复杂功能。该层可打成jar包或发布成SOA,供其他方调用。   2、其他应用中如果也要发感受功能,但需要改一个小位置。如发积分策略,将新增自己 ...
最近项目中为解决性能问题使用了线程,但不是很理想。线程是个双刃剑,适当的线程可以加快速度,多了会让CPU压力直线上升,操作系统频繁切换,TPS反而降低。   一般的惯例是线程数是CPU数量的2倍以下比较好。   这里有篇介绍协程很好的文章,http://bluedavy.com/?p=4,该篇文章中有代码下载。   协程避免了操作系统切换线程的工作,用任务代替了线程。   我用下载的代码做了实验,我的机器是2CPU   java  结果:   =========Java Version========= Receive Thread Count: 2 Requests P ...
最近在项目中运用多线程比较多,对synchronized,wait(),notify(),做了一些实验。   1、针对方法的synchronized实际上是对该对象加锁。 package com.test.wait_notify; /** * 锅巴 * 描述 * @version 1.0 2010-8-10 */ public class Main { public static void main(String[] args) throws InterruptedException { Main main = new Main(); ...
昨天在项目中需要将某字段变成自增的,并且该字段不是主键。   之前的印像是自增的一定是主键。   我用的是mysql 5.0.51   CREATE TABLE `message` ( `id` int(8) NOT NULL, `username` varchar(30) default NULL, `num` int(8) default NULL, PRIMARY KEY (`id`) ...
在前面一篇博文http://guoba6688-sina-com.iteye.com/blog/724536中提出如何更方便的等待多线程执行结果,该篇博文的做法是 //等待线程执行完毕 while(threadPool.getActiveCount() > 0){ try{ Thread.sleep(1000); }catch(Exception e){ e.printStackTrace(); ...
之前看了程序员杂志上关于spring 定时任务实现异步任务的文章,自己架了一套帮助实现一些费时的操作。 在实现中发现几个问题   1、定时任务中时间设置是这样的 <property name="delay" value="1000" /> <!-- 每次任务间隔 5秒--> <property name="period" value="5000" />   在某些配置下某任务开始后还没执行完过了5秒,第二个任务又起来了。 这与我的设计冲突。我希望任务是执行完后等5 ...
最近做一个项目,需要插入数万行数据,要尽快完成。   原来的时间,插入10万条,需要30分钟,单线程,逐条插入   改动后,插入10万条,只需1到2分钟   改动思路:   1、机器CPU是4核的,把串行的变成多线程的,4-6个线程,一般不超过CPU数量的2倍。 2、逐条插入变成1000条批量插入 3、由于是多线程,原有程序要修改,因为可能有键冲突,造成插入异常及其他不一致情况。    
看了N个贴子,ThreadLocal讲得都不是很清楚,纠缠与synchronized的区别。直到看了http://qqdwll.iteye.com/blog/685586 才清晰了ThreadLocal的作用。   ThreadLocal可以为每个线程维护自己的变量,对于多线程使用同一对象可以起到管理作用。     先看个例子:   package com.koubei.Observable; import com.sun.org.apache.xalan.internal.xsltc.compiler.sym; public class UserProcess imp ...
Global site tag (gtag.js) - Google Analytics