- 浏览: 22710 次
- 性别:
- 来自: 苏州
文章列表
最近在搭开发环境,svn的仓库和nginx在一台服务器上,想自动同步svn上的代码到nginx配置的文件目录去,这里通过钩子可以实现。
首先,在nginx配置的目录下checkout代码,例如我的目录是/home/admin/static
svn co svn地址 /data/admin/static/
迁出代码后,就需要建立钩子脚本了,找到版本库放的位置下的hook目录,新建一个post-commit脚本,添加如下内容:
#!/bin/sh
export LANG=zh_CN.UTF-8
svn update /home/admin/static --username name --pa ...
==和equals(转)
- 博客分类:
- Java基础
A.==可用于基本类型和引用类型:当用于基本类型时候,是比较值是否相同;当用于引用类型的时候,是比较对象是否相同。
B.对于String a = “a”; Integer b = 1;这种类型的特有对象创建方式,==的时候值是相同的。
C.基本类型没有equals方法,equals只比较值(对象中的内容)是否相同(相同返回true)。
D.一个类如果没有定义equals方法,它将默认继承Object中的equals方法,返回值与==方法相同。
详述:
①==和equals的实质。
在JAVA中利用" ...
Volatile修饰的成员变量在每次被线程访问时,都强迫从共享内存中重读该成员变量的值。而且,当成员变量发生变化时,强迫线程将变化值回写到共享内存。这样在任何时刻,两个不同的线程总是看到某个成员变量的同一个值。
Java语言规范中指出:为了获得最佳速度,允许线程保存共享成员变量的私有拷贝,而且只当线程进入或者离开同步代码块时才与共享成员变量的原始值对比。
这样当多个线程同时与某个对象交互时,就必须要注意到要让线程及时的得到共享成员变量的变化。
而volatile关键字就是提示VM:对于这个成员变量不能保存它的私有拷贝,而应直接与共享成员变量交互
在继承与组合的选择上,当用继承时,应保证基类或接口尽量的稳定,要不然接口一变化则所有的子类都被迫需要进行一定的改变。而用组合则可以避免这一问题,将变化封装起来变成脱离类继承体系的外部行为,某个子类需要 ...
内部循环中断外部循环
1.outter: // 外部循环
2.for(int i = 1; i < 10; i ++) {
3. inner: //内部循环
4. for(int j = 1; j < 10; j ++) {
5. if(i == 8) {
6. break outter;
7. }
8. System.out.println(i + " * " + j + " = " + (i * j)); ...
方法1 URL url = this.getClass().getResource(imageName);
定位类路径下的资源
方法2 URLClassLoader loader = (URLClassLoader)this.getClass().getClassLoader();
URL url = loader.getResource(imageName);
定位包的根目录下的资源
方法1实际通过该Class的Class Loader的getResource()方法来获得资源, 在调用ClassLoader的getRes ...
类的加载并不导致类的初始化,class.forName(),其实是有参数来设定是否对类进行初始化的,当对应参数设为true时,是对包含加载和初始化两个部分的。
当一个Java类第一次被真正使用到的时候,JVM会进行该类的初始化操 ...
需要再一次强调的是,无论历史上的UCS还是现如今的Unicode,两者指的都是编码字符集,而不是字符集编码。花费一点时间来理解好这件事,然后你会发现对所有网页的,系统的,编码标准之间的来回转换等等繁杂事务都会思路清 ...
数据库范式(转,自己复习用)
- 博客分类:
- 数据库
当1NF消除了非主属性对码的部分函数依赖,则成为 2NF。
当2NF消除了非主属性对码的传递函数依赖,则成为3NF。
即当3NF消除了主属性对码的部分和传递函数依赖,则成为 BCNF。
数据库范式1NF 2NF 3NF BCNF(实例)
设计范式(范式,数据库设计范式,数据库的设计范式)是符合某一种级别的关系模式的集合。构造数据库必须遵循一定的规则。在关系数据库中,这种规则就是范式。关系数据库中的关系必须满足一定的要求,即满足不同的范式。目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、第四范式(4NF)、第五范式(5NF)和第六范式(6NF)。满 ...
软引用 弱引用 虚引用
- 博客分类:
- Java基础
1、软引用(SoftReference)
如果一个对象只具有软引用,那就类似于可有可物的生活用品。如果内存空间足够,垃圾回收器就不会回收它,如果内存空间不足了,就会回收这些对象的内存。只 要垃圾回收器没有回收它,该对象 ...
Enum的作用
1.增加程序的可读性和可维护性,比如一些参数只能取那么几个值,而从参数类型上又看不出来有哪些值可以取。
2.可以保证单例,且比较时候可以用”==”来替换equals(同时可以利用枚举来实现单例)。
3.可以用switch,这个特点是用enum的一大原因
4.复杂的应用里,有很多字典表,这些字典表必须体现出其词性才有意义
5.类型安全, 不会出现非法参数
6.Enum 本身就是个普通的 class, 可以有很多自定义方法用来实现不同的功能
Enum的特性
1.它不能有public的构造函数,这样做可以保证客户代码没有办法新建一个enum的实例。
2.所有枚举值都 ...
spring和struct整合
- 博客分类:
- struct2
在web.xml中完成加载WebApplicationContext之后,接下来就可以做到Spring和Struts2的整合了。整合有两种方法,分别叙述如下:
1. 第一种实现方法:
1) 将Struts的业务逻辑控制器类配置在Spring的配置文件中,业务逻辑控制器中引用的业务类一并注入。注意,必须将业务逻辑控制器类配置为scope=”prototype”!
示例如下:
<bean id=”LoginAction” class=”yaso.struts.action.LoginAction”>
...
Hibernate面试题
- 博客分类:
- Hibernate
hibernate工作原理及为什么要用?
原理: hibernate,通过对jdbc进行封装,对 java类和 关系数据库进行mapping,实现了对关系数据库的面向对象方式的操作,改变了传统的jdbc + sql操作数据的方式,从而使开发人员可以话更多精力进行对象方面的开发
1.读取并解析配置文件
2.读取并解析映射信息,创建SessionFactory
3.打开Sesssion
4.创建事务Transation
5.持久化操作
6.提交事务
7.关闭Session
8.关闭SesstionFactory
为 ...
观察者模式:定义了对象之间的一对多依赖关系,当一个对象的状态改变时,它的所有依赖者(观察者对象)都会收到通知并自动更新。观察者模式实现了主题对象与观察者对象之间的松耦合,当有新的观察者时,无需修改主题对象的代码,只需要新的观察者对象实现接口,并向主题对象提交注册。在程序运行的过程中,可以随时注册和删除观察者而不影响主题对象。
实则上在主题对象状态发生变化时,相当于调用回调方法的形式来调用观察者对应的方法。
Java.util中观察者模式的实现:java.util.Observable类和java.util.Observer接口。(可以自己重新将两个都实现成接口)
public voi ...
1、由于private变量受访问权限的限制,它不能被覆盖。
2、属性的值取父类还是子类并不取决于我们创建对象的类型,而是取决于我们定义的变量的类型。
3、friendly、protected和public修饰符并不影响属性的覆盖。
4、静态变量和静态常量属于类,不属于对象,因此它们不能被覆盖。
5、常量可以被覆盖。
6、对于基本类型和对象,它们适用同样的覆盖规律。