![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
工作所遇问题
文章平均质量分 52
Neetgo
呵呵,以前总喜欢多看书,少动手.现在呢,要开始多动手了,当然也要看书...希望能多结交朋友,大家多多支持我啊...
展开
-
遍历列表时容易埋的坑
今天刚发现这样的一个问题,客户那边显示一个页面要40多分钟,而且在遍历List的时候,会把很多数据从数据库Load到内存,导致不仅耗时,还耗内存。逻辑基本是这样的,首先拿到一个List接着遍历这个List,为里面的每一个元素去数据库查询其它数据,或是执行一些复杂操作后得到一些新的数据对新的数据做过滤,得到匹配的数据传回来。。。就这样一挥而就,代码一下子就写出来了。却没有注意到一个问题。对新数据做过滤的条件,也可以用在List那里。也就是说,拿List的时候,先用相同的条件,把不符合.原创 2021-03-24 15:39:51 · 100 阅读 · 0 评论 -
一个批量修改表的行数据类型的postgresql语句
就是下面的三行SQL语句了。通过查找符合指定条件的表,然后循环,把符合条件的表的指定column的数据类型修改为指定的数据类型。这里%I出来了两次,是Postgresql的定义用法,在这里指对应的表名和行名。如果换成其它的会报错。DO $$ DECLARE rec RECORD; begin for rec in (select table_name,column_name from information_schema.columns where table_schema = 'xxx'原创 2021-03-10 11:21:43 · 770 阅读 · 0 评论 -
分析一个大的XML文件时用的笨招
收到一个很大的XML文件,接近2G大小。里面内容就是对象的属性和值的信息。需要从里面找出比较大的那些对象。试过好几个工具,比如VIM、Notepad++、Edit Plus,都觉得不好用,VIM可能是缓存,打开文件没问题,内容查找也没问题,问题就是太慢了,找了个关键字,开始扫描,然后就进行一段时间的等待。Notepad++和EditPlus就直接打不开了。后来一个小伙伴提供了一个思路,即通过对比标签内的行数来估算那些是大对象。比如…这么一对标签之间,如果有100行,可能是正常的,如果10000行,可能就原创 2020-09-27 14:31:25 · 325 阅读 · 0 评论 -
一个案例的简单总结
翻看去年处理的一个安全,发现处理时间挺长的,而且这个案例也有点意思,就再看多两眼,做个简单总结。1. 首先是应用服务器性能不稳定,排查之后,服务器是VM,要求加资源,并且所有资源都Reserved.2. 接着就是应用服务器连接数据库时很不稳定,数据库经常报“Recovery Mode”。好像是数据库莫名被关闭,导致非常关闭,然后再重启时处理“Recovery Mode"。排查之后,发现是数据库服务器那边,会经常把数据库进程给杀掉。Linux有个OOM-Killer这东西,不看系统日志,还不好确认它就原创 2020-05-22 11:36:59 · 252 阅读 · 0 评论 -
遭遇诡异的 EOFException
在某重要客户生产环境上遇到这个问题。在对某系统做升级的时候,该系统需要从服务器上获取升级需要的文件,然后解压,再进行升级操作。操作过程就遇到了这个奇怪的问题。在这里服务器管理着几十台这样类似的系统,这些系统都处理相同的网络环境中,95%的系统都可以成功升级了,剩下少数的几个系统不能升级,后台都抛出以下EOFException异常,而且这些系统所用的操作系统是Windows 2003.原创 2016-07-07 16:32:30 · 7414 阅读 · 0 评论 -
工作中的十大棘手难题
最近一两年的时候,写代码的时间逐渐减少,除了负责几个小系统之外,更多的时间用在解决客户问题上。接触的问题多了,发现真的是什么样的问题都有可能发现在客户环境上,当然,这不能一味地说系统的问题。系统确实存在不足的地方,但是,有时候环境、客户人为操作等很多因素,都会带来或小或大的问题。下面列举一下接触客户问题以来,碰到的十大棘手问题。呵呵,说是棘手,也不一定很棘手的,但不少问题要解决起来肯定是有些麻烦的。原创 2016-07-25 15:08:43 · 8640 阅读 · 0 评论 -
一个WMI模糊查询引发的数据丢失问题
WMI查询语句 “SELECT * FROM Win32_ComputerSystem” 是一个看起来很简单的查询,主要用于获取Windows 系统的一些信息,如机器名、处理器数量等。在我们的产品上这个语句使用很久了,一直没问题。最近有个客户报产品在获取数据时,偶尔出现获取不到数据的情况,导致在个别图表上出现空白。经过定位,发现的获取语句“SELECT * FROM Win32_ComputerS原创 2016-05-18 10:24:11 · 1017 阅读 · 0 评论 -
thread dump 解决性能问题一例
thread dump 解决性能问题一例原创 2016-03-17 11:59:26 · 1753 阅读 · 0 评论 -
根据ASCII找出乱码字符
利用ASCII找乱码字符原创 2016-03-16 16:57:02 · 3464 阅读 · 0 评论 -
There is a problem with the configuration server.(usr/lib/libgconf2-4/gconf-sanity-check-2 ...)
清空/tmp目录带来的问题问题描述启动一台闲置的虚拟机,在即将进入登录窗口的时候,提示以下错误习惯性地点击“Close“,关闭窗口,这时候显示登录窗口,输入账户和密码,不能成功进入系统,右上角出现新提示。好像有些东西没能正确安装,真奇怪,最近都没使用这台机器,怎么会有这种报错呢。问题排查按”Ctrl+Alt+F1”,进入命令模式,用df -h检查一下磁盘空间,使用率只有80%而已,应该不是空间不足导原创 2016-07-19 16:37:47 · 4202 阅读 · 1 评论 -
JVM经典问题EXCEPTION_ACCESS_VIOLATION(JDK-8149428)
在客户一台机器上出现JVM挂掉的问题,大概是一个月就会发生一次。在JVM自动生成的hs_err文件,看到以下内容.# A fatal error has been detected by the Java Runtime Environment:## EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x000000226b53ea00,原创 2017-02-08 14:30:50 · 9471 阅读 · 0 评论 -
SQLServerException: Arithmetic overflow error converting numeric to data type numeric(2)
上次提到,在客户环境发现这个问题java.lang.RuntimeException: com.microsoft.sqlserver.jdbc.SQLServerException: Arithmetic overflow error converting numeric to data type numeric.......利用 SQL Server Profiler 的 t原创 2017-02-28 16:38:01 · 7889 阅读 · 0 评论 -
SQLServerException: Arithmetic overflow error converting numeric to data type numeric(1)
java.lang.RuntimeException: com.microsoft.sqlserver.jdbc.SQLServerException: Arithmetic overflow error converting numeric to data type numeric.......这个报错很直接,一眼就看出来什么问题。由于产品的复杂性,当客户向我们报这个问题时,我们一原创 2017-02-08 14:40:17 · 4213 阅读 · 0 评论 -
ORA-12516, TNS:listener could not find available handler with matching protocol stack
java.sql.SQLException: Listener refused the connection with the following error:ORA-12516, TNS:listener could not find available handler with matching protocol stack at oracle.jdbc.driver.T4CConne原创 2017-04-06 16:52:26 · 2607 阅读 · 0 评论 -
(ESC 1)开发支持(Level 2 Support)的必要性
不少公司都有技术支持这个岗位。如果给客户部署了一套产品,客户在使用过程,遇到问题需要协助,会通过技术支持(Support)来解决问题。如果技术支持解决不了,就去找开发的做深入研究。一般处理流程如下图所示。这种架构对大部分公司过是适用的。有些公司由于产品多、客户分布广,这种架构可能就需要做一些调整。如下图所示,在开发和技术支持之间再加一层,Level 2 Support,实际上也是技术支持。为了区分...原创 2018-04-19 15:19:31 · 1199 阅读 · 0 评论 -
(ESC 2)开发支持(Level 2 Support)在组织构架中的工作流程
一般工作流程:1. 客户遇到问题,需要协助,技术支持提供协助。2. 技术支持搞不定问题,需要开发支持。Level 2 Support提供协助。3. Level 2 Support需要具体的开发协助,向上提交给Dev。解决方案最后由技术支持转给客户。一般工作流可以用之前的一张图来表示。除了一般工作流程,特殊情况下,还会有异常工作流程。异常工作流程:1. Level2 S...原创 2018-04-24 11:00:08 · 722 阅读 · 0 评论 -
Wget debuglog获取系统认证信息
接到一个case,客户反应我们的监控系统访问不了他们的网络,而监控系统所在的机子,是可以通过浏览器访问的。马上获取相关log进行分析,找到以下报错java.io.IOException: Authentication failure at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.原创 2014-05-27 14:04:58 · 1190 阅读 · 0 评论 -
ORA-19809 闪回区没空间导致数据库不能响应
在一台Windows上安装了一个测试原创 2014-04-29 17:19:47 · 721 阅读 · 0 评论 -
XXX项目的风险与解决
1、合同上注明是产品定制,产品不成熟,潜在问题较多,定制开发量大。2、合同额小、工期短,很难保证项目盈利。3、没人。咨询人员不熟悉项目业务,开发方面人手明显不够。4、需求不明。客户首次上该项目,对相关业务不清楚,没专门的产品经理指导需求沟通。5、客户态度比较强势,开发组制定的计划不认同,明确要求项目在一个月出来。按照商务的观点,客户是标杠客户,需要尽量满足客户要求,开发组需要尽原创 2012-01-17 09:22:06 · 721 阅读 · 0 评论 -
性能排查的一般切入点
平时主要是做J2EE开发,经常碰到系统运行慢,这时候就得考虑系统是否存在性能问题了。根据我的总结,性能排查一般可从以下几个方面着手,分别是网络、硬件、软件、技术实现:1、网络:基于B/S架构的系统,客户端与服务端存在频繁的请求和应答,可能会存在大量的数据传输,带宽大小影响到数据传输所需要的时间,排除其它因素,在传输同等大小的数据,带宽越大,所需的时间就越少,所以网络是一个必须要考虑的对象。一般原创 2012-01-30 16:44:59 · 661 阅读 · 0 评论 -
某信息化系统的调优
2009年底的时候给一客户开发了一个小的信息化系统,暂称为CRM,主要用来管理该客户的产品销售,包含的功能有客户管理、订单、财务等模块。由于该客户有自己的OA系统,同时也有源码,希望我们能把CRM整合到他们的协同办公系统,这样用户在登录OA的时候就可以操作CRM,而且该OA也已经整合了另外两个系统,分别是日志填写系统及合同管理系统。由于有源代码,整合起来难度不大,我们把CRM整合到OA里面,跟日志原创 2012-02-04 16:11:26 · 1269 阅读 · 0 评论 -
近期需要提升的一些方面
基于产品开发项目,更多的时间是实现客户的业务需求,更多时候是Ctrl+C, Ctrl+V再改改就完成一个功能,导致很久没认真学习技术了,记下一些点,好好安排时间学习、摸透。暂时记起以下几点,想到别的再补充。结果或相关参考会再做编辑或在回复中补充。 1、Servlet 非线性安全,对每个请求会生成一个实例。弄清楚servlet的启动过程、如何工作、生命周期?容器是如何调用servlet的?容原创 2012-02-13 19:54:37 · 589 阅读 · 0 评论 -
又跳槽了。。。
终于下定决定,跳槽了,并且在很短的时间,找到了下家。 回头想想,原公司挺好的,这点我一直都这样认为,并且在原公司,有自己的团队(组建中。。。),有自己的产品及努力的方向,跳槽,用部门经理的话说“感觉有点惊奇和突然”。我不是一个随便或武断的人,在原公司工作的最后几个月,个人感觉还是不错的,也曾想说服自己,让这种情况继续下去,继续带着自己的团队,打造自己的团队和项目,慢慢转型做管理。但原创 2012-03-28 20:57:23 · 1130 阅读 · 0 评论 -
Installanywhere:当64位swt遇上32位JVM
最近给产品打installer时,能够成功通过installanywhere生成安装包,但安装时,不能成功运行,切换到console模式,再次打成安装包,安装,运行,报以下错误: Unable to locate the application's 'main' class. The class 'demos.common4swt.XxxLauncher' must be public a原创 2012-06-25 16:11:30 · 4836 阅读 · 0 评论 -
网络因素导致系统不稳定?
用Ext+S2SH开发的一套系统,部署在武汉客户机房,该客户分公司遍布全国各地。在系统培训时,各地的使用代表都来到武汉参加培训,培训过程良好,代表们在自带的笔记本上操作系统也很顺手,但系统一上线使用,代表们回到原来的地方访问系统,问题就来了。比如,重庆分公司的客户在访问系统时,IE提示,很多页面都会报脚本语法错误,而在武汉、郑州、广东等地访问的,页面并没有报脚本错误,客户的环境基本无差别,实施人员原创 2012-01-17 09:42:00 · 1670 阅读 · 1 评论 -
处理SWT bit版本与JDK bit版本的对应
bit版本(bit version),是从国外一个论坛的帖子抄过来的,我原本也不清楚该怎样命名它,觉得bit version挺合适的,就这样使用起来了。 SWT bit version有32-bit和64-bit两种,同样,jdk也有32-bit和64-bit两种。经过多次测试,发现32-bit SWT只能安装在32-bit JDK 上,而64-bit SWT也只能安装在 64-原创 2012-07-16 14:37:50 · 3766 阅读 · 2 评论 -
在suse10 Enterprise Server碰到的怪异JVM Crash问题
产品有一个模块是用SWT实现的,用的SWT包是eclipse3.5下面的包,在redhat/ubuntu测试没问题,在suse11测试也没问题,最近在suse10上面测试,该模块不能成功运行。上eclipse官方网站,找到eclipse3.5,发现该版本支持suse10,于是下载了一个eclipse3.5,安装在suse10,写了一个SWT的HelloWorld,运行,该例子不能运行,控制台报原创 2012-08-08 11:35:56 · 1643 阅读 · 0 评论 -
set autotrace on explain异常:SP2-0613: Unable to verify PLAN_TABLE format or existence
SQL> set autotrace on explainSP2-0613: Unable to verify PLAN_TABLE format or existenceSP2-0611: Error enabling EXPLAIN reportSQL> connect / as sysdbaConnected.SQL> @%ORACLE_HOME%/rdbms/admin/utlx原创 2013-04-26 10:03:29 · 1471 阅读 · 0 评论 -
偶遇 :org.eclipse.swt.SWTException: Failed to execute runnable
Exception in thread "main" org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Widget is disposed) at org.eclipse.swt.SWT.error(SWT.java:4282) at org.eclipse.swt.原创 2012-06-12 16:12:29 · 13445 阅读 · 7 评论 -
借助MAT、VisualVM进行JVM性能调优
公司有一个老的营销系统,是基于JDK1.4开发的,原来是集成在公司的协同办公平台上,这个系统问题可真不少,特别不稳定,经常会发生内存溢出现象,一天要自动关闭服务好几回,不仅影响了使用这个系统的人,也严重影响使用协助办公平台的人,更给管理员带来不少麻烦。借着给协同办公平台升级的时机,我决定改进一下营销系统的运行状况。 处理这种问题的第一步:应用分离,把影响控制到最小范围内。首先是把这个营销原创 2013-05-01 16:42:11 · 1680 阅读 · 0 评论 -
团队,重点在于配合
2013.05.15 21:00PM,看天气预报,说接下来几天下大雨,就又跑出去打篮球了。这回打了半个多小时的3:3小组赛,这次打球,有一些配合得比较好的点,篮球,在逐渐学着配合。 一开始,我防对方一个身材比我略高的,打了几个回合,发现那家伙太猛了,动作比较快,投得也比较准,就换了另一个人来防。新防法有点效果,虽然对方中球比较多,但我方也不弱,在防守、进攻方面都比较好,一个人守原创 2013-05-16 11:17:17 · 1123 阅读 · 0 评论 -
总结SWT的几点不足
产品的迁移工作接近尾声了,在这次迁移中,首次使用SWT,没什么SWT方面的经验,虽然我负责的是外围模块,使用SWT不是很多,但也算见识了SWT的一些优点和不足(指我认为的不足),这几点给我们的计划带来了不少影响,导致进度一拖再拖,发布日期一变再变,以后再用SWT,要长些心眼。以下就是我认为的SWT的几点不足: 1、SWT对象的构造,总要以父容器为参数传进构造函数,如在shell中加入一个b原创 2012-08-14 20:48:00 · 2385 阅读 · 1 评论 -
Wget在排查网络问题时的小应用
本文用事实来描述了wget在实际工作中,排查网站问题时的作用。原创 2014-03-06 11:37:40 · 6922 阅读 · 0 评论 -
查询速度慢的原因
最近在测试我所负责的一些模块时,某个表有记录40W条左右,通过系统查询,速度非常地慢.直接写了个语句: select count(*) from table_name 在命令行下面查询,也需要大概20s.我也仔细地检查过我所写的sql语句,没发现什么问题,也怀疑是数据库设计方面有问题,但数据库不在我这边,不清楚数据库服务器的具体情原创 2008-09-04 14:37:00 · 721 阅读 · 0 评论