首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >面试java后端面经_3

面试java后端面经_3

作者头像
用户6055494
发布2019-08-20 15:21:51
4060
发布2019-08-20 15:21:51
举报
文章被收录于专栏:AVAJAVAJAVAJ

小姐姐说:你一点都不懂表达,一点都不懂爱情,一点也不爱我!

你答:你知道吗,我听说过一个这样的故事,讲的就是有一个小女孩和一个男孩在一起,小男孩呢很不幸是位聋哑人,虽然如此,但是他们的日子过得特别的美满。有一天小女孩因为切菜不小心把手给弄破了(ps:这种层度不用打破伤风哈?),小男孩翻遍家里没有创口贴,于是冲出家门来到街边的小店买创口贴,由于小男孩不会说话,一直尽力描述,无奈店主不知其意,这是小男孩看见店主桌上的剪刀,直接拿起往手上戳,鲜红的血冒出(ps:这种层度也不用打破伤风哈?),小男孩高兴的拿着创口贴往家里飞奔...

爱情有时候,并不需要花言巧语,我不善言辞,但一直爱你!!

看完那我们开始咯?

1 自我介绍哈(这块没有一点准备的可以看面试java后端面经_1)

2 类加载的三种方式(1:命令行启动应用时由JVM初始化加载 2:通过Class.forName() 方式动态加载 3:通过ClassLoder.loadClass() 方法动态加载)

3 如何判断对象已死(1:引用计数法(java中没用,因为,没办法解决循环引用:A引用B,B也引用A,但是没有其他引用去引用A和B,这时AB都是垃圾,但是引用计数法无法判断)。2:可达性分析算法:通过GC Roots为起始点向下搜索,说白了就是通过你已知的活对象,去找这对象里的引用,再找引用对象里的引用,一直这样下去,找的到的就是活的。那么哪些对象可以作为GC Roots呢:1虚拟机栈中引用的对象。2方法区静态属性引用的对象。3方法区中常量引用的对象。4本地方法栈中JNI(一般说的是Native方法)引用的对象)

4 常见的垃圾回收算法(1标记清除:通过可达性分析算法标记好活对象,然后清除掉没标记得对象,有个缺点:空间很零碎所以有了标记整理算法。2复制算法:同样是可达性分析后,活对象呢就直接复制到一片新内存中,之前的内存中所有对象直接清除,优点是没有零碎空间产生,但是消耗了很大内存。3标记整理算法:先标记清除再整理。4分代算法:这里分代是将堆里的对象进行分代,比如蚂蚁爷爷属于老年代,刚出生的蚂蚁孩子属于新生代等,分完代后呢 其实没有自己的算法,用的都是前面说的算法,但是分代特点是:不同的代,用合适自己的算法 比如:新生代很多对象都是很快消亡所以用复制算法,老年代里的对象都是存活率高的用:标记清除或标记整理)

5 JVM常见的命令工具包括jps用于查询正在运行的JVM进程。 jstat可以实现显示本地或远程JVM进程中类加载、内存、垃圾回收、JIT编译等数据。jinfo用于查询当前运行着的JVM属性和参数的值。jmap用于显示当前堆永久代的详细信息。 jhat 用于分析使用jmap生成的dump文件,是JDK自带的。jstack用于生成当前线程的所有快照,用于定位线程长时间出现停顿的原因)

6 重写equals方法要遵循哪些通用的约定自反性:x.equals(x)要成立。对称性:x.equals(y) 和y.equals(x)要成立。传递性:x、y、z x.equals(y) 和y.equals(z)成立 那x.equals(z)要成立。一致性:说白点就是只要进行equals的对象不变,那么结果就一直不能变。非空性:对于任意非空引用x,x.equals(null)应该返回false)

7 关键字transient(简单地说,就是让某些被修饰的成员属性变量不被序列化。transient不能修饰类和方法,被transient关键字修饰的变量不能被序列化,一个静态变量不管是否被transient修饰均不能被序列化。)

8 redis的持久化方式中 RDB方式优缺点(RDB:是指用数据集快照的方式记录redis数据库的所有键值对 优点:1.只有一个文件 dump.rdb 方便持久化。2.容灾性好,一个文件可以保存到安全磁盘。3.性能最化,fork子进程来完成写操作,让主进程继续处理命令。4.相对于数据集大时,比AOF启动效率高。缺点:数据安全性较低)

9 redis的持久化方式中AOF方式优缺点(AOF:是指所有的命令行记录以redis,命令请求协议的格式保存为aof文件 优点:数据安全,通过append模式写文件,即使中途服务器宕机可以通过redis-check-aof工具解决数据一致性问题。3AOF机制的rewrite模式。缺点:1文件比RDB形式文件大。2数据集大比RDB启动效率低)

10 讲解一下HTTP请求里的Header有什么作用(accept:浏览器端可以接受的媒体类型。Accept-Encoding:浏览器申明自己接收的编码方法。Accept-Language:浏览器申明自己接收的语言。Connection:连接状态,close 的话就要新开连接。Host:请求报头域主要用于指定被请求资源的Internet主机和端口号。User-Agent:告诉HTTP服务器, 客户端使用的操作系统和浏览器的名称和版本。)

11 linux中grep的使用(用于过滤/搜索的特定字符、如:grep "qqq\|aaa" abc.txt 是把qqq和aaa从abc.txt中筛选出来,grep "q" abc.txt 把小q筛选出来 ,如grep -i "q" abc.txt这样就不区分大小写了 ,还有很多参数以及正则表达式,不太明白的童鞋百度哦)

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-07-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序员面试鸭 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 Redis
腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档