Java ElasticSearch-Linux面试题
- 前言
- 1、守护线程的作用?
- 2、链路追踪Skywalking用过吗?
- 3、你对G1收集器了解吗?
- 4、你们项目用的什么垃圾收集器?
- 5、内存溢出和内存泄露的区别?
- 6、什么是Spring Cloud Bus?
- 7、SpringCloud Config 可以实现实时刷新吗?
- 8、什么是Spring Cloud?
- 9、Springcloud核⼼组件及其⼯作原理?
- Linux
- 10、怎么查看当前进程?怎么执行退出?怎么查看当前路径?
- 11、怎么清屏?怎么退出当前命令?怎么执行睡眠?查看指定帮助用什么命令?
- 12、ls 命令执行什么功能?可以带哪些参数,有什么区别?
- 13、建立软链接(快捷方式),以及硬链接的命令?
- 14、目录创建用什么命令?创建文件用什么命令?复制文件用什么命令?
- 总结
前言
最新的 Java 面试题,技术栈涉及 Java 基础、集合、多线程、Mysql、分布式、Spring全家桶、MyBatis、Dubbo、缓存、消息队列、Linux…等等,会持续更新。
如果对老铁有帮助,帮忙免费点个赞,谢谢你的发财手!
1、守护线程的作用?
- 1.java提供了两种类型的线程:用户线程和守护线程。
用户线程是优先级高线程,守护线程是低优先级线程,其作用是为用户线程提供服务; - 2.如果用户线程已经全部退出运行,只剩下守护线程,那么JVM就会退出;
- 3.不能把正在运行的线程设置为守护线程。
守护线程的作用:为其他线程的运行提供便利服务,守护线程最典型的应用就是GC。
2、链路追踪Skywalking用过吗?
- 用过Skywalking,分布式链路追踪的基本原理就是在分布式应用的接口方法上设置一些观察点(类似快递中转站记录点),然后在入口节点给每个请求分配一个全局唯一的标识 TraceId(类似快递单号),当请求流经这些观察点时就会记录一行对应的链路日志(包含链路唯一标识,接口名称,时间戳,主机信息等),最后通过 TraceId 将一次请求的所有链路日志进行组装,就可以还原出该次请求的链路轨迹。
skywalking具有直观的Web界面,方便用户查看和分析监测信息。
3、你对G1收集器了解吗?
- 在JDK9后,默认的垃圾收集器为G1,CMS垃圾收集器仍然可以被使用,但是已经不推荐使用了;
- G1垃圾收集器将堆内存划分为多个大小相等的独立内存区域,这种单独的内存区域称为Region,可以通过 MaxGCPauseTime(默认200ms)控制最大回收时间,提高系统响应时间,系统吞吐量。
4、你们项目用的什么垃圾收集器?
用的jdk1.8版本,收集器是CMS+parNew,–Xms 2g ,-Xmx 2g ,-Xss 512k的设置, -Xmn 和-Xmx一版设置成一样大,避免内存动态扩展震荡,导致多发生一些不必要gc问题,用CMS,会有内存碎片化问题,可以通过参数设置开启内存碎片化整理,多少次fullgc后整理一次碎片。
5、内存溢出和内存泄露的区别?
- 内存溢出:指程序申请内存时,没有足够的内存供申请者使用,导致数据无法正常存储到内存中。比如查询整个表数据不分页直接放到List集合中,如果条数过多会导致内存溢出。
- 内存泄漏:是指程序在申请内存后,无法释放已申请的内存空间,导致系统无法及时回收,由于系统中的内存是有限的,长久以往会造成内存溢出。比如使用字节字符流后没有在 finally 中释放资源。
6、什么是Spring Cloud Bus?
用于传播集群状态变化的消息总线,使用轻量级消息代理链接分布式系统中的节点,可以用来动态刷新集群中的服务配置。
7、SpringCloud Config 可以实现实时刷新吗?
Springcloud config实时刷新采用SpringCloud Bus消息总线。
8、什么是Spring Cloud?
Spring cloud 是一系列框架的有序集合。它利用 Spring boot的开发便利性,简化了分布式系统基础设施的开发,比如服务中心、负载均衡、服务调用、断路器、网关服务等,都可以用 SpringBoot 的开发风格做到一键启动和部署。
9、Springcloud核⼼组件及其⼯作原理?
- 1、Eureka服务中心:服务治理组件,包括服务端的注册中心和客户端的服务发现机制(类似于zookeeper / nacos);
- 2、Ribbon负载均衡:具有多种负载均衡调用策略(类似于Nginx)
- 3、Feign服务调用:底层依赖于Java的动态代理机制,对原生Socket或者HttpClient进行封装,实现了基于Http协议的RPC调用(类似于Dubbo)
- 4、Hystrix熔断器:服务容错组件,实现了断路器模式。发起请求是通过Hystrix的线程池来⾛的,不同的服务⾛不同的线程池,实现了不同服务调⽤的隔离,避免了服务雪崩的问题(类似于Sentinel)
- 5、Zuul网关:对请求提供路由转发及过滤功能(类似于gateway)
Linux
10、怎么查看当前进程?怎么执行退出?怎么查看当前路径?
查看当前进程:ps ;执行退出:exit;查看当前路径:pwd
11、怎么清屏?怎么退出当前命令?怎么执行睡眠?查看指定帮助用什么命令?
清屏:clear;退出当前命令:ctrl+c 彻底退出;执行睡眠:ctrl+z 挂起当前进程;
查看指定帮助:adduser --help
12、ls 命令执行什么功能?可以带哪些参数,有什么区别?
ls 执行的功能:列出指定目录中的目录,以及文件;
a 所有文件; l 详细信息,包括大小字节数,可读可写可执行的权限等。
13、建立软链接(快捷方式),以及硬链接的命令?
软链接:ln -s slink source;
硬链接:ln link source;
14、目录创建用什么命令?创建文件用什么命令?复制文件用什么命令?
创建目录:mkdir;创建文件:touch;文件权限修改:chmod -R 775 directory 递归文件
移动文件:mv;删除目录及文件:rm -r rmdir
总结
都已经看到这里啦,赶紧收藏起来,祝您工作顺心,生活愉快!