tomcat6 0(Tomcat 7)
今天工作期间在启动呼叫中心系统后,访问呼叫中心的web页面输入账号和密码,一直提示账号或密码输入错误,但比对了几遍账号和密码都没有发现问题,各种找原因,重启服务,一番周折,后来通过查看tomcat日志得到解决,原因是tomcat从数据库读取的是错误的密码,经过修改,才得以验证通过!可见linux日志文件的重要性!
在Linux系统中,日志文件有着不可或缺的作用,它是重要的系统信息文件,是系统和程序的日记本,记录系统、程序运行中发生的各种事件,通过查看日志,了解及排除故障,是信息安全控制的依据,由系统服务rsyslog统一记录和管理,日子消息采用文本格式,主要记录事件发生的时间、主机、进程、内容。而用户日志是由登录程序负责记录和管理的,日志消息采用二进制格式,记录用户的时间、来源、执行的命令等信息。
配置文件:/etc/rsyslog.conf
Linux内核定义的事件紧急程度分为0-7共有8种日志级别,其数值越小,表示对应事件越紧急重要:
EMERG(紧急):级别0,系统不可用的情况
ALERT(警报):级别1,必须马上采取措施的情况
CRIT(严重):级别2,严重情形
ERR(错误):级别3,出现错误
WARNING(警告):级别4,值得警告的情形
NOTICE(注意):级别5,普通但值得引起注意的事件
INFO(信息):级别6,一般信息
DEBUG(调试):级别7,程序/服务调试消息
默认为INFO级别!
通用的分析工具有tail、tailf、less、grep等文本浏览和检索命令,还有awk、sed等格式化过滤工具,还有专用的分析工具,比如webmin(系统管理套件),webalizer、AWStats等日志统计套件。
使用journalctl工具,提取由systemd-journal服务搜集的日志,包括内核、系统、和服务日志,用法:
1,journalctl | grep 关键词
2,journalctl -u 服务名 [-p 级别]
3,journalctl -n 消息条数
而最后还有,none,为不记录日志,另外也可自定义日志级别优先级!
美团Java社招,42道面试题分享,高难度,工作5年+:
1、自我介绍,项目介绍,遇到的难点?产生原因?如何解决?
2、HashMap1.8与1.7区别?ConcurrentHashMap实现原理 ?
3、jvm类加载器,自定义类加载器,双亲委派机制,优缺点,tomcat类加载机制?
4、tomcat热部署,怎么做到的热加载?
5、cms收集器过程,g1收集器原理,怎么实现可预测停顿的,region的大小结构?
6、内存溢出,内存泄漏遇到过吗?什么场景产生的,怎么解决的?
7、volatile的原理?synchronized和重入锁实现原理以及区别?
8、redis字符串实现,sds和c区别?
9、redis集群,为什么是16384个slot?选举过程,会有脑裂问题么,raft算法,优缺点?
10、redis有序集合怎么实现的,跳表是什么?往跳表添加一个元素的过程获取分数的时间复杂度,为什么不用红黑树,红黑树有什么特点,左旋右旋操作?
11、锁升级过程,轻量锁可以变成偏向锁么?偏向锁可以变成无锁么?对象头结构,锁状态变化过程?
12、Innodb的结构了解么?磁盘页和缓存区是怎么配合的?缓冲区和磁盘数据不一致怎么办,服务器突然宕机了数据会丢失么?
13、InnoDB 索引为什使用B+树而不是用B树?
14、MySQL 分表是怎么实现的?跨库join如何解决?数据量突增怎么解决?
15、数据库的隔离级别,怎么实现的?当前读,快照读?MVCC?
16、mysql优化的实践经验
17、分布式事务出现过不一致吗?为什么?怎么解决?有什么方法避免?怎么监控?监控到怎么处理?什么时候需要人工接入?
18、io模型了解么?多路复用?selete,poll,epoll,epoll的结构?怎么注册事件?
19、你们用的什么消息中间件,kafka,为什么用kafka?kafka是怎么保证高吞吐量的?
20、kafka重平衡,重启服务怎么保证kafka不发生重平衡,有什么方案?
21、netty的原理和使用?tcp的连接过程?一台服务器能支持多少连接,为什么 ?tcp各个参数怎么设置?
22、Sping的AOP实现原理,以及对象生成方式的种类,单例的还是原型的?
23、讲讲调度接口是怎么实现的
24、分布式唯一ID是怎么实现的
25、设计模式,以及自己使用的场景
26、有没有用过分布式锁,怎么实现的,讲讲原理
27、如何解决线上问题?cpu狂飙怎么办?频繁minor gc怎么办?可能造成的原因是什么?如何避免?
28、怎么理解分布式和微服务,为什么要拆分服务,会产生什么问题,怎么解决这些问题 ?
29、怎么理解高可用,如何保证高可用,有什么弊端,熔断机制,怎么实现 ?
30、对于高并发怎么看,怎么算高并发,你们项目有么,如果有会产生什么问题,怎么解决
31、有没有做过压测的项目?首页接口优化是怎么做的?
32、如何优雅的写代码?什么代码算做优雅?什么代码是规范?你们代码规范是什么样的?如何进行code review?
33、算法:给定一个长度为N的整形数组arr,其中有N个互不相等的自然数1-N,请实现arr的排序,但是不要把下标0∼N−1位置上的数通过直接赋值的方式替换成1∼N
34、算法:判断一个树是否是平衡二叉树
35、算法:给定一个二叉树,请计算节点值之和最大的路径的节点值之和是多少,这个路径的开始节点和结束节点可以是二叉树中的任意节点
36、算法:LRU 缓存
37、算法:实现带有getMin功能的栈,要求push,pop,getMin的时间复杂度都是O(1)
38、算法:两数之和
39、算法:实现二叉树先序,中序和后序遍历
40、你对于自己的规划是怎么样的?
41、什么时候能入职,你对岗位的期望是什么
42、你还在面其他公司么,目前是一个什么流程
#有话职说##职场##程序员##职场干货##职场微头条##职场达人说##职场众生相#
线程池是Java面试时候的高频面试题,那么这个线程池大小到底应该多少呢?
理论上,计算公式为:线程数= (IO时间+ CPU计算时间)/ CPU计算时间,这个时候就要区分处理的任务是CPU密集型还是IO密集型了。
如果是CPU密集型的,此时IO时间≈0,那么线程数就为CPU核数;
如果是IO密集型的,就要看IO时间了,所以不一定就是大家经常背的CPU核数*2,这种情况是 IO时间≈CPU时间。
实际我们开发的Web服务中 IO时间远大于CPU时间,所以为什么tomcat,dubbo为什么默认线程数这么大。。。当然这只是提供的一个参考值,真正最优的线程数一定是压测出来的!
#程序员# #我要上微头条# #面试#





