- 浏览: 762098 次
- 性别:
- 来自: 深圳
最新评论
-
psz6696:
可以说是超级简单的Demo了,可惜没有演示设值注入和构造注入两 ...
模拟spring中的ClassPathXmlApplicationContext类的实现 -
ziyourJava:
[flash=200,200][img][url][list] ...
spring security进级篇 V 自定义标签控制显示 -
ztw1122:
...
zk组件开发指南(目录) -
zjysuv:
容我说一句 在座的各位都是垃圾 spring 3.2以后的@C ...
三. spring mvc 异常统一处理 -
chengwu1201:
二 基于Spring的异常体系处理
文章列表
Webpack VS requireJS
两者都是前端自动化构建工具,模块化工具和资源管理工具,都支持AMD和CMD的加载方式,配置起来也非常简单,requireJS应有的功能,Webpack 全都有,而且Webpack 弥补了requireJS的所有缺陷。
(1)webpack在管理模块的时候不需要再封装一层像requireJS如下的东西
define(['jquery'], function(jquery){})
(2)它实现了前端代码模块化,提高了代码的复用性,从而提供公共模块的缓存功能。webpack通过打包,不同页面单独加载自己的模块的javascript 和 com ...
1.var与let的区别(scope区别)
(1)块级别的声明
传统的var声明在代码函数块中,实质是全局的变量,而用ES6的let声明则是真正区域在块中
function getValue(condition) {
if (condition) {
var value = "blue";
// other code
return value;
} else {
// value exists here with a value of undefined
...
在面向对象的Javascript编程中,希望代码优雅有高效是非常重要的。javascript中不存在类的概念,只有对象。要想把Javascript代码写的像java 或者C++一样优雅,就得考虑如何去实现,同时也要考虑性能和高效。定义javascript对象的方式有很多,继承的方式也很多。通过不断地实践,推荐如下的方法:
1.Javascript对象的定义采用混合方式【构造函数 +原型方式(prototype)】
(1)通过构造函数方式定义对象的所有非函数属性
(2)用原型方式定义对象的函数属性
采用这种方式,所有的属性都是单一对象私有的,而方法则是所有对象公有的,对象之间的 ...
在实际的项目进行中,很多地方可能由于历史原因不得不去使用iframe,包括目前正火热的应用开发也是如此。
随之而来的就是在实际使用iframe中,会遇到iframe高度的问题,由于被嵌套的页面长度不固定而显示出来的滚动条,不 ...
- 2013-08-27 18:17
- 浏览 1919
- 评论(0)
1. 重叠构造器模式的缺点:
当有许多参数时,客户端代码很难编写,并且难以阅读。
2. JavaBeans模式的缺点:
1) 构造过程被分到几个调用中,在构造过程中JavaBeans可能处于不一致的状态;类无法仅仅通过检验构造器参数的有效性来保证一致性。
2) JavaBeans模式阻止了把类做成不可变的可能,需要程序员付出额外的努力来确保线程安全。
3. Builder模式:
不直接生成想要的对象,而是让客户端利用所有必要的参数调用构造器(或者静态工厂),得到一个builder对象。然后客户端在builder对象上调用类似于setter的方法,来设置每个相关的可选参数。 ...
- 2013-07-01 16:38
- 浏览 1378
- 评论(0)
Effective Java 中提出实现单例的3中方法,详细内容如下:
1.将公有静态成员变量做成final域
package com.jason.effectivejava.rule3.one;
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
public class Elvis {
public static final Elvis INSTANCE = new Elvis();
private Elvis() {
...
Java transient关键字
- 博客分类:
- java基础
Java的serialization提供了一种持久化对象实例的机制。当持久化对象时,可能有一个特殊的对象数据成员,我们不想用serialization机制来保存它。为了在一个特定对象的一个域上关闭serialization,可以在这个域前加上关键字transient。
transient是Java语言的关键字,用来表示一个域不是该对象串行化的一部分。当一个对象被串行化的时候,transient型变量的值不包括在串行化的表示中,然而非transient型的变量是被包括进去的。注意static变量也是可以串行化的。
import java.io.FileInputStream;
import ...
- 2013-07-01 14:11
- 浏览 1277
- 评论(0)
在了解cache的过程中,难免会涉及多线程的问题,涉及到多线程问题,自然会涉及互斥问题。在啥地方加锁,如何加锁才能提高效率。于是,本篇文章针对互斥问题,做一下深入的研究。
在java中,采用关键字synchronized进行同步互斥,而synchronized的同步是互斥锁,有同步方法和同步代码块,下面就synchronized做一下详细的总结。
1、同步方法 synchronized aMethod(){ }方法
(1) 在一个类中可能会包含一个或多个synchronized 的方法,其作用域范围有实例对象内的,也有类范围的。
对于实例对象范围的同步方法 ...
java内存泄露分析
- 博客分类:
- java cache
问题的提出
Java 的一个重要优点就是通过垃圾收集器(Garbage Collection,GC)自动管理内存的回收,程序员不需要通过调用函数来释放内存。因此,很多程序员认为Java不存在内存泄漏问题,或者认为即使 有内存泄漏也不是程序的责任,而是GC或JVM的问题。其实,这种想法是不正确的,因为Java也存在内存泄露,但它的表现与C++不同。
随着越来越多的服务器程序采用Java技术,例如JSP,Servlet, EJB等,服务器程序往往长期运行。另外,在很多嵌入式系统中,内存的总量非常有限。内存泄露问题也就变得十分关键,即使每次运行少量泄漏,长期运行之后,系统也是面临崩溃 ...
java实现cache的基本原则
- 博客分类:
- java cache
我这里说的cache不是指CPU和RAM之间的缓存,而是java应用中间常用的缓存。最常使用的场合就是访问数据库的时候为了提高效率而使用的 cache。一般的用法就是把数据从数据库读到内存,然后之后的数据访问都从内存来读,从而减 ...
- 2013-06-23 18:02
- 浏览 1522
- 评论(0)
java中对equals()和hashCode()方法是这样规定的:如果两个对象相同,它们的hashCode一定相同,但hashCode相同的两个对象,不一定相同。hashCode有点像引用地址的味道,属于底层的东西。
对于基本类型的包装类型,它们覆盖了equal()方法。比如Boolean、Character、Byte、Shot、Integer、Long、Float、Double等的引用变量,==是比较地址的,而equals是比较内容的。
概述
要深入了解cache的问题,首先要明确和了解java的引用。java虽然有垃圾回收机制,但java也有内存泄露的时候。什么引起java内存泄露呢?要理解这个问题,需要明确java的引用。java不像C++,在java中没有指针,只 ...
大数据高并发问题解决方法
- 博客分类:
- 数据库
大数据高并发的瓶颈一般都是数据库层面的,机械硬盘承载不起非常快速的读写操作,cpu承载不起大量的逻辑运算,所以最基本的解决思路就是:1.换固态硬盘加快硬盘的读写效率。2.建立缓存中间件降低对硬盘的读写次数,缓存不用多说了,最最最基本和重要的优化策略。3.将硬盘的读写或者数据的计算分摊到多台机器上,也就是集群。hadoop就是基于这个层面的。4.良好的查询算法,降低读的次数,分表,分库,索引等都是基于这层面的。理论上来讲,在带宽充裕的情况下,只要遵循上面的4个思路进行延伸就可以解决大部分的高并发问题。
监听器的主要作用就是监听,当目标发生变化的时候就会触发一定的方法,这也就是所谓的事件触发机制。在这种机制中要有三个要素,也就是事件,事件源,处理事件的方法。这三要素之间是相互制约的。一旦事件 ...
程序中的国际化问题也是一个非常重要的部分,好多的软件都支持国际化,不同的版本对应不同的语言。在进行国际化时,依照程序开发习惯,我们一般选择在页面层或者控制层做国际化处理,业务层和DAO层不要去国际化,在业务层或者DAo层只需设定国际化的key值即可,当然,key值尽量具有意义。
目前,spring提供了好多国际化的方式,例如AcceptHeaderLocaleResolver,session及cookie的国际化,这里仅介绍最实用,最普遍,笔者认为最实用最合理的国际化。
1、标签国际化
标签国际化我们可以用jstl的fmt方式进行国际化,也可以采用spring自己提供的标签<spr ...