程序加载顺序:
- Demo1_Memory类在方法区加载为.class文件(main方法存入静态区)
- 主方法main压栈执行
- main方法中自定义对象Student,在方法区加载为.class文件(被static关键字修饰的方法,属性存入静态区,其它存入非静态区)
- main方法中 自定义对象Student为局部变量进栈(main方法中的栈内存)
- new 出来的对象在堆内存中开辟新空间
- 将堆内存中的创建的对象的地址值赋值给main方法中的Student局部变量
- Student对象中show方法进栈执行,打印属性值和静态变量值
- show方法执行完毕,弹栈
- new 自定义对象Student,在堆内存中再次开辟新空间(由于Student对象已加载为.class文件,所以Studnet不需要重新加载为.class文件)
- 其余步骤6-9相同
- main方法执行完毕弹栈,执行完毕,jvm虚拟机退出
垃圾回收机制
问题:什么样的对象会被当做垃圾回收?
当一个对象的引用(地址)没有变量去记录的时候,该对象就会成为垃圾对象,并在垃圾回收器空闲的时候对
其进行清扫.
问题:如何校验对象是否被回收?
可以重写Object类中的finalize方法
这个方法在垃圾回收器执行的时候,被回收器自动调用执行的.
问题∶怎样通知垃圾回收器回收对象
o可以调用System类的静态方法gC();
通知垃圾回收器去清理垃圾
项目与公司部分?
简单介绍一下你们的项目吧?
你们的XX模块是怎么做的?
你们项目在开发过程中有遇到什么问题吗?上线之后呢?
你们数据库有多张表?
开发流程是什么?
SVN出现冲突了是怎么解决的?
你们项目中遇到过什么问题吗?怎么解决的?
大学中读的什么专业?都有哪些科目?
上家公司有多少人?人员怎么分配的?
项目数据量有多少?
你们有多少用户?
并发量有多少?日活量有多少?
日志怎么管理的?
框架部分?
简单介绍一下Spring吧?
谈谈你对AOP的理解?谈谈你对IOC的理解?
Spring注入值有几种方式?
SpringBean的作用域范围都有哪些?
SpringMVC常用注解及其作用都有哪些?
SpringMVC执行流程?
SpringMVC与Struts2的区别?
SpringMVC线程安全吗?为什么?
Hibernate与Mybatis区别?
Hibernate查询方式有几种?
Mybatis的常用标签都有哪些?
Mybatis的#{} ${}区别?
前端部分?
ajax怎么保持同步?
JQuery常用的方法都有哪些?
JQuery选择器都有哪些?
基础部分?
hashMap1.8与1.7的底层实现各是什么?
hashMap 与 hashtable区别?
ArrayList底层实现原理?
ArrayList和LinkedList区别?
StringBuffer 和 StringBuilder区别?
线程的实现方式都有哪些?
线程的状态怎么转换的?
线程之间怎么通信的?
设计模式都有哪些?项目中怎么应用的?
怎么保证线程安全?
接口和抽象类的区别?
重载重写的区别?
数据结构都有哪些?
类加载顺序?
垃圾回收机制?
Redis部分
常用的命令都有那些?
怎么持久化?
Redis你们常用的存储方式是什么?
Redis项目怎么使用的?
Redis要是挂了怎么办?
怎么保证redis与数据库中数据一致性?
假如说Redis数据过期了,突然有大量用户访问,怎么处理?
Linux部分
常用的命令都有那些?
数据库
AOP的应用–事务(面试知识点):
- 四大特性:ACID,A原子性,C一致性,I隔离性,D持久性
- 隔离级别:读未提交,读已提交,可重复度,串行化
- 事务要解决:脏读(读到了别的事务未提交的内容),不可重复度(重复读取的结果不一致),幻读(多次读取结果行数不一致)
问题
- 消息中间件activeMQ中丢了消息你们是怎么处理的?
- 分布式系统中A服务有两台服务器,那么我们在调用的时候如何知道是调用的那台服务器?(dubbo可以实现,那么不用dubbo能解决吗)
- 项目开发中有在线分支和开发分支,你们在上线的时候是怎么实现分支合并的?
- 库存减少是当生成订单减少的,那么假设A商品只有两件了,甲和乙同时点击了生成订单,那么谁能下单成功?谁不能成功?怎么实现的?
- 未登录时购物车信息,存在cookie中?还有哪些方式?
- redis的hash类型在项目中的使用场景。
- 问商城项目中都有哪些地方用到了Redis,是如何使用的,Redis怎样更新数据,什么情况下更新数据,常用的存储结构都有哪些?
- 简单介绍一下dubbo,dubbo的作用,以及dubbo的原理 。gc回收机制的原理。
- 过滤器和拦截器区别和项目中如何应用。
- scoket的通信的原理 与TCP或UDP的关系。
- Nginx实现Tomcat集群的负载均衡有几种方式,你们项目中使用的是那种方式。
- Redis如何实现秒杀业务?
- 是否了解工作流?
- 使用SVN时发生冲突,如何解决?
- redis的使用,不仅仅是做缓存。还有别的什么作用。
- Restful风格多个参数怎么传,能否做表单提交。
- dubbo的ip是怎么分配的?上线的时候不会冲突吗?
- Redis有哪些数据结构? set结构的应用场景。
- 项目中是如何解决Session共享的。
- sql怎么建立索引。
- spring框架的aop和ioc在项目中的应用场景。
- 数据库中存储引擎,存储过程,视图,触发器分别。
- 乐观锁和悲观锁的解释及其应用场景。
- redis的持久化方式及其优缺点对比。
- 如何解决数据高并发,流程是怎么样的,如何保证高效率处理高并发。
- 项目的最大访问量是怎样测试出来的,如何进行压力测试。
- 什么是rpc?如何搭建rpc框架?
- redis集群搭建了几台,如何搭建的?
- 为什么要用redis?有什么好处?
- 如何来维护集群之间的关系,或者说集群之间如何建立连接。
- 单点登录有没有权限校验,具体怎么做,每个系统都调用findOne()查询方法?那他们查询的是数据库中都是查询一张表吗?如果每个系统都需要调用findOne()那单点登录有何意义?就是单纯的用户体验性好?findOne需要查询用户表,如果数据库搭的集群,怎样保证数据的同步(中途对数据进行修改)。
- ActiveMQ:说说activeMQ调用流程结合模块说一下。
- 商家修改商品价格,然后购物车里的redis更新?就是清空redis,下次查询商品数据查询数据库,那这个购物车信息,你们在数据库中也有保存?如果商家仅仅修改了一条数据,你就把该用户的该条购物车信息全部清空?
- Redis挂掉后怎么办?介绍先redis是怎么实现高可用的?
- 如果项目已经上线了你,但是出现了问题。主要是怎么解决,或者你们怎样找出问题所在的(日志方向),这块你接触过吗?
- 购物车如何做的?
- 项目大概做了多久,项目团队人数,及其各岗位的人数 。
- Sql语句优化有哪些?数据库的优化怎样优化?
- 如何解决数据高并发?流程是怎么样的?如何保证高效率处理高并发?
- 商品上下架如何实现前后台消息同步?
- 分布式系统中A服务有两台服务器,那么我们在调用的时候如何知道是调用的那台服务器?(dubbo可以实现,那么不用dubbo能解决吗?)
- 库存减少是当生成订单减少的,那么假设A商品只有两件了,甲和乙同时点击了生成订单,那么谁能下单成功?谁不能成功?怎么实现的?
- 未登录时购物车信息,存在cookie中?还有哪些方式?
- Nginx实现Tomcat集群的负载均衡有几种方式,你们项目中使用的是那种方式?