原文:一次线上问题引发的对于C#中相等判断的思考

线上报来一个问题,说用户的数据丢失了。开发经过紧张的调查。终于找到了原因。 问题出在了 if 中的比较上。 values rowIndex 中保存的是一个整数,开发认为两个整数比较实用 就可以了。 但是 values rowIndex 中的整数经过 GetValue返回后被作为 object 对象返回了,这时如果还使用 进行比较就会出现不等的情况。 我们来看一个更全面的例子: 运行结果 value ...

2018-12-21 19:17 3 535 推荐指数:

查看详情

一次线上问题排查所引发思考

前言 之前或多或少分享过一些内存模型、对象创建之类的内容,其实大部分人看完都是懵懵懂懂,也不知道这些的实际意义。 直到有一天你会碰到线上奇奇怪怪的问题,如: 线程执行一个任务迟迟没有返回,应用假死。 接口响应缓慢,甚至请求超时。 CPU 高负载运行。 这类问题并不 ...

Mon Jul 09 16:20:00 CST 2018 6 3053
一次线上问题引发的对dubbo优雅下线的思考

一.背景 我们经常聊到dubbo的启动,是如何暴露接口的,如何注册到注册中心的,但是就一个完整的生命周期而言,有上线就必然有下线,而下线这一部分往往被人忽略,这次就一次线上发布问题为入口,来分析dubbo下线的过程和其中遇到的问题,从另一个方面加深dubbo整个生命周期的理解 ...

Tue Jun 01 01:41:00 CST 2021 0 1115
一次线上Redis类转换异常排查引发思考

之前同事反馈说线上遇到Redis反序列化异常问题,异常如下: 已知信息如下: 该异常不是必现的,偶尔才会出现; 出现该异常后重启应用或者过一会就好了; 序列化协议使用了hessian。 因为偶尔出现,首先看了报异常那块业务逻辑是不是有问题,看了一遍也发现 ...

Mon Jun 24 19:05:00 CST 2019 0 885
一次线上故障思考Java问题定位思路

问题出现:现网CPU飙高,Full GC告警 CGI 服务发布到现网后,现网机器出现了Full GC告警,同时CPU飙高99%。在优先恢复现网服务正常后,开始着手定位Full GC的问题。在现场只能够抓到四个GC线程占用了很高的CPU,无法抓到引发Full GC的线程。查看了服务故障期间的错误 ...

Sat Sep 15 01:26:00 CST 2018 2 1493
一次 symbol lookup error 引发思考

开发一个跨平台的项目的时候,大部分时候都是在VS下进行编码,所以也就使用了VS的解决方案来管理项目。 因为要跨平台,当时网上看scons这个工具不错,所以在linux下就使用了scons来作为编译脚本 ...

Sat Jan 14 00:31:00 CST 2017 0 3892
C#的ValueType引发思考

无论上层语言类型多么复杂,在.NET平台上,都逃不过CTS的约束,今天,我想说的不是CTS,而是上层语言C#类型的一点研究。 请看一下下面的这个代码段: 这是我随便定义的一个结构,可以看到这个结构什么都没有继承,但是我却可以重写出Equals方法,这个方法来自哪里,这个结构的父亲 ...

Mon Mar 02 22:13:00 CST 2020 2 1330
一次买车引发思考 -- 关于汽车消费贷你需要知道的事情

1、前言 现在很多4S店都会推出所谓的免息汽车贷,美其名曰免息,然后要收你一定的服务费/茶水费之类的,一般2,3k,看着好像不多,很多消费者就用了”系统一“不加思考就刷卡了。笔者近期因为买哈弗大狗的缘故,也经历了一次4S的消费贷,本着研究员的精神,我和销售掰扯了一下午,最终向销售说明白了这里面 ...

Mon Jul 05 02:27:00 CST 2021 4 229
一次一个枚举引发线上事故风暴

背景 2018年8月15号下午6点左右一个我们服务的调用方通知我们他们在调用服务接口时出现了大量的异常和通知,并且错误返回值都是“显示未设置结束日期” 问题定位 收到调用方的消息后,我立即展开了问题的排查 1、通过服务管理平台查看服务是否出现超时及比对今天和昨天接口整体的响应 ...

Fri Aug 17 00:39:00 CST 2018 6 806
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM