`
文章列表
Java可以操作命令行,嘿嘿,这也就意味着可以通过命令行调用其他应用的程序了。 比如你可以通过命名行做一些数据库转储,文件转储的操作,然后用Java程序来定时调用,很酷吧 /* * cd /D D: * mkdir testbat1111222234234 * */ public void testCmd1() throws IOException, InterruptedException{ ProcessBuilder pb = new ProcessBuilder("D:/testbat.bat") ...
4.1.11 减少域名DNS查找 资源下载,尽量避免采用域名解析用相对路径,如果要链接到其它web服务器,尽量采用IP变量的方式,而不是DNS域名找。 4.1.12 IE7下优化css选择器 IE7下css选择器对于样式的选择,虽然jquery也支持直接选择到样式class,但性能极差,且和DOM大小有关,原因是IE7没有提供getElementByClass函数,所以是遍历方式查找,性能差。 这样的情况下,可以先找到样式所在的父元素,再查找样式class。【此只针对IE7,IE8以上的浏览器不用关心】 4.1.13 不要出现请求不到的资源(404错误) 这个情况主要出现在css中, ...
4.1.7 提供多HTTP并发图片下载能力 对于Portal系统,一般支持的用户并发数比管理系统要大很多,那么可以支持类似新浪首页那样的资源下载策略,把系统的图片,分业务领域或Portlet分类,进行多http server部署,资源从其他多个http server并发下载,可以提升首页打开的速度。 4.1.8 Js/css性能优化 可以采用dynatrace工具进行web性能跟踪和分析,最新版本是:dynatrace-AJAX-edition-3.2.0.802.msi 下载地址:http://ajax.dynatrace.com/ajax/en/download/download.a ...
利用maven插件,同时开发了ant脚本。(都利用了YUI Compressor开源代码) Maven插件可以用maven-javascript-plugin(可压缩JS/CSS) 4.1.5 Servlet拦截器瘦身和减少不需要的拦截 关注拦截器层的 /*   如果有/*拦截配置,则一定要对资源读取加 ...
1.用Get而不是Post  IE对Get和Post的ajax提交性能差异非常大,几乎是300倍以上的差异。 firefox和chrome大概是接近1倍。get ajax性能高。 默认全部ajax请求为Get,只有超过URL限制(2K)的请求才采用Post(这种场景比较少)。 2.减少请求次数 http请求数量最多的,其实不是ajax,也不是业务的请求。而是对资源的请求,包括图片,js,css等。 虽然默认前端有IE缓存, 但http请求还是会下发(304),虽然比较下来数据没有变化,请求还是下发了,遇到拦截 /* 的配置,还是会把拦截器的逻辑走一遍,导致性能极差。 所以重要的不是减少 ...
1.2.3 WAR工程(WAR) l  贯彻1+N,分业务特性,分模块开发,集中覆盖式部署。 l  多war部署,按需部署。 l  模块提供的菜单,尽量以xml配置方式分离,这样可以只部署和查看自己敢兴趣的。 l  要做到上述几点,需要文件命名和目录,按照要求规范命名。 l  资源文件统一放置在resources目录下。 l  业务自定义主题目录,和平台主题目录同名,但分离到业务的特性war工程中,以覆盖的方式合并,这样可做到按需覆盖。 l  jsp文件分模块、分目录存放,这样可避免多war合并的同名覆盖,简化jsp文件命名的约束。 l  国际化资源文件放置到 WEB-INF/i ...
 1.工程结构   1.1 原则   1.1.1 推荐Eclipse 3.5.2(eclipse-jee-galileo-SR2-win32.zip)提升开发效率   1.1.2 工程依赖明确,无依赖环,开源版本约束。   1.1.3 目录结构清晰,规则统一,便于查找、打包、部署。   1.1.4 配置分散内置打包,对现场修改集中暴露,降低系统配置复杂性   1.1.5 模块化,最小化开发资源需求。  1.2 实施细则  1.2.1 主工程 定义主工程的目的:   l 统一定义第三方版本的依赖关系定义。   l 统一定义版本的编译、打包策略。     统一定义全局依赖的第 ...
通过以下脚本可以压缩css和js脚本 <?xml version="1.0" encoding="UTF-8"?> <!-- 对指定目录下的所有js进行压缩,放入指定位置 --> <project name="jsbuild" default="compres-js-css">     <property file="build.properties" />     <path id="yuiClasspath" ...

emacs(二)

EMACS基本操作——Search / Replace     向下搜索:C-s (只搜索单词:C-s RET C-w)     向上搜索:C-r (只搜索单词:C-r RET C-w)     正则表达式搜索:C-M-s / C-M-r     替换:M-%     正则表达式替换:C-M-%     EMACS默认是增量搜索,并有高亮显示。     EMACS基本操作——Window     关闭Window:C-x 0     关闭其他Window:C-x 1     Split Window:C-x 2 / C-x 3 (水平、垂直)     切换Window: ...

emacs(一)

EMACS基本操作——File/Buffer        打开、新建文件:C-x C-f     保存文件:C-x C-s     文件另存为:C-x C-w     插入文件:C-x i     Kill Buffer:C-x k     切换Buffer:C-x b     列出Buffer:C-x C-b     挂起EMACS:C-z (Window下是最小化)     退出EMACS:C-c C-x EMACS基本操作——Point     移动光标: C-p / C-n / C-f / C-b(prior/next/forward/backward)   ...
Java如何监控文件的修改

Restful(一)

 如何区分市场上各种web服务,不是看他采用的具体技术,而是看他的架构以及蕴含的设计哲学,可以用下面2种问答  一.从方法来讲,客户端是如何将它的意图传给服务器的    传统的企业应用(如采用struts,webwork)都是请求头里包含方法信息,如XXX.action,XXX.do,这个XXX就会被服务器定位到具体哪个方法,而HTTP原生方法就是get,post    soap是将方法等重要信息大部分包含在请求体里的当然也有一些在请求头内.    Restful是将方法信息是定义在标准的http方法内的  二.从范围来讲,客户端如何告诉服务器它想要操作哪部分的数据     目前市面 ...
1.服务提供者提供的服务接口类中 先声明好 哪些参数类型是 回调类型的,从而同普通的方法参数区别开来     @Callback(MyLister.class)     public interface DemoService{      void handle(String cond,MyLister callback);}   2.客户端一启动时都提供一个的回调服务集中处理回调请求   2.客户端如是远程调用(本地调用就不需要了)该服务接口的某些方法,先判断这些方法的参数是否包含回调的参数类型   3.客户端将回调的参数类型对象,作为服务发布到服务总线上去,以供服务端远程调用。 ...
分布式服务如何实现服务回调   服务回调:  是服务提供者给调用者提供的一个功能,允许在执行服务的过程中,当满足一定条件时,回调用户的接口方法。   Java实现回调步骤主要如下:    1. 服务提供者定义回调接口,并提供包含回调接口参数的服务方法,在方法实现中调用回调接口参数的方法。    2. 客户端实现回调接口    3. 客户端将回调接口实现对象作为参数,调用服务方法.    当客户端和服务端在同一个jVM中,上面的步骤其实就已经OK了,也是非常简单的。    但是如果客户端和服务端不在一台服务器上,上面这个过程就不能实现了。    因为客服端的实现对象是在客户端的内存 ...
服务端响应请求的流程是:      1.在固定的端口,监听远程连接socket,采用长连接方式,准对每个客户端都保留有一个处理对象。socket缓存在处理对象中,对该客户端一直打开着      2. 处理对象 按照请求报文格式解析请求报文,解析完后,将他们封装到新的session对象中,立马换另外一个线程取下一条,而自己则调用session对象继续处理业务逻辑。采用的是领导者跟随者模式,减少线程切换。         领导者线程获取一个完整请求后,把socket返回给线程池继续调度,自己继续执行业务逻辑。      3.session对象将解析出来的服务名 通过服务中心 获取到本地服务 ...
Global site tag (gtag.js) - Google Analytics