java面试题:Linux
Q:Linux怎么查端口?端口被占用怎么办?
netstat -ntulp | grep 2181//查看2181端口号
netstat -pan | grep 2181 //查看2181端口号
如下所示,其中的PID是进程号。
[root@localhost bin]# netstat -pan | grep 2181
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp6 0 0 :::2181 :::* LISTEN 7839/java
也可以使用以下命令:
lsof -i:2181 //查看2181端口占用
[root@localhost bin]# lsof -i:2181
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 7839 root 26u IPv6 85064 0t0 TCP *:eforward (LISTEN)
通过以上命令得到了端口对应的进程7839后,可以使用ps查看进程的使用情况。
ps -aux | grep 7839 //查看7839进程的使用情况
[root@localhost bin]# ps -aux | grep 7839
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 7839 0.1 2.7 3296832 51860 ? Sl 03:39 0:45 /usr/local/zookeeper-3.4.13/bin/../conf/zoo.cfg
就可以知道2181端口是被哪个程序占用了,然后判断是否使用KILL命令干掉。
Q:Linux怎么查看Tomcat端口号?
步骤跟上面的相反,先得到进程号PID,再根据PID去查看端口号
ps -ef|grep tomcat
假设查到的进程号为5772,那么如下根据进程号查端口号:
netstat -anop |grep 5772
Q:Linux怎么查看日志?
cat filename | tail -n +3000 | head -n 1000 从第3000行开始,显示1000行。即显示3000~3999行
cat filename| head -n 3000 | tail -n +1000 显示1000行到3000行
cat -n filename |grep "关键字"
cat filename | grep -C 5 '关键字' (显示日志里匹配字串那行以及前后5行)
cat filename | grep -B 5 '关键字' (显示匹配字串及前5行)
cat filename | grep -A 5 '关键字' (显示匹配字串及后5行)
也可以用vim打开后,使用/关键字匹配。
**Q:Linux如何找到 java 程序 CPU 使用率100%的原因? **
1.用top 命令查看占用资源最多PID(进程):
如 pid 为 1000;
2.再用 top -H -p 1000 命令查看在这个进程中,消耗 cpu 最多 的线程,如 1003;
3. 最后使用 jstack 1000 > dump_file 把这个进程的堆栈信息 dump 到文件中,
4.打开 dump_file,找到 id 为1003的线程(要转化为16进制),就能发现是哪个方法占用了 cpu,分析自己的代码
Q:Linux怎么查看IO负载?
iostat -x
Q:有没有用过jstack?怎么排查线上问题?说出排查线上问题的一个完整过程以及相关的Linux命令。
详情见: https://mp.weixin.qq.com/s?__biz=MzU0OTk3ODQ3Ng==&mid=2247484656&idx=1&sn=f728dc671155fd690a8d38d80c96b11f&chksm=fba6ecf3ccd165e530a95d0e693194a3710bfd352d8b1cb0d18f3c4e57e70698d76fbd5b742b&mpshare=1&scene=1&srcid=#rd
待补充。
参考资料: https://blog.csdn.net/hanner_cheung/article/details/6081440
java面试题:Linux的更多相关文章
- java面试题及答案(转载)
JAVA相关基础知识1.面向对象的特征有哪些方面 1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题,而只是选择其中的一部分,暂时 ...
- Java笔试题解答和部分面试题
面试类 银行类的问题 问题一:在多线程环境中使用HashMap会有什么问题?在什么情况下使用get()方法会产生无限循环? HashMap本身没有什么问题,有没有问题取决于你是如何使用它的.比如,你 ...
- java面试题及答案(基础题122道,代码题19道)
JAVA相关基础知识 1.面向对象的特征有哪些方面 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题,而只是选择其中的一部分, ...
- java面试题系列12
1.面向对象的特征有哪些方面 a.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节.抽象 ...
- Java面试题及答案(基础122道,编码19道)
JAVA相关基础知识1.面向对象的特征有哪些方面 1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题,而只是选择其中的一部分,暂时 ...
- java面试题及答案
JAVA相关基础知识1.面向对象的特征有哪些方面 1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题,而只是选择其中的一部分,暂时 ...
- 一些常见的Java面试题 & 面试感悟
< 前言 > 近期在面试,深感这个行业的浮躁,一些菜不辣基的弱鸡开出的工资待遇要求,超过了我.不知道他们是怎么拿到那么高的工资的,难道是他在公司有亲戚朋友吗?有后台吗?是行业热钱真的过多了 ...
- 【面试必备】常见Java面试题大综合
一.Java基础 1.Arrays.sort实现原理和Collections.sort实现原理答:Collections.sort方法底层会调用Arrays.sort方法,底层实现都是TimeSort ...
- 史上最全阿里 Java 面试题总结
以下为大家整理了阿里巴巴史上最全的 Java 面试题,涉及大量 Java 面试知识点和相关试题. JAVA基础 JAVA中的几种基本数据类型是什么,各自占用多少字节. String类能被继承吗,为什么 ...
- JAVA面试题(8)
java基础以及多个“比较” 1.Collections.sort排序内部原理 在Java 6中Arrays.sort()和Collections.sort()使用的是MergeSort,而在Java ...
随机推荐
- 如何删除GitHub中已经建好的仓库(repository)
我们有时候可能需要清理 GitHub 中一些不维护的或不需要的项目,此时就要用到delete操作了,很多新手可能不知道如何删除已有仓库,下面将简单介绍下,需要注意的是删除操作不能恢复,一旦执行此操作, ...
- Mybatis十( mybatis其他使用)
1.批量执行 public void addUser(User user); <insert id="addUser" parameterType="model.U ...
- MVC登录校验
利用MVC自带的过滤器可现实简单的登录校验 在项目目录下创建一个BaseController控制器,让需要验证的控制器继承这个BaseController 需要让BaseController继承Con ...
- Office2019都有哪些强大功能
前阵子是微软一年一度的Ignite大会.而其中最引人注目.也是与我们一般人最息息相关的消息,当然是Office 2019的正式发布. 尽管Office 2019所更新的功能,对于Office 365的 ...
- zipfile模块
在python中操作zip文件, 基本上都是使用zipfile模块,他可以创建.解压文件,获取zip文件的元数据信息. 我们想要操作一个zip文件,第一步就是初始化ZipFile实例. 1.打开tes ...
- eclipse工作区(workspace)常用设置(preferences)
切换工作区 新建一个作为工作区的文件夹 File -> Switch Workspace -> Other... -> browse,定位到新的指定工作区文件夹即可. 切换到新的工作 ...
- git-搭建企业git服务器
1.安装 yum install git 2.增加用户 useradd git -d /home/git -g git 3.查看公钥鉴权文件是否存在 cat /home/git/.ssh/autho ...
- Flex_概念
1.Flex是事件驱动的面向对象应用程序框架和编程语言.Flex应用程序加载完毕后,需要做的就是捕获事件,然后作出响应. Flex是一个庞大的技术组群中的一员. 2.RIA(Rich Inte ...
- C++复习:多态
多态 问题引出(赋值兼容性原则遇上函数重写) 面向对象新需求 C++提供的多态解决方案 多态案例 多态工程意义 面向对象三大概念.三种境界(封装.继承. ...
- String特殊值的判断方式
对String的特殊值的判断上,除了要关注是否为null,还要关注是否是空字符串. 经常处理的时候直接判断是否为Null就好了,这样很容易出现问题: if(null!=str) { //not goo ...