1.什么是SVN?
- 当软件开发过程中,不可避免需要多人协作,那么可以使用SVN对于代码文件,配置文件,文档进行版本控制。
- 备份多个版本,占用磁盘空间大
- 解决代码冲突困难
- 追溯代码的修改人和修改时间
- 恢复至以前的正确版本
- 进行权限控制
- 解决项目版本发布困难的问题
2.spring代理知识点?
- spring在运行期间,生成动态代理对象,不需要特殊的编译器。
- spring AOP 的底层通过JDK动态代理,或者CGlib动态代理技术,为目标bean执行横向织入。(目标对象是否实现了若干接口,是:使用java.lang.reflect.Proxy类代理。否:使用CGLib库生成目标对象的子类。)
- 程序中应优先对接口创建代理, 便于程序解耦维护。
- final方法,不能被代理,不能进行覆盖。(JDK动态代理,针对接口生成子类,不能使用final的。CGLIB是针对目标类生成子类,因此类和子类不能使用final)
- spring只支持方法连接点,不提供属性连接。
3.mvc,sax,垃圾回收?
- M(model javabean实现) V(view jsp或者html) C(controller servlet)
- 提前创建一定数量的连接放在池中,需要连接时,从连接池中获取空闲连接即可。
- sax解析:事件驱动的,不会一次性加载整个xml,速度快,节省内存,适合大文件解析,编码稍微复杂一些。
- 垃圾回收:Java 的GC ,一般情况下,不需要程序员关心。当一个对象没有引用指向的时候,垃圾回收器会自动对其进行回收。常用的算法是:标记清除,分代收集。
4.javaweb项目建表:
5,ORACLE中CHAR、VARCHAR、NVARCHAR
- char 固定长度,最长n个字符。
- varchar 最大长度为n的可变字符串。 varchar必char节省空间,但在效率上比char稍微差一些。varchar比char效率稍差,是因为,当修改varchar数据时,可能因为数据长度不同,导致数据迁移。
- nvarchar nvarchar的特性,需要和varchar对比。
nvarchar和varchar的不同主要是在对于数据的存储方式上:
1). varchar:按字节存储数据
2). nvarchar:按字符存储数据。用nvarchar存储英文字符,会浪费一半以上的存储空间…
总结: 在大数据量应用中,使用char和nvarchar有可能导致大量的存储空间的浪费。