Java面试题 3/26
题目来源
https://blog.csdn.net/Aplumage/article/details/117945359
第五部分
1. .使用两种命令创建一一个文件?
1.touch 文件名1 文件名2
2.批量创建文件 touch 文件名_{0001…2000}.txt
3.vim命令
4. > 文件名 流 >> 文件名
2. .硬链接和软链接的区别?
1.软连接 类似windows的快捷方式,引用一个连接,原始文件删除后也会被破坏
2.硬链接 引用的是文件在文件系统的物理索引,原文件被移动或删除后也不会被破坏
3.Linux常用命令有哪些?
tar yum docker netstat -nap|grep port kill chmod top systemctl(centos8) service(centos7)
top命令分析
4. 怎么看一个Java线程的资源耗用?
- jstat 内存监控
- jmap 堆对象监控
5.Load过高的可能性有哪些?
参考分析-等等线程多
https://blog.csdn.net/lsgqjh/article/details/109166236
6. /etc/hosts文件什么做用?
本地dns解析
7. 如何快速的将一个文本中所有“abc" 替换为"xyz" ?
AWK是一种处理文本文件的语言,是一个强大的文本分析工具。
8. 如何在log文件中搜索找出error的日志?
tail -100 |grep error
9. 发现磁盘空间不够,如何快速找出占用空间最大的文件?
find / -type f -size +400M
让文件按大小排序
du -h * | sort -n
10. Java服务端问题排查(OOM, CPU高,Load高,类冲突)
1.jstat pid 虚拟机统计信息工具
2.jinfo pid 配置信息工具
3.jmap pid 内存映射工具
4.jhat pid 虚拟机堆转存快照分析工具
5.jstack 堆栈跟踪工具
11. Java常用问题排查工具及用法(top, iostat, vmstat, sar, tcpdump, jvisualvm,
jmap, jconsole)
12.Thread dump文件如何分析(Runnable, 锁,代码栈,操作系统线程ID关联)
13.如何查看Java应用的线程信息?
jstack pid
第六部分 框架使用
1 .描述一下Hibernate的三个状态?
2 . Spring中Bean的生命周期。![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/24b2d3854367228a7a17d2361f2013fd.png)
3 . SpringMVC或Struts处理请求的流程。
tomcat那一套 Struts不看
4 . Spring AOP解决了什么问题?怎么实现的?
OOP 面向对象
AOP 面向切面
解决系统级的代码需求 日志 性能监控等等
具体Bebug流程
getBean:1160, AbstractApplicationContext →
getBean:213, AbstractBeanFactory →
doGetBean:353, AbstractBeanFactory →
createBean:542, AbstractAutowireCapableBeanFactory →
doCreateBean:620, AbstractAutowireCapableBeanFactory →
initializeBean:1808, AbstractAutowireCapableBeanFactory →
applyBeanPostProcessorsAfterInitialization:455, AbstractAutowireCapableBeanFactory →
postProcessAfterInitialization:291, AbstractAutoProxyCreator →
wrapIfNecessary:342, AbstractAutoProxyCreator →
createProxy:478, AbstractAutoProxyCreator →
getProxy:110, ProxyFactory
具体分类代理方式:
参考文章 :https://blog.csdn.net/pzjtian/article/details/110354827
5 . Spring事务的传播属性是怎么回事?它会影响什么?
6 . Spring中BeanFactory和FactoryBean有什么区别?
BeanFactory 是接口,提供了 IOC 容器最基本的形式,给具体的 IOC 容器的实现提供了规范,
FactoryBean 也是接口,为 IOC 容器中 Bean 的实现提供了更加灵活的方式,FactoryBean在 IOC 容器的基础上给 Bean 的实现加上了一个简单工厂模式和装饰模式,我们可以在 getObject() 方法中灵活配置。
mybatis也是采用实现FactoryBean 来初始化的
7 . Spring框架中IOC的原理是什么?
扫描 注解 xml 等等 管理 赋值
8 . spring的依赖注入有哪几种方式
1.构造器注入
2.方法注入
3.属性注入
9 . struts工作流程
有缘一定
10 .用Spring如何实现一个切面?
最重要 Pointcut(切入点) Advice(通知@Before @AfterReturning @AfterThrowing @After@Around)
11 . Spring如何实现数据库事务?
Aop 动态代理
12 . Hibernate对一二 级缓存的使用,Lazy-Load的理解;
13. . mybatis如何实现批量提交?
选择sql结构体
循环构建sql语句-每批1000行
拼接数据执行
最终效果 INSERT INTO TABLENALE VALUES (),(),(),(),(),(),(),(),()