从tomcat的启动脚本学习shell编程

首先,自然先看看tomcat的启动脚本里面有什么东西(这里面我注释掉了一些不太相关的内容):

# resolve links - $0 may be a softlink
PRG="$0"

while [ -h "$PRG" ] ; do
  ls=`ls -ld "$PRG"`
  link=`expr "$ls" : '.*-> \(.*\)$'`
  if ex[......]

Read more

Posted in Linux | Tagged | Leave a comment

Hibernate in Action读书笔记:读取持久化对象

Session这个持久化管理器提供的读取具有唯一标示符identity的对象的方法,get,load,它们的区别是:

(1)load方法当在session的缓存或数据库中读取不到对象时,它会发出异常,而get则不会,它会返回null。

(2)load方法有可能会返回一个代理对象(proxy),代理对象只是一个占位符,当首次访问代理对象时,代理对象会触发对被代理对象——也即真实对象的读取。

 

查询的两种不同方式:

HQL语言与Criteria API,Cr[......]

Read more

Posted in 读书笔记 | Tagged | Leave a comment

一条SQL引发的血案

最近在对原来的系统功能进行一些页面的优化,其中一个功能需要对原先的业务逻辑进行较大的改动,因此我一开始就对其抱有谨慎的态度,本来想将其独立出来发布,以免出现问题导致一起提交的其它功能都无法发布,但是最后还是没有这么做。当时想,虽然改动较大,但只要仔细做好自测,应该不会有太大的问题。

 

开发环境测试,没问题!发到beta环境测试,还是没问题!最后上IDC,问题来了,打开页面非常慢,几乎是假死状态,纳闷中=。=!想到过可能会出现问题,但没想到会是速度慢,因为速度慢十之八九是因[......]

Read more

Posted in 数据库 | Tagged , | Leave a comment

YSlow

YSlow是Yahoo提供的一个很好的网站性能分析工具,它可以分析web页面,并基于一组“构建高性能web页面规则(后面有列)”来提出一些提高页面性能的建议。它的特色功能有:

1. 基于三个预先定义的规则集(装了YSlow后,便可以看到默认提供了三个可选的规则集)之一或者是用户定义的规则集为web页面评分;

2. 提供提高页面性能的建议;

3. 概括页面的组件;

4. 显示页面的统计信息;

5. 提供性能分析的工具,包括JSLint等

 

YS[......]

Read more

Posted in 前端 | Tagged | Leave a comment

SQL:in与exists,select 1

1. in与exists语句

in是把外表和内表作hash连接,而exists是外表做loop循环,每次loop循环再对内表进行查询。如果查询的两个表大小相当,那么用in和exists差别不大。但如果两个表一个较小一个较大,则子查询中的表大时用exists,而子查询中表小时用in。

 

例如:表A(小表),表B(大表)

1:select * from A where cc in (select cc from B) 效率低,用到了A表上cc列的索引;

se[......]

Read more

Posted in 数据库 | Tagged | Leave a comment

在Spring中实现对Jsonp请求的支持

1. Jsonp原理介绍

Ajax想必已经是家喻户晓,但是,受制于浏览器的“同源策略”,当需要进行跨越访问时,Ajax就显得有些无能为力。这个时候,我们便需要Jsonp,Jsonp是Json with padding的简称,它是一个非官方协议,允许在服务端继承script tags返回至客户端,通过javascript callback的形式实现跨越访问。

说得更明确一点,就是前端通过JS创建一个script标签,并将src指向请求的url,同时在url中指定回调的callback,[......]

Read more

Posted in Spring | Tagged , | Leave a comment

Json-lib简介与使用

1. 简介

JSON-lib是一个用来映射bean,maps,collections,java arrays和XML到json,或相反将json映射到beans的Java类库。其官网:

http://json-lib.sourceforge.net/index.html,不像个别的开源工具,上面有很多的使用示例,基本可以涵盖大多数的使用场景,因此,下面会摘录一点出来作为例子,不会自己写。
2. 使用
      提供一些从Java对象类型到Json对象转换的例子。
(1) 供J[......]

Read more

Posted in J2EE | Tagged | 1 Comment

Spring MVC自定义视图实现

Spring MVC中为我们提供了很多默认的视图与视图解析器的实现,但是,有些时候或者我们需要的视图与视图解析器它并没有提供,亦或是提供了,可是过于复杂,因此最终我们还是有定制自己的视图与视图解析器的必要,还好,这是一项还算简单的任务。

在开始定制自己的视图之前,先来看看Spring中提供的一个复合视图解析器ContentNegotiatingViewResolver,使用它你可以配置:(1)所支持的媒体类型,也即文件后缀名及其对应的文件内容类型;(2) 视图解析器,ContentNego[......]

Read more

Posted in Spring | Tagged , | 1 Comment

常用字符编码详解

ASCII

ASCII码是7位编码,编码范围是0×00-0x7F。ASCII字符集包括英文字母、阿拉伯数字和标点符号等字符。其中0×00-0×20和0x7F共33个控制字符。

只支持ASCII码的系统会忽略每个字节的最高位,只认为低7位是有效位。HZ字符编码就是早期为了在只支持7位ASCII系统中传输中文而设计的编码。早期很多邮件系统也只支持ASCII编码,为了传输中文邮件必须使用BASE64或者其他编码方式。

 

GB2312

GB2312是基于区位码设计的,区位码[......]

Read more

Posted in 未分类 | Tagged | Leave a comment