随笔分类 -  日常杂谈

摘要:公司新需求要在手机上进行审批。 现在开发完成了。 总结:1.初步把公司的工作流模块做成RPC服务,公共服务可以进行调用。 2.服务分层,每个App的页面对应一个服务端的接口,作为前端控制器,用来从更低层次的服务获取数据,然后把数据组织成页面想要的形式,这样就只需要发一次请求,就可以返回所有需要的数据 阅读全文
posted @ 2016-08-27 22:33 寂静沙滩 阅读(1127) 评论(0) 推荐(0)
摘要:为了实现Excel走审批流程的功能,我部门用JAVA语言写了工作流引擎,线下部门用VB扩展了EXCEL的功能,能够调用我们提供的webService走工作流程。涉及到了三个部门的协作,线上业务开发部门java传参数给线下开发Excel控件vb部门,然后vb传调用webservcie传参数给我们平... 阅读全文
posted @ 2015-03-17 17:41 寂静沙滩 阅读(272) 评论(0) 推荐(0)
摘要:想看java底层的代码,调用了native方法,所以简单的学习了下C,看的是C程序设计语言这本书,主要是在学习基本语法,关于操作系统指令这块都没看。#define关键字用来定义常量,(定义和声明不一样,定义要分配内存,而声明只是表示这个变量的类型,当赋值的时候才分配内存)逻辑表达式 == 和!=返回... 阅读全文
posted @ 2014-05-12 10:13 寂静沙滩 阅读(244) 评论(0) 推荐(0)
摘要:开发的时候发现一个input框没有值,但F12 debug发现在html的input标签上value属性是有值的,然后随便编辑一下值就出现了。 很奇怪的现象,后来才知道这个是浏览器问题,就是用js改了value之后,开发工具的html上还是显示的原来jsp或者html上写的value值,但其实内存里value值和浏览器正常显示的value值都是新改后的了。其实用开发工具深层次进入这个dom元素,发现value属性也已经是新值了,说明了是开发工具自己问题,当然也可以说是浏览器的问题,因为开发工具要依赖浏览器嘛。同时这样的问题是用docment.getElementById("id&qu 阅读全文
posted @ 2014-02-28 12:25 寂静沙滩 阅读(376) 评论(0) 推荐(0)
摘要:销售那边一个项目需要评测通过,客户才购买,居然要求是在tomcat条件下,点击登录进入主页面这个过程并发在3000的时候,响应时间不能超过20s。 大家都觉得这么要求有点不可能,但用户看见别人的产品可以达到,就要这么要求,于是只有应付了,不知道部署上有没做负载均衡,我们的项目专门为评测做了一些修改,算是偷梁换柱,评委也不管别的,只要达到要求。 1修改web.xml,struts.xml,把能去掉的拦截器,过滤器都去掉, 2把main.jsp,直接修改成静态页面, 3把登录页面一些不是必须的ajax请求去掉,不是必须的图片也去掉,至于必须的ajax请求,则把这个ajax请求的结果,全... 阅读全文
posted @ 2014-02-24 11:12 寂静沙滩 阅读(327) 评论(0) 推荐(0)
摘要:今天要把开发的项目导出来拿到客户那边去部署运行一下。我们平时开发环境用的IDE是IntelliJ IDEA,智能化程度比较高。 代码写好后,通过IDEA启动tomcat运行是完全没问题的,然后我关闭IDEA,把这个项目手动复制到tomcat的webapp目录下,再在tomcat的bin目录启动tomcat,问题却出来了,报错找不到一些启动的xml文件。 一开始完全摸不着北,只是觉得很奇怪,叫来发开部经常部署的同事来看,也不知道怎么回事,他们只是在操作的时候强调说路径不能有中文。后来一点一点debug才发现,我们启动Class类里的代码里有查找当前路径字符串的代码,然后根据当前路径再加上... 阅读全文
posted @ 2014-02-17 06:17 寂静沙滩 阅读(688) 评论(0) 推荐(0)
摘要:java的方法是运行期动态绑定上去的,可以根据自己真正实例化的类来判断调用哪个方法,比如子类重写了父类方法,会调用子类方法。而利用final关键字可以让方法不能重写,就可以在编译期就绑定,这样就可以提高执行效率。private方法默认就是final的final的类里面所有方法默认都是final的====================================================================虚函数定义:在某基类中声明为 virtual 并在一个或多个派生类中被重新定 义的成员函数[1]语法:virtual 函数返回类型 函数名(参数表) { 函数体 }用途 阅读全文
posted @ 2014-01-23 18:38 寂静沙滩 阅读(336) 评论(0) 推荐(0)
摘要:华为甲方领导一拍脑门想要统计每个产品的浏览量记录,想把每个产品的页面浏览流量(字节数)记录下来,放入数据库.想以后管浏览这些信息的人收费。初步设想:1 继承HttpServletResponse类,写一个可获得输出流大小的类2 配置编写过滤器,使用自己的Response,成功获得输出流大小 3 根据httpHeader :Referer 判断承载页面的url,必须是要统计的页面才进行拦截,统计静态文件大小 4 设计一个承载操作信息Map,在action端放入Session,详情如下。每次操作取出count加1,如果session消失了,从0开始。 Map.put("dataBean& 阅读全文
posted @ 2013-03-01 10:33 寂静沙滩 阅读(821) 评论(0) 推荐(0)
摘要:1 项目上线之后,出现了无法定位的bug,有时出现有时不出现,认为是负载均衡的某一台服务器的问题,就单边访问挨个服务器测试,终于在一台服务器上问题重现了。所以负载均衡时,单边测试是必须优先就考虑到的。2在方法中所有传入的参数都要做非null验证,加强程序的健壮性。if(arg.eaqul("test"))应该写成if("test".eaqul(arg)),这样就不会出现变量为null时候的空指针异常了。 阅读全文
posted @ 2013-03-01 10:32 寂静沙滩 阅读(346) 评论(0) 推荐(0)
摘要:标题党 阅读全文
posted @ 2013-03-01 10:31 寂静沙滩 阅读(841) 评论(1) 推荐(0)
摘要:整个网站访问不了,后台日志内存溢出,提出了个致命单,找到问题后,整理成了案例,供培训使用。原因:流量统计FlowUtil类使用两个static的List来装载流量信息实体bean。 用户每次点击都会将一个产生一个bean并加入到第一个List1中,当List1里的bean到一定数量时(可在后台配置缓存大小),List1将所有的实体bean复制到 List2中,然后List1清空继续接收新的bean,这时List2开启一个新线程异步去将bean插入数据库,然后清空。Method add(bean){list1.add(bean); if (list1.size() >= cacheSize 阅读全文
posted @ 2013-03-01 10:30 寂静沙滩 阅读(4954) 评论(0) 推荐(0)
摘要:公司搜索引擎是买的英国autonomy的技术,然后用lua脚本进行二次开发,lua是一个优秀的嵌入式脚本,非常小,和c能很好的通讯,魔兽世界的插件就是用这个写的。 阅读全文
posted @ 2013-03-01 10:26 寂静沙滩 阅读(212) 评论(1) 推荐(0)