`
javaroad
  • 浏览: 21033 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
      这是一个困扰了我接近半个月的生产bug。当问题出现后,采取的措施分别是:打印日志,再仍然查不出问题后,改用其他方式实现,先保证不会对用户使用该系统数据照成影响。       在经过两天时间的跟踪,终于找到问题的根源。详细记录如下:         代码在字符串时逻辑里面用到了 StringUtils.contains() 方法,而这个方法主要是调用 String.indexOf() 方法,   如“ ,A,B,C,D,".indexOf("A") > 0 返回 true ; "A,B,C,D ...
     今天,生产环境上下载数据文件在 firefox 出错,而在 IE 运行正常的原因。出错信息如下:      The page you are trying to view cannot be shown because an erros in the data transmission was detected。      跟踪server端代码,完全正确,再用IE下载同样的文件也运行正常。      在firefox下,对比正常和非正常下载功能响应头信息。发现能正常下载的头信息的Content-Disposition:attachment;filename=&q ...
     单链表比较简单,直接说双向循环链表,用c语言双向链表的结构定义如下: typedef struct DNode { ElemType data; struct DNode *priror, *next ; } DNode ,*DoubleList;       如果p指向双链表中某一节点,则有:p->prior->next = p = p->next->prior。       再来看看jdk中LinkedList是如何实现双向链表的: private static class Entry<E> { E element; ...
      前言:工作将近4年,自认为基础还算可以,实际工作中用到的技术比较广泛,常用框架也有所了解,数据库原理、优化也花时间啃过,分布式hadoop、zookeeper有些了解,mongodb也玩过,但是总感觉无论做什么都没有办法做深 ...
     首先,序列化的实现方式:实现Serializable;如果提供了writeObject方法,就会在序列化的时候执行这个方法。看看 ArrayList有是如何实现这个方法的。从如下源码中,很容易看到的一点是循环时i<size而不是 i<elementData.length,看出端倪了吧,原来,序列化时,我们完全没有必要序列化elementData的所有值。 private void writeObject(java.io.ObjectOutputStream s) throws java.io.IOException{ // Write out e ...
      在实际项目中,由于需要把接口返回来的对象存在数据库中,所以用到了jackson组件把对象转成json后再保持到数据库中。由于每天处理的数据量太大,而业务对时间的要求非常严格,即使采用4台机器做分布式后,计算时间仍然在2——3个小时,于是性能优化提上了日程。       用jprofiler工具观察到性能主要在两个地方耗时比较多:1.tojson串转换,2.调用其他系统接口。       调用其他系统接口耗时占比在17%左右,tojson转换耗时占比在20%左右。经过小组讨论,决定采用memcached在运行计算之前就缓存数据。缓存命中率为83.4%的情况下,性能如下: ...
   DBA会经常抓取时间长的SQL,为了方便辨别这些SQL是不是我们部门开发的项目中的,需要提取程序中所有sql。于是先把项目运行中的所有SQL事前准备好,提取SQL的方法步骤如下:   1.在项目中加入如下依赖jar包:    <dependency> <groupId>p6spy</groupId> <artifactId>p6spy</artifactId> <version>1.3</version> </depende ...
    首先从一个问题说起。     问题现象:     查询语句如下: -- sql1 SELECT w.wid, w.rid FROM warestock w JOIN product p ON w.wid = p.product_code WHERE w.rid IN (3, 4, 5, 6, 10)       warestock 在 wid ,rid上创建了联合主键,product_code是product的主键。我期望的输出结果能按照w.wid, w.rid的顺序排序。结果却没有按照这个w.wid, ...
Global site tag (gtag.js) - Google Analytics