- 博客(241)
- 资源 (2)
- 收藏
- 关注
原创 Webpack VS requireJS
Webpack VS requireJS两者都是前端自动化构建工具,模块化工具和资源管理工具,都支持AMD和CMD的加载方式,配置起来也非常简单,requireJS应有的功能,Webpack 全都有,而且Webpack 弥补了requireJS的所有缺陷。(1)webpack在管理模块的时候不需要再封装一层像requireJS如下的东西define(['jquery'], fu...
2016-11-08 18:17:20 1043
原创 Understanding ECMAScript 6笔记(1)
1.var与let的区别(scope区别)(1)块级别的声明 传统的var声明在代码函数块中,实质是全局的变量,而用ES6的let声明则是真正区域在块中 function getValue(condition) { if (condition) { var value = "blue"; // other code ...
2016-11-08 15:27:52 229
原创 Javascript面向对象定义和继承最佳实践
在面向对象的Javascript编程中,希望代码优雅有高效是非常重要的。javascript中不存在类的概念,只有对象。要想把Javascript代码写的像java 或者C++一样优雅,就得考虑如何去实现,同时也要考虑性能和高效。定义javascript对象的方式有很多,继承的方式也很多。通过不断地实践,推荐如下的方法:1.Javascript对象的定义采用混合方式【构造函数 +原型方式(...
2013-08-28 10:46:52 256
原创 Iframe高度自适应(兼容IE/FireFox 同域、跨域)
在实际的项目进行中,很多地方可能由于历史原因不得不去使用iframe,包括目前正火热的应用开发也是如此。随之而来的就是在实际使用iframe中,会遇到iframe高度的问题,由于被嵌套的页面长度不固定而显示出来的滚动条,不仅影响美观,还会对用户操作带来不便。于是自动调整iframe的高度就成为本文的重点。采用JavaScript来控制iframe元素的高度是iframe高度自适应的关键,...
2013-08-27 18:17:29 179
原创 2. 遇到多个构造器参数时要考虑使用构建器
1. 重叠构造器模式的缺点:当有许多参数时,客户端代码很难编写,并且难以阅读。 2. JavaBeans模式的缺点: 1) 构造过程被分到几个调用中,在构造过程中JavaBeans可能处于不一致的状态;类无法仅仅通过检验构造器参数的有效性来保证一致性。 2) JavaBeans模式阻止了把类做成不可变的可能,需要程序员付出额外的努力来确保线程安全。 3. Builder模式:...
2013-07-01 16:38:11 127
原创 3. 用私有构造器或枚举类型强化singleton属性
Effective Java 中提出实现单例的3中方法,详细内容如下:1.将公有静态成员变量做成final域package com.jason.effectivejava.rule3.one;import java.lang.reflect.Constructor;import java.lang.reflect.InvocationTargetException;p...
2013-07-01 16:21:09 153
原创 Java transient关键字
Java的serialization提供了一种持久化对象实例的机制。当持久化对象时,可能有一个特殊的对象数据成员,我们不想用serialization机制来保存它。为了在一个特定对象的一个域上关闭serialization,可以在这个域前加上关键字transient。transient是Java语言的关键字,用来表示一个域不是该对象串行化的一部分。当一个对象被串行化的时候,transient...
2013-07-01 14:11:27 108
原创 Java中synchronized 关键字的详解
在了解cache的过程中,难免会涉及多线程的问题,涉及到多线程问题,自然会涉及互斥问题。在啥地方加锁,如何加锁才能提高效率。于是,本篇文章针对互斥问题,做一下深入的研究。 在java中,采用关键字synchronized进行同步互斥,而synchronized的同步是互斥锁,有同步方法和同步代码块,下面就synchronized做一下详细的总结。 1、同步方法 synchr...
2013-06-25 12:18:51 119
原创 java内存泄露分析
问题的提出 Java 的一个重要优点就是通过垃圾收集器(Garbage Collection,GC)自动管理内存的回收,程序员不需要通过调用函数来释放内存。因此,很多程序员认为Java不存在内存泄漏问题,或者认为即使 有内存泄漏也不是程序的责任,而是GC或JVM的问题。其实,这种想法是不正确的,因为Java也存在内存泄露,但它的表现与C++不同。 随着越来越多的服务器程序采用Ja...
2013-06-24 16:01:16 162
原创 java实现cache的基本原则
我这里说的cache不是指CPU和RAM之间的缓存,而是java应用中间常用的缓存。最常使用的场合就是访问数据库的时候为了提高效率而使用的 cache。一般的用法就是把数据从数据库读到内存,然后之后的数据访问都从内存来读,从而减少对数据库的读取次数来提高效率。 在使用cache的时候最容易犯的错误就是cache涉及了业务逻辑。使用cache的原意是只是提高程序效率,而不应该干涉程序结果。按照...
2013-06-23 18:02:38 164
原创 java中的equals()和hashCode()详解
java中对equals()和hashCode()方法是这样规定的:如果两个对象相同,它们的hashCode一定相同,但hashCode相同的两个对象,不一定相同。hashCode有点像引用地址的味道,属于底层的东西。 对于基本类型的包装类型,它们覆盖了equal()方法。比如Boolean、Character、Byte、Shot、Integer、Long、Fl...
2013-06-23 17:21:56 107
原创 深入探讨Java的引用(Reference)
概述 要深入了解cache的问题,首先要明确和了解java的引用。java虽然有垃圾回收机制,但java也有内存泄露的时候。什么引起java内存泄露呢?要理解这个问题,需要明确java的引用。java不像C++,在java中没有指针,只有引用,但java的引用在某种程度上就像C++中披着外衣的指针。在JDK 1.2以前的版本中,若一个对象不被任何变量引用,那么程序就无法再...
2013-06-23 13:58:31 139
原创 大数据高并发问题解决方法
大数据高并发的瓶颈一般都是数据库层面的,机械硬盘承载不起非常快速的读写操作,cpu承载不起大量的逻辑运算,所以最基本的解决思路就是:1.换固态硬盘加快硬盘的读写效率。2.建立缓存中间件降低对硬盘的读写次数,缓存不用多说了,最最最基本和重要的优化策略。3.将硬盘的读写或者数据的计算分摊到多台机器上,也就是集群。hadoop就是基于这个层面的。4.良好的查询算法,降低读的次数,分表,分库,索引等都是基...
2013-05-13 08:08:55 247
原创 Web监听器
监听器的主要作用就是监听,当目标发生变化的时候就会触发一定的方法,这也就是所谓的事件触发机制。在这种机制中要有三个要素,也就是事件,事件源,处理事件的方法。这三要素之间是相互制约的。一旦事件处理方法被触发必定有事件发生,也就可以得到触发 的事件,通过事件也就可以得到事件源,也就谁触发了事件,这样据可以将这三个要素联系在一起了。一个事件源可以有多个触发事件,而一个触发事件的发生...
2013-01-05 16:57:54 155
原创 五 Spring 国际化问题
程序中的国际化问题也是一个非常重要的部分,好多的软件都支持国际化,不同的版本对应不同的语言。在进行国际化时,依照程序开发习惯,我们一般选择在页面层或者控制层做国际化处理,业务层和DAO层不要去国际化,在业务层或者DAo层只需设定国际化的key值即可,当然,key值尽量具有意义。目前,spring提供了好多国际化的方式,例如AcceptHeaderLocaleResolver,session及...
2012-12-31 18:23:20 318
原创 四. Spring MVC 3 支持json及 常见错误解决
spring3 已经集成了jackson,本身支持页面的ajax获取数据。在版本中我们无需任何配置,只需下载jackson-all的包,放置在lib目录中,在controller中采用@ResponseBody 标记,就可以直接把Map,list 及各种对象直接转换为json对象的形式展现在前端。1、spring3支持的各种类型转换为json对象的实例如下在controller层中我们...
2012-12-26 18:35:42 182
原创 二 基于Spring的异常体系处理
1.Spring的DAO异常体系Spring在DAO层建立了一套面向DAO层统一的异常体系,同时将各种访问数据的检查型异常转换为非检查型异常,为整合各种持久层框架(spring JDBC,Hibernate,ibatis)提供基础。 Spring将DAO层进行了封装,形成统一的异常体系架构,其基类为DataAccessException。2、基于spring的JEE体系架构异常处理...
2012-12-02 16:58:59 230
原创 一 spring 体系结构简单介绍
1、spring 体系结构spring包含五大模块:数据访问与集成,web及远程访问,测试框架,IOC 和 AOPIOC:将类与类之间的依赖从代码中脱离开来,由配置或注解的方式进行依赖关系的描述。IOC容器负责依赖类之间的创建,拼接,管理等工作。beanfactory 接口是sping的核心接口,实现了IOC容器的许多功能。而context扩展了beanfactory的功能。AOP:...
2012-11-22 14:37:40 145
原创 ie不支持max-height的解决之法
.div{ max-height: 100px; _height:expression(this.scrollHeight > 100 ? "100px" : "auto"); overflow-y:auto; } 这样就可以让div在ie和firefox中都实现max-height的效果 .div{ ma...
2012-09-11 12:34:56 322
原创 CSS英文单词强制换行
自动换行问题,正常字符的换行是比较合理的,而连续的数字和英文字符常常将容器撑大,挺让人头疼,下面介绍的是CSS如何实现换行的方法对于div,p等块级元素正常文字的换行(亚洲文字和非亚洲文字)元素拥有默认的white-space:normal,当定义的宽度之后自动换行html<div id="wrap">正常文字的换行(亚洲文字和非亚洲文字)元素拥有默认的white-space:...
2012-08-30 03:01:32 115
原创 DIV 获取焦点和失去焦点
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=GBK" /> <title>div 触发失去焦点事件</title> </head> <body> <
2012-08-30 03:00:30 1608
原创 PDF 报表合并
import java.io.FileOutputStream;import com.lowagie.text.Document;import com.lowagie.text.pdf.PdfCopy;import com.lowagie.text.pdf.PdfImportedPage;import com.lowagie.text.pdf.PdfReader;publi...
2012-08-14 15:34:48 133
原创 Spring AOP 简单理解
AOP技术即(面向切面编程)技术是在面向对象编程基础上的发展,AOP技术是对所有对象或一类对象编程。核心是在不增加代码的基础上,还增加了新的功能。AOP编程在开发框架本身用的比较多,而实际项目中,用的比较少。它是将分散在各个业务逻辑代码中的相同代码抽取出来形成一个独立的模块。1、定义AOP术语(1)切面(aspect):要实现的交叉功能,是系统模块化的一个切面或领域。(2)通知(adv...
2012-05-31 18:42:25 80
原创 复制bean的开源工具Dozer
项目中,经常会遇到各层对象之间相互进行值传递的过程,如在数据据持久层有一持久类ClassA,在视图层可能会变为ViewA,通常情况下,如果两个类结构一样,最常使用的是BeanUtils.copyProperties(src,aim)方法将一个对象的值赋给另一个对象!但是如果属性不同或者名称不同,则需要Dozer来完成,通过灵活的配置,达到不同对象间的拷贝!dozer当字段名称相同时,可以直接复制,...
2012-05-14 18:20:39 120
原创 半透明tooltip的实现
制作半透明的tooltip 无非就是2个div重叠实现的,下面的例子如下:<html> <head> <meta charset="UTF-8" /> <title>QUnit Test Suite</title> <link rel="stylesheet&
2012-04-27 11:01:07 498
原创 spring security进级篇VI JCaptcha验证编码的使用
在spring security中,可以结合jcaptcha进行使用,具体方法如下:1.java类如下:package com.spring.security.jcaptcha;import java.awt.Color;import java.awt.Font;import java.awt.image.ImageFilter;import com.octo.ca...
2012-04-27 10:52:14 168
原创 spring security进级篇 V 自定义标签控制显示
上篇提到了,将用户,角色,组,权限存放到数据库中,会遇到UI上spring security 标签失效问题,建议自己定义自定义标签,下面就自定义标签,具体说一下思路; spring security 登陆时将用户信息存放于session中,在自定义标签中通过pageContext 获取session相关信息,通过相应传人的URL,进行相应的比对就可以判断某些URL是否有访问权限,进而控制是...
2012-04-27 10:30:57 159
原创 基于jquery的半透明tip的实现
趁工作之余,做了一个半透明的tooltip组件,show一下 (function($){ jQuery.fn.extend({ showTip:function(settings) { var defaultOptions = {tipInfo:$(this).attr("title"), isAnimate:fals...
2012-04-25 18:23:52 192
原创 类之间的关系
泛化:表示类与类之间的继承关系、接口与接口之间的继承关系;实现:表示类对接口的实现;依赖:当类与类之间有使用关系时就属于依赖关系,不同于关联关系,依赖不具有“拥有关系”,而是一种“相识关系”,只在某个特定地方(比如某个方法体内)才有关系。关联:表示类与类或类与接口之间的依赖关系,表现为“拥有关系”;具体到代码可以用实例变量来表示;聚合:属于是关联的特殊情况,体现部分-整体关系,是一种弱拥有关系;整...
2012-04-12 11:25:16 82
原创 Css 两个问题
1、button 中文字居中且左右txt的文字左右距离都5px 的方法.eftool-btn{ BORDER-RIGHT: #868686 1px solid; BORDER-TOP: #a6a6a6 1px solid; FONT-SIZE: 10px; BACKGROUND-IMAGE: url(/imgs/ef_button_bg.jpg);...
2011-12-09 11:05:43 75
原创 三. spring mvc 异常统一处理
SpringMVC 提供的异常处理主要有两种方式,一种是直接实现自己的HandlerExceptionResolver,另一种是使用注解的方式实现一个专门用于处理异常的Controller——ExceptionHandler。前者当发生异常时,页面会跳到指定的错误页面,后者同样,只是后者会在每个controller中都需要加入重复的代码。如何进行简单地统一配置异常,使得发生普通错误指定到固定的...
2011-12-08 15:10:29 344
原创 在eclispe中自动生成ant脚本
虽然maven现在流行,而且在不断地有取代ant的趋势,但小的工程应用ant还是很轻巧的,在eclispe中可以自动生成ant脚本,我们在自动生成的ant脚本中,做一下修改,即可获得目标的ant脚本,非常方便,生成ant脚本步骤如下:1、选择工程,点击右键,选择export菜单,如下图所示:2.选择ant 进行 3、点击选择要生成的ant脚本的工程 ...
2011-11-21 18:04:57 184
junit 和cobertura 在测试驱动开发中的应用
在测试驱动开发中,单元测试非常重要,而测试代码的分支覆盖率和行覆盖率同样重要,目前比较流行的单元测试工具为junit,而覆盖率测试工具cobertura非常好用,现在将2者集成到一块,个人感觉在现实的开发中还是比较实际的,下面看一下集成的过程。1、工程目录如下: 2、编写类public class OperateType { public static final Strin...
2011-11-21 16:50:04 134
原创 eclispse设定每行字符数
在使用Eclipse的时候经常会使用Eclipse的格式化,但是Eclipse的格式化经常都很难看,因为它是按照每80个字符一个换行,换不了的时候更难看,所以我想要改变这样的情况,只能修改它的配置 首先 New 一个 Style,可以命名为MyStyle 修改一下 Maximun line width 的值就可以了,怎么好看,自己设置吧这样就配置好了! ...
2011-11-17 14:50:39 214
原创 eclispe自动提示功能
Eclipse代码里面的代码提示功能默认是关闭的,只有输入“.”的时候才会提示功能,用vs的用户可能不太习惯这种,vs是输入任何字母都会提示,下面说一下如何修改eclipse配置,开启代码自动提示功能 打开 Eclipse -> Window -> Perferences -> Java -> Editor -> Content Assist,在右边最...
2011-11-17 14:42:36 98
原创 tools list
Apache Tika 1.0发布,开源的文档检索工具包Fastjson 1.1.3是一个重要的功能增强版本,在这个版本开始,fastjson支持循环引用,完善支持WriteClassName的特性,使得fastjson开始具备替换hessian和java serialize的能力。 http://code.alibabatech.com/ ...
2011-11-10 22:51:08 115
原创 spring security3进级篇III
在spring security3进级篇II中,虽然将用户和权限存入到数据库中,但在配置文件中仍然要对URL地址配置角色进行控制访问,如何将用户,角色,资源存放到数据库中,进行统一管理,逐步实现RBAC的模型呢,这需要更复杂的实现,这一篇将实现将所有的信息存储到数据库中,但不涉及组,许可等表。 1、首先建立数据表CREATE DATABASE IF NOT EXISTS s...
2011-10-31 18:11:44 134
原创 js 写的Map
function Map(){ this.elements = {}; this.size = 0;}// get the size of the MapMap.prototype.size = function(){ return this.size;};// judge the Map's emptyMap.prototype.isEmpty =...
2011-09-26 10:42:44 103
原创 spring security3进级篇II
本篇文章用户和权限用数据库存储,而资源(url)和权限的对应采用硬编码配置在XML中实现的。在本篇中需要把用户和权限信息存到数据库中,本例子采用mysql数据库,数据库表如下: CREATE TABLE users( username VARCHAR(50) NOT NULL, password VARCHAR(50) NOT NULL, enabled BOOLEAN N...
2011-08-19 16:39:27 100
db2数据库入门教程(官方中文版)
2010-10-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人