自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 [JCIP]Chapter 1.4 多线程无所不在

开发人员并不能因为自己没有创建线程,就可以不关心线程安全问题了。因为多线程是无所不在的。框架可能会帮你创建线程。JVM会创建线程运行自清理任务(垃圾回收,对象终结),以及运行主程序的线程Timer会创建线程处理预定义的任务,任务处理需要考虑线程安全问题.servlet会创建线程池,在这些线程池中运行组件方法。servlet规范要求一个servlet能够被多个线程同时调用,因此servl...

2012-02-02 18:53:19 179

原创 [JCIP]Chapter 1.3 多线程的风险

 Java内置的多线程是把双刃剑,一方面: 它提供了语言,库,以及跨平台的内存模型的支持,方便了用户对并发的开发。 另一方面,它降低了多线程开发的难度,导致了开发门槛低,但多线程是个高级话题,需要额外考虑多线程问题 1.3.1 正确性问题 多线程在缺乏充足同步的情况下,它们的运行结果是难以预料的。在没有同步控制下,编译器,硬件,运行过程中都可以对操作进行时间和顺序的改进。 如在寄存器或处理器缓存变...

2012-02-02 18:46:00 171

原创 [JCIP]Chapter 1.2 多线程的好处

如果多线程用的恰当的话,可以减少开发与运营的成本,提高复杂系统的性能。通过多线程将异步的工作流分解成多个顺序工作的单元,从而更符合真实世界的工作交付方式。多线程能够将复杂的代码块分解成 顺序的代码块,从而更容易编写,阅读以及维护.在GUI系统中,多线程能够提高用户响应。在服务器端,多线程能够提高资源利用率和谈吐量。简化JVM的实现,JVM的垃圾回收都是运行在一个或多个预定义的线程中.很多重大Jav...

2012-02-02 18:44:51 186

原创 [JCIP]Chapter 1 并发的简短历史

 最开始: 没有操作系统,电脑一次只能运行一个程序。 后来: 操作系统引入并发,允许同时多个程序运行,每个程序都在各自的进程里运行。  导致操作系统允许同时运行多个程序的因素: 资源利用率;公平性;开发方便. 多个线程共享进程的内存,文件句柄资源。每个线程有自己的程序计数器,栈,局部变量 线程在多处理器中能够更进一步地利用硬件资源。因为在多处理器中,多个线程能够同时运行。 多线程有时被称为"轻量级...

2012-02-02 18:42:26 144

原创 Java Concurrency in Practice

从今天开始,翻译Java Concurrency in Practice一书,简称JCIP,主要是为了自己理解,所以主要是翻译个大概意思。。。

2012-02-02 18:40:45 168

原创 Java守护项目(三)

所涉及到技术点: 1. Java调用命令行文件:ProcessBuilder类的使用 2. Java注册为操作系统服务,可用apache Daemon的Procrun工具来发布 3. 杀进程:    windows下可以用 WScript 脚本,如下:    Sub Kill_Process(ProcessName, CMD)    For Each ps In getob...

2011-10-24 17:21:56 143

原创 Java守护项目(二)

开发一个专门的守护项目,主要职责为如下几点:       一. 能够将自己注册为 windows或linux服务       二. 提供配置文件,让用户配置如下参数           # 最长停止时间,单位:秒 (默认 10分钟,如果所有的进程在 10 分钟内没有退出,则执行 kill 命令.)           # 最长启动时间,单位:秒 (默认 10分钟,如果所有的进程在 ...

2011-10-24 17:21:17 134

原创 Java守护项目(一)

J2EE项目都需要部署在J2EE容器内,所以上生产的时候,一般都会提供启动(startup.bat) 和 停止(stop.bat)的命令行脚本文件来部署。但不能满足以下情形:  1. 如果操作系统因意外重启了,怎么办  2. 运行过程中,进程crash掉了怎么办?  以上2种情况出现,都需要人工再去手工点startup.bat文件,来重新启动,人工会有延迟的,如果系统能够检测到这些异常...

2011-10-24 17:20:57 149

