- 浏览: 198379 次
- 性别:
- 来自: 上海
最新评论
文章列表
JavaScript基本概念(二)
- 博客分类:
- JavaScript
Passing Objects
Here's an example of how you can assign an object to another variable and then make a change to the copy. As a result, the original object is also changed:
>>> var original = {howmany: 1};
>>> var copy = original;
>>> copy.howmany
1
>>> copy.ho ...
JavaScript基本概念
- 博客分类:
- JavaScript
JavaScript 变量名称的规则:
----变量对大小写敏感(y 和 Y 是两个不同的变量)
----变量必须以字母或下划线开始
插入特殊字符
反斜杠用来在文本字符串中插入省略号、换行符、引号和其他特殊字符。
请看下面的 JavaScript 代码:
var txt="We are the so-called "Vikings" from the north."
document.write(txt)
空格
JavaScript 会忽略多余的空格。所以您可以在代码中添加适当的空格,使得代码的可读性更强。下面的两行是等效的:
name=" ...
使用JAVA中的动态代理实现数据库连接池
http://www.oschina.net/question/12_4528
代理模式的一种常见的实现方案是,定义一个接口或抽象类,并派生出目标子类,和代理子类。我们要操作的是目标子类里的方法,而很多时候,我们需要为目录子类中的方法增加额外的处理,
如果[b]增加日志功能、条件判断[/b]等,这时候,就很有必要用到代理类。
/**
* 代理子类和目标子类的公共接口
* @author rongxinhua
*
*/
public interface MyInterface {
public void doOperation();
}
/**
* 目标子类
* @author rongxinhua
*
*/
...
AOP在Spring的实现
- 博客分类:
- Spring
AOP一般用来做权限判断:
思考问题方法叫做:横切性关注点
1.拦截所有方法
2.判断用户是否有权限,有权限就允许执行业务方法,否者不执行。
假如不使用AOP框架,可以利用“代理模式”来解决
user-------代理对象---------目标对象
代理对象的创建:
1.静态代理(企业应用,很少用)
2.动态代理
前提是目标对象是面向接口
首先写一个接口:
public interface PersonService {
public void save(String name);
public void update(String name, Integer perso ...
先说一下@Repository、@Service 和 @Controller。
在目前的 Spring 版本中,这 3 个注释和 @Component 是等效的,但是从注释类的命名上,很容易看出这 3 个注释分别和持久层、业务层和控制层(Web 层)相对应。虽然目前这 3 个注释和 @Component 相比没有什么新意,但 Spring 将在以后的版本中为它们添加特殊的功能。所以,如果 Web 应用程序采用了经典的三层分层结构的话,最好在持久层、业务层和控制层分别采用 @Repository、@Service 和 @Controller 对分层中的类进行注释,而用 @Component 对那些 ...
依赖注入的三种方法(转)
- 博客分类:
- Spring
1.使用构造器
private PersonDao personDao;
private String name;
public PersonServiceImpl(PersonDao personDao,String name){
this.personDao = personDao;
this.name = name;
}
<constructor-arg index="0" type="com.hx.springdemo01.dao.PersonDao" ref="personDao" ...
[b]GOF《设计模式》一书对Adapter模式是这样描述的:
将一个类的接口转换成客户希望的另外一个接口。Adapter模式使原本由于接口不兼容而不能一起工作的类可以一起工作。
这段话大致是说:我们需要一种方式,为一个功能正确但接口不合的对象创建一个新接口。例如,客户给我们如下需求:
1) 为都有“显示”(display)行为的点、线、正方形分别创建类。
2) 客户对象不必知道自己到底拥有点、线、还是正方形。它只需知道拥有这些形状中的一个。
也就是说,我们要用一个更高层次的概念将这些具体形状都涵盖进去,这个高层概念可以称为:“可显示的形状”。因此,我们需要创建一个接口Sh ...
从这个图中可以看到,JVM是运行在操作系统之上的,它与硬件没有直接的交互。我们再来看下JVM有哪些组成部分,如下图所示:
整个JVM分为四部分:
Class Loader 类加载器
类加载器的作用是加载类文件到内存,比如编写一个Hel ...
详解java中的抽象类和接口的区别
在Java语言中, abstract class 和interface 是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的 面向对象能力。abstract class和interface之间在对于抽象类定义的支持方面 ...
Map中我们通过对象来对对象进行索引,用来索引的对象叫做key,其对应的对象叫做value
HashMap通过hashcode对其内容进行快速查找,而TreeMap中所有的元素都保持着某种固定的顺序,如果你需要得到一个有序的结果你就应该使用TreeMap(HashMap中元素的排列顺序是不固定的)。
1.AbstractMap抽象类和SortedMap接口
AbstractMap抽象类:覆盖了equals()和hashCode()方法以确保两个相等映射返回相同的哈希码。如果两个映射大小相等、包含同样的键且每个键在这两个映射中对应的值都相同,则这两个映射相等。映射的哈希码是映射元素哈希码的总 ...
设table1(A,B,C)
A B C
a1 b1 c1
a2 b2 c2
a3 b3 c3
1)排它锁
新建两个连接
在第一个连接中执行以下语句
begin tran
update table1
set A= 'aa '
wher ...
多线程死锁问题(转)
- 博客分类:
- JAVA
前天俺们谈到了加锁,但是在使用加锁的同时又会带来一个问题,就是死锁。
什么叫死锁?
所谓死锁: 是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。
那么为什么会产生死锁呢?
1.因为系统资源不足。
2.进程运行推进的顺序不合适。
3.资源分配不当。
学过操作系统的朋友都知道:产生死锁的条件有四个:
1.互斥条件:所谓互斥就是进程在某一时间内独占资源。
2.请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。
3.不剥夺条件:进程已获得资源,在末使用完之前,不能强行剥夺。
4.循环 ...
String、StringBuffer与StringBuilder之间区别
最近学习到StringBuffer,心中有好些疑问,搜索了一些关于String,StringBuffer,StringBuilder的东西,现在整理一下。
关于这三个类在字符串处理中的位置不言而喻,那么他们到底有什么优缺点,到底什么时候该用谁呢?下面我们从以下几点说明一下
1.三者在执行速度方面的比较:StringBuilder > StringBuffer > String
2.String <(StringBuffer,StringBuilder)的原因
String:字 ...
JAVA调优总结(一)转
- 博客分类:
- JAVA
数据类型
Java虚拟机中,数据类型可以分为两类:基本类型和引用类型。
基本类型的变量保存原始值,即:他代表的值就是数值本身;
而引用类型的变量保存引用值。“引用值”代表了某个对象的引用,而不是对象本身, ...