二分查找 (java实现)

package com.li.test01; import java.util.Scanner; /** * * @author lixiang * */ public class BinarySearch { //存在返回数组下表,不存在返回-1 //递归实现 ...

2017-09-25 16:15:00

阅读数 166

评论数 0

hibernate动态读取配置及创建数据源

public static Configuration initDBConfig(String dialect, String driver, String url, String user, String pwd){ Configuration cfg = new Configuration...

2017-09-19 16:18:44

阅读数 357

评论数 0

java如何删除文件的前几行数据(不使用临时文件)

private List readAndRemoveFirstLines(File file, int lineNum) throws IOException{ List strList = new ArrayList(); RandomAccessFile ra...

2017-09-19 16:06:17

阅读数 2605

评论数 1

gdb调试core分析jvm(JNI)奔溃原因

前几天服务(服务中使用了JNI调用了C++的so库)在并发测试几天后jvm突然奔溃,只在控制台打印出了一句话: terminate called after throwing an instance of '._0'。因为只根据这句话无法确定奔溃原因,于是查看linux系统日志,进入/var/lo...

2017-09-19 15:19:08

阅读数 2852

评论数 0

hibernate QueryPlanCache引发的heap区内存溢出

这个问题是很久之前解决的问题,今天在整理电脑资料的时候,发现了当时解决问题的一些截图,在此发记录一下,以免自己忘记。    有一个项目中用到了hibernate作为数据持久层,当项目完成,使用loadrunner进行并发测试的时候,当测试跑了几天,就因为内存溢出挂掉了。当对奔溃场景进行重现的时,...

2017-08-16 16:12:54

阅读数 3304

评论数 2

并发delete导致oracle死锁问题的解决

项目中有一个批处理任务,用来删除数据库中过期的数据(包括说话人的语音、模型、记录等),当程序被分布式部署后,就会有多个批处理线程同时进行删除,不过不同的线程,会根据元信息表得到不同的说话人信息,从而删除不同的数据,并不存在竞争的问题,但是,当项目使用oracle数据库在线上运行时,却频繁出现了OR...

2017-08-16 14:57:33

阅读数 3159

评论数 0

JVM在SUSE下奔溃的原因

今天同事去厂商部署项目的时候发现项目启动一会便会奔溃,但是项目已经在其他的厂商和自己公司的云服务器上稳定运行了很长时间,且经过了大量严格的功能、并发测试,这让我有些诧异,通过了了解,知道了对方机器的操作系统为SUSE,同事发回了jvm奔溃时生成的hs_err_pid文件。通过查看hs_err_pi...

2017-05-24 19:38:46

阅读数 936

评论数 0

Weblogic: Managed Server: java.lang.OutOfMemoryError: PermGen space

最近在一次上线过程中遇到了这个问题,在这里将解决方案记录一下。    当项目在weblogic中部署的时候,如果你是使用脚本启动managed server的话,则关于jvm 内存的相关设置去修改$DOMAIN_HOME目录下的env file即可,但是如果你是使用网页控制台的方式去启动mana...

2017-04-07 09:43:35

阅读数 473

评论数 0

Tomcat迁移到WebLogic 11g部署项目注意事项

最近将web项目从tomcat中迁移到weblogic中产生了很多问题,特此记录一下: Tomcat 迁移到 WebLogic 11g部署项目注意事项 ============================== 1.不要依赖容器特有类库   现象:interface接口中使用了org...

2017-03-28 18:19:36

阅读数 2357

评论数 0

Too many open files问题解决

昨天项目上线的时候,服务器程序在读写文件的类中,频繁出现IOException---Too many open files的问题,出现这个问题的原因是:当前打开的文件句柄数超过了系统的默认值,调大系统的默认文件句柄数,程序正常,但是运行了一段时间后,程序再次出错,使用lsof -n|awk '{p...

2017-03-19 17:00:28

阅读数 766

评论数 0

Java集合源码解析-ArrayList

从今天开始,会用一段时间对Java集合框架中的一些常用数据结构进行源码解析。首先入手的是ArrayList,部分的源码解析会以注释的方式出现。 public class ArrayList extends AbstractList ...

2017-03-08 15:57:05

阅读数 245

评论数 0

oracle建库脚本

把之前写的项目中的oracle数据库的建库sql脚本放在这里备份一下。    -- create_db.smb.orcl.sql -- SHOULD EXECUTE WITH THE SUPPER USER 'sysdba'. -- Before executing this script, s...

2017-03-07 11:30:56

阅读数 369

评论数 0

sqlplus执行语句报错:unknown command beginning解决方案

今天在sqlplus中执行一个建表脚本的时候,报错“SP2-0734: unknown command beginning "crea..." - rest of line ignored."。但是这个建表脚本在navicat客户端执行是正常的。因为sql脚本是在wi...

2017-03-07 11:19:20

阅读数 1678

评论数 0

声纹识别服务云平台的意义以及趋势(感想)

服务转向云计算,是业界将要面临的一个重大改变,而各种云平台的出现时该转变的最重要的环节。云平台允许开发者们或是将写好的程序放在“云”里运行,或是使用“云”里提供的服务,或二者皆是,在“云”中构建服务所需的各种基础设施,使用服务的用户和开发者无需自己搭建服务,管理数据,直接远程调用服务即可,方便快捷...

2017-03-03 17:57:37

阅读数 949

评论数 0

Struts2拦截器实现异常处理机制

Struts2拦截器实现异常处理机制 在j2ee项目中,系统内部难免会出现一些异常,如果把异常放任不管直接打印到浏览器可能会让用户感觉莫名其妙,也有可能让某些用户找到搞定系统的方法。 所以不要在页面上输出错误信息,使用log日志的方式处理异常并记录异常。 就拿struts2+hibernate...

2017-03-03 15:42:40

阅读数 344

评论数 0

struts2 request.getInpustream()及multipart上传获取不到数据的解决方案

此问题是之前在项目中遇到并解决的,今天将其记录一下。项目中遇到的需求是,要在拦截器中将请求post过来的数据流进行解析,然后手动将解析的各参数其压到struts2的valueStack中,post过来的数据流可能是json串形式(客户端没有标记content-type)或者以multipart/f...

2017-03-03 14:13:55

阅读数 1588

评论数 0

基于hibernate的BaseDao

1.BaseDao接口: package com.dear.simpler.dao; import java.io.Serializable; import java.util.List; import com.dear.simpler.db.utils.SPLDBException; /**...

2017-03-03 11:02:45

阅读数 344

评论数 0

java程序启动脚本

在公司开发的系统包含多个服务进程,每个服务以单独的jvm进程的方式存在。为了节省存储空间以及对不同进程使用的jar包进行统一管理,要求所有服务使用的jar包都存放在同一个目录中,所有进程使用同一个jdk,每个服务有自己单独的目录存放主程序(服务启动逻辑和非共享逻辑)。我的db_service的启动...

2017-02-21 15:46:51

阅读数 527

评论数 0

postgresql死锁处理

今天在利用navicat对postgresql数据库某张表进行清空操作时,由于表的数据量太大,导致操作卡死,客户端奔溃。重启客户端后,想分页对表数据进行删除,但发现,怎么都操作不了,甚至单条数据也无法删除,猜想刚刚进行整表清空的sql进程还在,锁住了数据表,所以导致当前的操作无法进行。    1....

2017-02-21 14:33:51

阅读数 1551

评论数 0

自定义log4j日志文件命名规则

项目中的日志需要采用一致的命名规范和规范,命名规则为:项目模块标识_index_日期时间_日志级别.log,且每个级别日志文件放在单独的文件夹,且每个文件夹下日志的数量不得超过10个,当数量超过限制时,删除相对较旧的日志,保留较新的日志。但是发现log4j并不能满足此要求,于是根据log4j的AP...

2017-02-16 18:18:38

阅读数 1588

评论数 0

提示
确定要删除当前文章?
取消 删除