原创 好的代码必备的特点-业务结构清晰

  看别人代码的时候,常常会遇到这样的问题, 好像代码中没有实现这个小功能,但一打包运行,这小功能确实已经有了。  翻遍了所有业务实现代码,都没找到,最后发现这个小功能在一个工具类方法实现了,我估计你已经抓狂了。。。   所以在开发项目过程中,所有业务类型功能代码都应该放在业务代码里,而不应该图方便将其放在不应该的地方。这样给维护会带来很大的困难。 工具类方法就只是做工具用的,不应该涉...

2011-10-19 16:11:13 159

原创 xml合并

利用xslt模板进行合并 /* * 合并xml文件 */ public void testMerge() throws Exception{ String aa = "F:/workspace/bme/mystudy/uconfig/11.xml"; String bb = "F:/workspace/bme/mystudy/uconfig/22.xml"...

2011-09-28 10:29:17 190

原创 转发Javaeye的一名人生感悟

有钱就泡泡妞没钱就跑跑步介于两者之间就购购物有能力就去国外没能力就低调的在国内,不要看新闻,不要看政策,不要想着会有什么福利。介于两者之间就在国内搞搞小爱好,但一定要低调,千万不要惹比你有钱的人。爱护自己,好好活着,低调活着,用旁人的眼观看时代变迁! ...

2011-09-06 15:50:08 107

原创 Java获取mac地址

public static Map getLocalMacMap() throws SocketException { Map macs = new HashMap(); for(Enumeration networks = NetworkInterface.getNetworkInterfaces(); networks.h...

2011-09-06 09:46:15 129

原创 Jquery定时器jquery.timers.js

<html> <head> <script type="text/javascript" src="j...

2011-09-01 15:39:17 318

原创 web安全10

3.6      其他规则4.7.4:使用.innerHtml时,如果只是要显示文本内容,必须在innerHTML取得内容后,再用正则表达式去除HTML标签,以预防跨站脚本。说明:使用.innerHtml会将内容以HTML显示,容易被利用,导致跨站脚本。实施指导:<a href="javascript:alert(document.getElementById('test')...

2011-08-26 18:28:57 151

原创 web安全9

3.4      代码注释3.5      归档要求规则4.6.1:版本归档时,必须删除开发过程(包括现场定制)中的临时文件、备份文件、无用目录等。说明:恶意用户可以通过URL请求诸如.bak之类的文件,Web服务器会将这些文件以文本方式呈现给恶意用户,造成代码的泄漏,严重威胁Web应用的安全。实施指导:请务必删除如下一些后辍的文件:.old、.OLD、.bak、.BAK、...

2011-08-26 18:28:38 161

原创 web安全8

规则3.6.4:对日志模块占用资源必须有相应的限制机制。说明:限制日志模块占用的资源,以防止如自动的恶意登陆尝试导致的资源枯竭类DOS攻击;比如限制日志记录占用的磁盘空间。建议3.6.1:安全日志应该有备份及清理机制。说明:备份及清理机制包括定期备份及清理安全日志和监控用于存放安全日志的磁盘空间的使用情况。可以配置定期备份及清理的时间,可以配置以用于存放安全日志的磁盘空间使用率达到多少...

2011-08-26 18:27:07 206

原创 web安全7

规则3.5.3.2:在客户端和服务器间传递敏感数据时,必须使用带服务器端证书的SSL。说明:如果在客户端和服务器间传递如帐号、口令等敏感数据,必须使用带服务器端证书的SSL。由于SSL对服务端的CPU资源消耗很大,实施时必须考虑服务器的承受能力。2.6      安全审计本节的安全审计是针对Web业务应用,不包括对操作系统、Web容器的安全审计。对于操作系统和Web容器的安全审计,可以...

2011-08-26 18:26:46 162

原创 web安全6

场景 2:后台服务端保存用户的登录口令// SHA512, 用户表中存放的密码是采用SHA512算法加密的,业务如果有自己的用户表,则也需要调用平台的加密API进行加密存储。请参考平台的加解密API文档。规则3.5.2.6:禁止在日志中记录敏感数据。// 禁止在日志中记录敏感数据(如口令、会话标识jsessionid等), 防止敏感信息泄漏。// 在日志中可配置过滤敏感字符,在调用...

2011-08-26 18:25:27 118

原创 web安全5

规则3.4.4:对于运行应用程序的操作系统帐号,不应使用“root”、“administrator”、“supervisor”等特权帐号或高级别权限帐号,应该尽可能地使用低级别权限的操作系统帐号。规则3.4.5:对于应用程序连接数据库服务器的数据库帐号,在满足业务需求的前提下,必须使用最低级别权限的数据库帐号。说明:根据业务系统要求,创建相应的数据库帐号,并授予必需的数据库权限。不能使用“...

2011-08-26 18:23:14 191

原创 web安全4

二、对于系统的操作员和管理员或CP/SP的URL请求进行鉴权相对复杂,可以参考:1、通过XML文件,以正则表达式定义各种URL对应的访问控制权限位,请参考:2、创建系统权限表,根据问控制列表AccessControlList.xml中定义的权限来导入权限数据。3、在为角色分配权限时,如果角色拥有某权限,则对应的权限位为1,否则为0。如果系统总共有26项权限,则最终得到一个长度26的字符...

2011-08-26 18:20:52 113

原创 web安全3

2.2.2  认证规则3.2.2.10:对于重要的交易事务(如转账、余额转移、充值等)要进行重新认证,以防范会话劫持和跨站请求伪造给用户带来损失。说明:重新认证,比如让用户重新输入口令,或者让用户输入一次性动态密码(动态密码卡或者短信随机密码)。建议3.2.2.1:管理页面建议实施强身份认证。//用户登陆,支持用户在特定IP下才可登陆。即登陆用户IP黑白名单功能。2.3 会话管...

2011-08-26 18:20:05 113

原创 web安全-口令策略2

10.refuseTime:    通过设置时间段来限制用户登录系统的时间。当用户在“refuseTime”中任意一个时间段之内时,用户不能登录系统。 示例:19:50:00~23:55:45   11.lockNoUseLongTime:当用户已经超出配置的时间间隔没有登录系统,该用户将被锁定 缺省值:60天   12.deleteLockLongTime:当已经锁定的用户超过配置的时间...

2011-08-26 11:10:16 215

原创 web安全-口令策略

   1.area.max.level:支持的地域最大层次。   2.organization.max.level:支持的机构最大层次。   3.maxAuthFailedTimes:连续输入登录密码错误次数大于或等于本参数取值后,该用户无法登录系统,帐号或者IP地址被锁定。     被锁定的用户在一定时间后,可以自动被解锁或者由超级用户手动解锁。     超级用户(sysadmi...

2011-08-26 11:09:48 335

原创 web安全

Web部署要求规则3.1.1:如果 Web 应用对 Internet 开放,Web服务器应当置于DMZ区,在Web服务器与Internet之间,Web服务器与内网之间应当有防火墙隔离,并设置合理的策略。规则3.1.2:如果 Web 应用对 Internet 开放,Web服务器应该部署在其专用的服务器上,应避免将数据库服务器或其他核心应用与Web服务器部署在同一台主机上。说明:Web服务...

2011-08-26 11:07:10 180

原创 java 用ant进行zip解压

利用ant进行zip解压,非常简单import org.apache.tools.ant.Project;import org.apache.tools.ant.taskdefs.Expand; public void testUnZip() { String unZipFile = "F:/OMSInstall2011081509...

2011-08-24 11:12:51 172

原创 shll bat2

# etc 启动ETC_PATH=/etc/init.dOMS_SIGN=oms.daemon.Launchercheck_started() { count=`ps -ef | grep $OMSD | grep $OMS_SIGN | wc -l` if [ $count -gt 0 ]; then echo "$CAPTION is ...

2011-08-23 17:30:04 116

原创 shell bat

#!/bin/shSCRIPT="$0"# 获取被连接的位置TARGET=`ls -l $SCRIPT | awk 'BEGIN {FS="-> "}{print $2}'`if [ "$TARGET" ]; then    SCRIPT=$TARGETfiSCRIPT_DIR=`dirname $SCRIPT`# 获取文件名SCRIPT_FILE=`ba...

2011-08-23 17:29:35 123

原创 好用的软件

WikidPad   WikidPad是一款开源免费的wiki风格的树状笔记管理软件,基于Python,支持Windows、Mac、Linux等平台。WikidPad在国外尤其是开源社区拥有较大影响力。 ...

2011-08-22 10:49:09 128

原创 ExecutorCompletionService

ExecutorCompletionService是能够将多个任务并行同时处理,并将相应结果保存到队列里的并发类 public void TestExecutorCompletionService() throws Exception { Executor defaultExecutor = Executors.newFixedThreadPool(10); BlockingQue...

2011-08-20 16:05:57 82

原创 数据库转储

项目中有些数据库表的数据由于相关业务的特殊性,不需要保留早期的数据,如一个月前的数据已经不需要了,放在那也没有意义,反而会影响到新数据的查询速度,这样就可以通过数据库转储来将以前的数据通过文件的方式来转储,或者直接删除掉。可以通过人工来做,但人工需要持续耗费人力,还会有失误的问题,系统转储最好还是在深夜做,业务空闲的时候做最好,给业务的冲击也最小,所以最好的办法还是通过系统功能来做。要实现系统转储...

2011-08-20 10:29:33 924

原创 Java操作命令行

Java可以操作命令行,嘿嘿,这也就意味着可以通过命令行调用其他应用的程序了。比如你可以通过命名行做一些数据库转储,文件转储的操作,然后用Java程序来定时调用,很酷吧/* * cd /D D: * mkdir testbat1111222234234 * */ public void testCmd1() throws IOExcepti...

2011-08-19 14:10:16 138

原创 高性能WEB开发4

4.1.11 减少域名DNS查找资源下载,尽量避免采用域名解析用相对路径,如果要链接到其它web服务器,尽量采用IP变量的方式,而不是DNS域名找。4.1.12 IE7下优化css选择器IE7下css选择器对于样式的选择,虽然jquery也支持直接选择到样式class,但性能极差,且和DOM大小有关,原因是IE7没有提供getElementByClass函数,所以是遍历方式查找,性能差...

2011-08-17 18:50:16 92

原创 高性能WEB开发3

4.1.7 提供多HTTP并发图片下载能力对于Portal系统,一般支持的用户并发数比管理系统要大很多,那么可以支持类似新浪首页那样的资源下载策略,把系统的图片,分业务领域或Portlet分类,进行多http server部署,资源从其他多个http server并发下载,可以提升首页打开的速度。4.1.8 Js/css性能优化可以采用dynatrace工具进行web性能跟踪和分析,最...

2011-08-17 18:49:56 87

原创 高性能WEB开发2

利用maven插件,同时开发了ant脚本。(都利用了YUI Compressor开源代码)Maven插件可以用maven-javascript-plugin(可压缩JS/CSS)4.1.5 Servlet拦截器瘦身和减少不需要的拦截关注拦截器层的 /*  如果有/*拦截配置,则一定要对资源读取加cache, 参考下面web.xml中的staticResouceCacheFilter...

2011-08-17 18:44:42 104

原创 高性能WEB开发

1.用Get而不是Post IE对Get和Post的ajax提交性能差异非常大,几乎是300倍以上的差异。 firefox和chrome大概是接近1倍。get ajax性能高。 默认全部ajax请求为Get,只有超过URL限制(2K)的请求才采用Post(这种场景比较少)。2.减少请求次数http请求数量最多的,其实不是ajax,也不是业务的请求。而是对资源的请求,包括图片,js,cs...

2011-08-17 16:03:10 101

原创 工程结构2

1.2.3 WAR工程(WAR)l  贯彻1+N,分业务特性,分模块开发,集中覆盖式部署。l  多war部署,按需部署。l  模块提供的菜单,尽量以xml配置方式分离,这样可以只部署和查看自己敢兴趣的。l  要做到上述几点,需要文件命名和目录,按照要求规范命名。l  资源文件统一放置在resources目录下。l  业务自定义主题目录,和平台主题目录同名,但分离到业务的特性...

2011-08-17 10:11:24 118

原创 工程结构1

 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 模块化,最小化...

2011-08-17 10:10:30 125

原创 压缩css和js文件

通过以下脚本可以压缩css和js脚本 <?xml version="1.0" encoding="UTF-8"?><!-- 对指定目录下的所有js进行压缩,放入指定位置 --><project name="jsbuild" default="compres-js-css">    <property file=&qu

2011-08-12 17:52:24 136

原创 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基本操作——Wi...

2011-08-11 18:58:41 105

原创 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下是最小化) ...

2011-08-11 18:51:42 110

空空如也

空空如也

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

TA关注的人

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