java虚拟机中的堆和栈的区别:
堆:用来存储java中的对象。
栈内存:用来存储局部变量和方法调用
栈内存归属于单个线程,每个线程都会有一个栈内存,其存储的变量只能在其所属线程中可见,即栈内存可以理解成线程的私有内存。
而堆内存中的对象对所有线程可见。堆内存中的对象可以被所有线程访问。因为对象的地址保存在栈中;
如果栈内存没有可用的空间存储方法调用和局部变量,JVM会抛出java.lang.StackOverFlowError。
而如果是堆内存没有可用的空间存储生成的对象,JVM会抛出java.lang.OutOfMemoryError。
http://www.cnblogs.com/wwicked/articles/4707696.html
http://blog.youkuaiyun.com/huozhicheng/article/details/6575960
hibernate的懒加载过程:
http://blog.youkuaiyun.com/liu_hjiang/article/details/7278554
从两张表考虑:比如部门ENTITY和员工ENTITY,部门与员工1对多,如果lazy设置为false,那么只要加载了一个部门的po,就会根据一对多配置的关系把所有员工的po也加载出来。但是实际上有时候只是需要用到部门的信息,不需要用到员工的信息,这时员工po的加载就等于浪费资源。如果lazy设置为true,那么只有当你访问部门po的员工信息时候才回去加载员工的po的信息。
hibernate的一级缓存和二级缓存问题:
缓存:其实就是一块内存空间,将数据源(数据库或者文件)中的数据存放到缓存中.再次获取的时候 ,直接从缓存中获取.可以提升程序的性能!
* 一级缓存 -- 自带的不可卸载的.一级缓存的生命周期与session一致.一级缓存称为session级别的缓存.
* 二级缓存 -- 默认没有开启,需要手动配置才可以使用的.二级缓存可以在多个session中共享数据,二级缓存称为是sessionFactory级别的缓存.
为什么要有数据库连接池:
资源重用
更快的系统响应速度
锁机制:
悲观锁和乐观锁:乐观锁多了版本号,提交事务的时候判断版本号是不是与原来的相同
session和sessionFactory的区别:
sessionfactory,就是用来创建session会话(具体接下来讲)的工厂
一般把HttpSession对象称为用户会话。。
而hibernate中的Session呢?是用来表示,应用程序和数据库的一次交互(会话)
设计模式:
spring的框架架构:
ajax:
struct2的配置:
<package
<action
<result
hibernate 的配置:
<hibernate-mapping
<class
<id
<property
<set
<one-to-many
springMvc的分配过程:
dispatcherservlet,映射处理handlerMapping,交给处理器handler,返回model和view函数给dispatcherservlet
get和post的请求:
1. 最直观的就是语义上的区别,get用于获取数据,post用于提交数据。
2. get参数有长度限制(受限于url长度,具体的数值取决于浏览器和服务器的限制),而post无限制
过滤器和拦截器的区别:
quarts配置过程:
定义一个任务;具体的类和方法
定义一个调度器;JobDetail
触发器指定对应的时间;cronTrigger
总的调度器scheduler; 把 JobDetail和cronTrigger注册进来
linux的一些常用命令
文章标题
最新推荐文章于 2024-04-22 16:59:44 发布