j***y 发帖数: 1640 | 1 我一JAVA新手, 10 次有5 次被问有没有 debug, trouble-shooting 的经验,用的什么
工具。 说实话我除了看 log file, Exception 外就是 google 了。最多有时候在 IDE
里面设个 break point.
大牛都是怎么弄的呢? |
r******y 发帖数: 21 | |
s******7 发帖数: 1758 | 3 老手也是看log, google, debug. production一般哪有那些个profile工具, 只能看
log。 |
w**z 发帖数: 8232 | 4 jconsole
take heap dump
take thread dump
IDE
【在 j***y 的大作中提到】 : 我一JAVA新手, 10 次有5 次被问有没有 debug, trouble-shooting 的经验,用的什么 : 工具。 说实话我除了看 log file, Exception 外就是 google 了。最多有时候在 IDE : 里面设个 break point. : 大牛都是怎么弄的呢?
|
j***y 发帖数: 1640 | 5 这个好像靠谱啊,我就平时就用 Spring framework, Eclipse。 从来就没有用到过这
么高大上的东东。
【在 w**z 的大作中提到】 : jconsole : take heap dump : take thread dump : : IDE
|
a*****u 发帖数: 1712 | 6 debug在我看来就是找到问题在哪,repro问题,后面什么断点还是print都随便 |
z****e 发帖数: 54598 | 7 jmx用来监控app的情况
用jconsole可以直接接上
jconsole就在jdk的文件夹里面
每一个jdk都有jconsole
如果是开发中debug,用ide可以做很多事
认真区分f789的区别
thread dump如果用了thread管理工具,vert.x, tomcat之类的
应该不太可能用得上
然后log很重要,unit test要做好
最后就是system之间的问题了
这个经验就是不要用各种mq,全部用json,会容易很多
你要想办法能够监听每一个msg,vert.x的shell service非常好用
现在系统越来越大,这些问题越来越多滴给到各个后台的猴子手中
光从无到有做几个网站,没啥意义 |
z****e 发帖数: 54598 | 8 一般问题都不在单机上,问题多数出在系统和系统之间
尤其是涉及到网络的时候,这就需要你对每一个msg做监控
比如某一个node往另外一个node发msg,这个msg是否被记录在log中?
这个时候如果是serializable object的话,就很难看出来了,用json容易很多
jmx和jconsole,就盯着资源使用情况
自己可以用jmx做扩展,比如gc一次,你就在log里面塞入一条记录酱紫
然后jvm本身有很多工具,比如jstat可以用
然后ide也有很多工具可以用
然后你自己写的软件,spring偏简单了,如果是ejb的话
ejb contaienr本身有很多ui可以监控
tomcat也有,spring的话,用aop
vert.x的话,用shell service
总之不管怎样,你要想办法对你系统的每一步都能够看到系统在干嘛
然后做详细的log,最后查起来就方便
另外unit test要做好,test很重要,functional的问题一般都是test没覆盖到
non-functional的问题出了,一般都好交代,可以变出各种理由来
但是functional问题出出来,那就影响kpi了,尤其是涉及到钱的时候
functional问题改起来极为麻烦,要提交数据修改什么 |
e***a 发帖数: 1661 | 9 Now junior-level candidates are often asked senior-level interview questions
. |
b**********5 发帖数: 7881 | 10 为什么protobuf不如json更popular? 个人觉得protobuf更加compact,更加容易
backward compatible。。。 |
|
|
w**z 发帖数: 8232 | 11 protobuf 比json 快很多,但用起来麻烦一点。
【在 b**********5 的大作中提到】 : 为什么protobuf不如json更popular? 个人觉得protobuf更加compact,更加容易 : backward compatible。。。
|
y******u 发帖数: 804 | 12 主要看log还有gc.log
eclipse可以remote debug |
g*****g 发帖数: 34805 | 13 因为大多数应用快几个ms没有意义,容易debug容易测试意义很大。
【在 b**********5 的大作中提到】 : 为什么protobuf不如json更popular? 个人觉得protobuf更加compact,更加容易 : backward compatible。。。
|
y******u 发帖数: 804 | 14 protobuf msg收到后,解出来直接写log,跟json也没差;而且方便加密。
【在 g*****g 的大作中提到】 : 因为大多数应用快几个ms没有意义,容易debug容易测试意义很大。
|
y******u 发帖数: 804 | 15 protobuf msg收到后,解出来直接写log,跟json也没差;而且方便加密。
【在 g*****g 的大作中提到】 : 因为大多数应用快几个ms没有意义,容易debug容易测试意义很大。
|
y******u 发帖数: 804 | 16 protobuf msg收到后,解出来直接写log,跟json也没差;而且方便加密。
【在 g*****g 的大作中提到】 : 因为大多数应用快几个ms没有意义,容易debug容易测试意义很大。
|
y******u 发帖数: 804 | 17 protobuf msg收到后,解出来直接写log,跟json也没差;而且方便加密。
【在 g*****g 的大作中提到】 : 因为大多数应用快几个ms没有意义,容易debug容易测试意义很大。
|
z****e 发帖数: 54598 | 18
因为不便于测试,json你直接开个浏览器或者curl就可以测了
【在 y******u 的大作中提到】 : protobuf msg收到后,解出来直接写log,跟json也没差;而且方便加密。
|
y******u 发帖数: 804 | 19 protobuf msg收到后,解出来直接写log,跟json也没差;而且方便加密。
【在 g*****g 的大作中提到】 : 因为大多数应用快几个ms没有意义,容易debug容易测试意义很大。
|
y******u 发帖数: 804 | 20 protobuf msg收到后,解出来直接写log,跟json也没差;而且方便加密。
【在 g*****g 的大作中提到】 : 因为大多数应用快几个ms没有意义,容易debug容易测试意义很大。
|
|
|
y******u 发帖数: 804 | 21 protobuf msg收到后,解出来直接写log,跟json也没差;而且方便加密。
【在 g*****g 的大作中提到】 : 因为大多数应用快几个ms没有意义,容易debug容易测试意义很大。
|
s*****r 发帖数: 43070 | 22 这么多帖子,还每一个提到correlation id,session context, log4j的pattern
layout,MDC这些东东
你们真是server端的码农吗 |
y******u 发帖数: 804 | 23 你就说csshx开过最多多少线上host吧
【在 s*****r 的大作中提到】 : 这么多帖子,还每一个提到correlation id,session context, log4j的pattern : layout,MDC这些东东 : 你们真是server端的码农吗
|
h**********c 发帖数: 4120 | 24 系统架构简图超过十个结点,随便看就有环状结构,
技术主管天天在scale up
立刻发简历,准备全组被雷
IDE
【在 j***y 的大作中提到】 : 我一JAVA新手, 10 次有5 次被问有没有 debug, trouble-shooting 的经验,用的什么 : 工具。 说实话我除了看 log file, Exception 外就是 google 了。最多有时候在 IDE : 里面设个 break point. : 大牛都是怎么弄的呢?
|