自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(57)
  • 收藏
  • 关注

原创 多线程分解串行工作

场景:    LIST页面,商品由A和B商品组成,A和B商品分别在不同的search,需要调用两次请求组装后返回渲染。  优点:路径简单,程序实现容易缺点:无法发挥机器多核并行潜力   并行请求:  设计思路:互相不依赖的串行调用切割成多个单独方法。利用线程池并行计算,用ExecutorService实现全部线程运行完毕组装结果返回,用C...

2013-05-02 15:43:35 159

原创 数据库中用二进制数值存储及查询标识值

我要存储会员信息 业务是多变的,需要存储多种标识。 如: 要标识会员是否是卖家,要标识会员手机是否已认证要标识会员是网站还是手机注册 。。。。 这些标识是互相独立,需要支持联合查询  一般的做法是针对每个标识做个字段 tinyint  is_sell comment '1:卖家,0:买家'tinyint  mobile_aut...

2012-09-03 21:45:57 354

原创 HTTP头信息

 HTTP 头部解释1. Accept:告诉WEB服务器自己接受什么介质类型,*/* 表示任何类型,type/* 表示该类型下的所有子类型,type/sub-type。 2. Accept-Charset:   浏览器申明自己接收的字符集   Accept-Encoding:  浏览器申明自己接收的编码方法,通常指定压缩方法,是否支持压缩,支持什么压缩方法  (gzip,deflat...

2012-08-31 21:33:22 104

原创 转: 我的助理辞职了.

 1,当时公司招了大批应届本科和研究生毕业的新新人类。平均年龄25岁。那个新的助理,是经过多次面试后,我亲自招回来的一个女孩。名牌大学本科毕业,聪明,性格活泼。私下里我得承认,我招她的一个很重要的原因,除了她在大学里优秀的表现之外,还因为她写了一手漂亮的字。女孩能写一手好字的不多,尤其像她,看起来长发飘飘,多么女性化的一个姑娘,一手字却写的铿锵倜傥,让我对她不由多了很...

2012-02-22 09:52:27 124

linux 执行 java 程序

建个类  /** * Hello world! * */public class App { public static void main(String[] args) throws InterruptedException { while (1 == 1) { System.out.println(args[0] + " ============...

2011-11-15 15:34:15 93

原创 mysql 序列号生成办法

为什么要通过第三方生成主键: 海量数据一般要应用分库,分表策略,如用户表分成32张,每张数据量就小了,查询速度就会加快。分表会碰到主键问题,要保证每张表的主键在32张表中都是唯一,你会随着业务量重新整合数据32张表会变成64或更多,数据也可能要按新的规则存放,所以要保证主键唯一。 int型主键最利于索引和查询速度。有人会用uuid 32位字符串做主键,但这加大的索引存储,不...

2011-11-11 09:57:14 376

原创 向犹太人学习时间管理

 向犹太人学习时间管理 时间管理 August 29th, 2011“时间就是金钱,效率就是生命”的观念早已深入人心,而对于企业管理者来说,做好时间管理、提高管理效率不仅意味着提高内部经济利益,而且能加强企业外部竞争实力。实践证明,无论是企业还是事业单位,以下几种方法都有助于你们提高管理效率:设置专用时间(第克泰特时间)第克泰特(Dictator)的英文意思,在这里...

2011-10-25 14:00:12 129

原创 软件开发过程浅析

不论是重量级的还是敏捷的过程,在构建软件过程中都必须做下面的事情: 1、分析:通过收集和提炼,排优先级,来决定软件做什么。 2、计划:推算用多长时间完成软件 3、设计:决定如何把所有要做的东西装配在一起 4、编码:用一种或多种开发语言来构建软件 5、测试:保证工作的正确 6、部署:将软件交付实际环境 7、文档:向不同的用户描述软件,包括操作软...

2011-10-10 10:41:36 112

原创 如果决定产品该不该做?

在2011年10月的程序员杂志上看到该内容,深以为同,分享之。  为了评估产品机会,我要求产品回答以下问题 产品要解决什么问题?(产品价值)为谁解决这个问题?(目标市场)成功的机会有多大?(市场规模)怎样判断产品成功与否?(度量指标或收益指标)有哪些同类产品?(竞争格局)为什么我们最适合做这个产品?(竞争优势)时机合适吗?(市场时...

2011-09-30 16:54:41 140

原创 如何在面试中发现优秀程序员

我曾在一次面试中要求一个很有经验的嵌入式软件开发人员写出一个反转一段字符串并输出到屏幕上的程序。他在这个题目上挣扎了很久。这个家伙是个很神奇的人。你给他一些没用的零件,他能建造一个机器人,并能用程序控制它在屋里走来走去。他曾经参与过研制卫星,并且这个卫星现在正在轨运行。他只用左脑都比我能干。但是对于这个题目他却从来、从来没机会干过:在屏幕上显示什么东西。有些人就有这种技能,能在面试中问出正确的...

2011-09-13 17:38:03 76

strurts2 中的 ActionMapper的 作用

最近在项目中要做http api,要求提供的url是 http://***.domain.com/api/rest?sign={签名}&method={namespace}.{action名}.{调用方法名}&...... 类似淘宝的top api url 风格,一个url,根据参数不同,映射到不同的控制器。 实现方法详细: 1、实现自己的ActionMap...

2011-09-13 14:59:42 273

maven 一键生成 struts2 工程

项目中新建struts web工程有一定的工作量。web.xml,struts.xml,jar 包引入等。 用maven可以一键生成struts框架的web工程,直接启动即可,很大的加快了开发效率。 mvn org.apache.maven.plugins:maven-archetype-plugin:2.0-alpha-4:generate -B ^               ...

2011-09-08 18:18:56 85

表更新时间记录

 `update_time` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,  该字段表示,该表insert , replace, update情况下 `update_time`会自动更新为当前时间

2011-08-26 11:31:56 120

适用mysql分页的ibator

ibator生成的ibatis文件不带分页功能(或我没找到)。最近研究了ibator源码,改造了下,适用mysql的分页。大家可下载附件:ibator-guoba.rar 原理:1、在生成的sql_map中加入limit语句,判断Example类中的pager是否为空。2、生成BasePager类,含有pageStart,pagerEnd两个属性和方法,用于examplo继...

2011-06-20 09:33:53 118

学技术易,养成职业精神难,分享德国严谨精细工作精神

特别赞赏德国严谨,精细之精神。做为职业人士,应该学习,形成习惯。 1984年,武汉柴油机厂聘请德国退休老人格里希任厂长。 在这以前,“中国制造的柴油机噪声远播几公里,油迹溅洒数米外。而德国人生产的柴油机可以放在办公室红地毯上工作,不影响隔壁房间人们办公”。  武汉柴油机厂聘请格里希时,气缸杂质长期徘徊在五千毫克。格里希上任后的第一个会议,只讲了两句话。一是:“清洁度是产品寿命的...

2011-06-02 11:50:30 211

使用jmeter测试java程序

最近在用jmeter进行性能测试,防止被忘记,把步骤写下。 场景:测试java程序 1、右击测试计划-> 添加 -> Threads(Users) -> 线程组 2、设置线程属性,用于并发请求。          介绍:       线程数: 5      Ramp-Up Period(in seconds) : 1      循环...

2011-06-01 14:01:39 106

关于异常及性能的一些想法

大家经常在讨论业务中如何使用异常,异常的性能如何等。 第一个问题 : uncheck 异常,check 异常 异常使用的原则 1、如果调用者有责任在调用前检查必要状态,但没检查,就抛出uncheck异常         一般要提供给调用者判断方法,如果他不调用,则是一个编程错误,就应该使用uncheck异常           private flo...

2011-05-25 13:49:38 117

原创 乔布斯办公室语录

他是个天才和疯子,乔布斯办公室语录乔布斯先生每天必来到我们部门看昨天的成果,能听到他骂人,我们并不生气,因为我们知道他不允许产品上市后没有销路。He is a genius and crazy,He is a genius and crazy, Steve jobs office sayingsMr Jobs will come to our department see ever...

2011-05-13 15:56:26 152

购物车实现原理

购物网站一般都会用到购物车,使用中要满足的功能有: 1、用户不需要登录即可使用购物车,在没登录前操作的数据在下次登录本台机器上是有效的。     同一IP出口的多台机器,要维护各自的购物车。比如网吧,公司内网同一IP出口等情况。          解决办法:在用户的cookie中存入不可重复码,如UUID或128位短码等,用于定位某一台机器。              ...

2011-05-09 14:41:51 242

原创 创业公司的CEO每周须必做的13件事

当一个创业公司的CEO是个很辛苦很难的事。下面列出的是每个创业公司的CEO每周都应该必做的13件事情:关注一件事。你的公司一次只能做好一件事情。弄清楚你的这件事。把它贴在墙上。每天都要这样。把它放在公司内的日常交流论坛的顶部。不要让任何其它事情把你的团队从这个事情上分心。记住:你和你的团队是共荣共损的。花时间去培养你的团队。引进比你更善于做某些事的人。激励他们、督促他们去做他们从来不敢相...

2011-05-05 11:57:39 229

java正则表达式matcher,find的注意

正则很经常用,最近在开发碰到一些问题,提醒大家注意下。 一个字符串,要判断是否是数字,可以0为头 正确的做法:Pattern intPattern = Pattern.compile("[0-9]+");Matcher m = intPattern.matcher("aaa010222");System.out.print(m.matches());   返回f...

2011-04-20 17:17:29 545

原创 穷人与富人的区别

1.自我认知   穷人:很少想到如何去赚钱和如何才能赚到钱,认为自己一辈子就该这样,不相信会有什么改变。   富人:骨子里就深信自己生下来不是要做穷人,而是要做富人,他有强烈的赚钱意识,这已是他血液里的东西,他会想尽一切办法寻找机会使自己致富。   2.休闲   穷人:在家看电视,为肥皂剧的剧情感动得痛哭流涕,还要仿照电视里的时尚打扮自己。   富人:在外跑市场,即使打高尔夫球也不忘带...

2011-03-13 12:53:13 72

用dwr做级联下拉表单

级联下拉表单的做法有很多种,如jquery ajax,dwr等。现在我介绍下用dwr的做法。 实现目标: 两级地域下拉表单 A      B A中有三个选项:全部,北京,上海当A选全部时,B中出现全部当A选北京时,B中出现全部,朝阳区,海淀区当A选上海时,B中出现全部,浦东区,普坨区 1、下载dwr-2.0.rc1.jar,放入WEB-INIF/...

2011-03-07 15:06:44 195

struts2中输出json,用jquery得到结果

目的,在页面上点击按钮,让后端执行命令,后端反馈json,前端解晰并提出alter框 1、在struts2中,较方便的json输出,是通过google jsonplugin,下载这个包,附件中有。 2、在struts.xml 继承josnextends="struts-default,json-default" 可以多继承 3、新建ajax.struts.xml...

2011-03-06 13:38:43 86

struts2中url静态化跳转

URL的静态化对SEO是非常友好的。有很多网站40%左右的流量都是来源于搜索引擎,特别是新网站。 动态URL:/common/detail.html?id=268789静态URL:/common/detail-268789 一种方法:可以在apache或nginx中做配置。 二种方法:可以在sturts中处理 1、下载urlrewritefilter-3.1.0...

2011-03-06 12:42:23 164

WEB-INF/lib下最好不要有jsp-api,servlet-api 包

报如下错误exception javax.servlet.ServletException: org.apache.jasper.JasperException: Unable to compile class for JSP: An error occurred at line: 28 in the generated java fileThe method getJsp...

2011-01-24 15:25:25 537

原创 eclipse 中将工程变成 Dynamic web Module 工作

在eclipse中的tomcat server 加入web 工程启动是常规作法。加入tomcat server的条件必须是该工程是Dynamic web Module 。可以在该工程的properties -> Project Facets钩上Dynamic web Module,java 两项 有的工程不会出现Project Facets这项,可以在.project中加...

2011-01-19 15:59:57 90

JSP去空白行

JSP中由于引入包命令及其他处理,渲染出来的页面源代码很多换行。以前有很多方法来解决,如1、在编写源码中注意格式,多行并一行。这个编写比较麻烦,源码不好看。2、自己写标签,在运行时去除空白行。虽然时间一般很短,但也是耗了时。 tomcat 6中天然支持这种功能 1、  在工程的web.xml上加上如下配置<jsp-config><jsp-prope...

2010-12-31 14:50:49 178

修改类不用重启tomcat的配置(非reloadable="true")

今天同事龙泉同学找到一个很提高效率的tomcat开发模式。该模式下修改类不用整体加载web app,开发效率提升很多。 经过我们分析,原有的tomcat reloadable="true" 方式,虽可加载变化过或新增的类但存在以下问题 1、内存清空,整体web app会重新加载,web.xml中配置的监听器会全部再执行。2、其他没变的类也会重新加载。3、当系统很大时,非常耗...

2010-12-30 17:47:17 671

java反序列化的试验

试验目的:哪些情况会导致java反序列化失败。 持久化到本地 public class Test { private static String file = "/serialFile.txt"; public static void main(String[] args)throws Exception { write(); //read()...

2010-12-02 17:53:54 83

启动Tomcat报error:filterStart 处理方法

今天在调试一web应用,spring+webwork ,mvn 管理,启动tomcat 报 error:filterStart 错误造成任何访问都报404错误,而控制台没有任何具体错误信息。找了好久,在%Tomcat_home%\logs\下 localhost.2010-11-01.log (具体名称因时间和域名不同)发现具体错误严重: Exception starting fi...

2010-11-01 18:20:48 712

原创 Http头 Range、Content-Range

HTTP头中一般断点下载时才用到Range和Content-Range实体头,Range用户请求头中,指定第一个字节的位置和最后一个字节的位置,如(Range:200-300)Content-Range用于响应头请求下载整个文件: ***********************************GET  /test.rar  HTTP/1.1 Connection:  close Host:...

2010-10-15 19:00:50 160

回调机制

回调机制运用什么场景?1、当你正在做事,但有个信息需要别人通知你,那个人很忙说你留个电话我,有消息我就通知你,你继续干你的事,两不误。可以解决阻塞问题。 2、在某个条件满足后去执行未知的逻辑,因为未知,所以预留接口待外界传入类,有点模板方法的意思。这个可以解耦。 写一个例子: 场景:某员工正在拍卖现场出价,老板说:你按我的指示出价,如果我有变动会通知你,你再改变出价。...

2010-10-15 15:28:24 92

业务逻辑层代码探索

web层编码中action的处理比较麻烦,特别是代码量变大,多应用,多人维护等情况下特别困难。如何摸索下维护简单,复用性强的代码方式很重要。 上次写了一篇文章:http://guoba6688-sina-com.iteye.com/blog/747756,简单的处理。 这几天和同事讨论,他们提出更优雅的方式,我试着写了下,希望大家指教。 解决目标: 1、acti...

2010-09-25 13:54:58 326

tomcat + struts2 下配置404页面

今天在项目中配置404页面,最开始的配置是这样的,在web.xml中加入 <error-page> <error-code>404</error-code> <location>/notfound.jsp</location> </error-page>  <%@ page la...

2010-09-14 19:07:41 189

原创 10点让你进步

我非常欣赏这10点,努力做到。 让自己进步的十个习惯:⒈永远不说不可能。⒉凡事第一反应找方法,不是找借口。⒊养成记录习惯,不太依赖脑袋。⒋每天出门照镜子,给自己自信的微笑。⒌每天自我反省。⒍用心倾听,不打断别人的话,作个倾听高手。⒎节俭定期存钱。⒏遵守诚信,说到做到。⒐时刻微笑待人处事。⒑开会坐前排。...

2010-09-05 17:16:14 94

union 及 union all的区别

今天要查多张表count数据,表结构相同,要汇总结果。 我最初的写法是 select count(*) ,sum(c) from (select 1+2 as c unionselect 1+2 as c unionselect 1+2 as c unionselect 1+2 as c) as a  结果 count(*), c1, ...

2010-09-05 13:25:01 71

web层action端业务逻辑层设计

项目越做越大,代码越来越多。陆续出了一些问题。 1、action层代码过多,复用性不强。往往多个应用要使用同一个功能。如A应用中有发布感受,B应用中也需要,这时B就把A中action的代码复制过来。 2、一个功能比较复杂,调用service比较多。发布文章前要判断是否黑名单,是否有违禁词,然后持久化,然后发积分和站内信等。现在全部写在一起,修改困难,不灵活。 重构目标:...

2010-08-26 13:39:54 166

java线程与协程效果对比

最近项目中为解决性能问题使用了线程,但不是很理想。线程是个双刃剑,适当的线程可以加快速度,多了会让CPU压力直线上升,操作系统频繁切换,TPS反而降低。 一般的惯例是线程数是CPU数量的2倍以下比较好。 这里有篇介绍协程很好的文章,http://bluedavy.com/?p=4,该篇文章中有代码下载。 协程避免了操作系统切换线程的工作,用任务代替了线程。 我用下载...

2010-08-10 15:48:41 661

synchronized及wait()/notify()的一些实验

最近在项目中运用多线程比较多,对synchronized,wait(),notify(),做了一些实验。 1、针对方法的synchronized实际上是对该对象加锁。package com.test.wait_notify;/** * 锅巴 * 描述 * @version 1.0 2010-8-10 */public class Main { ...

2010-08-10 14:37:45 84

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除