工作中项目上遇到的问题

目录

一、oracle执行update、for update操作时卡死问题

二、为数据库添加索引

三、获取Map集合中的key、value方法

四、项目依赖的jar包中代码出现问题如何解决

五、启动Weblogic时出现java.lang.NumberFormatException: null异常导致启动失败

六、启动zookeeper时报错already running as process

七、清除redis的缓存


 

一、oracle执行update、for update操作时卡死问题

  1. 产生原因:由于在PLSQL Developer执行update操作时没有正常的commit,oracle将该条记录锁住了。
  2. 解决办法:

先查询出锁定的记录:SELECT s.sid, s.serial# FROM v$locked_object lo, dba_objects ao, v$session s WHERE ao.object_id = lo.object_id AND lo.session_id = s.sid;

然后删除这些记录:ALTER system KILL session 'SID,serial#';(其中 SID填写上文中查到的SID数值,serial#填写serial#列的数值如:ALTER system KILL session '214,23456';)

 

二、为数据库添加索引

  1. 添加方法:create index 索引名称 on 表名(字段名);

 

三、获取Map集合中的key、value方法

  1. 原理:Map集合的entrySet()方法可以将Map中的每一个键值对当做一个Entry泛型对象存入到Set集合中,然后我们可以通过Set集合的迭代器来获取Set集合中的每一个Entry对象,Entry对象为我们提供了getKey()和getValue()方法来获取Entry对象中的键值对的值。
  2. 实现方法:
//实现方法一:
public void getKeyValue(Map<String,String> param) {
    if( (param.size() != 0) && (param != null) ) {
        for(Entry<String,String> en:param.entrySet()){
            System.out.println(en.getKey() + ":" + en.getValue());
        }
    }
}
//实现方法二:
public void getKeyValue2(Map<String,String> param) {
    if( (param != null) && (param.size() != 0 ) ) {
        //将Map集合变成Set集合
        Set set = param.entrySet();
        //获取Set集合的迭代器
        Iterator it = set.iterator();
        while(it.hasNext()){
            //迭代获取每一个Entry对象
            Map.Entry<String,String> en = (Entry<String, String>) it.next();
            //调用Entry对象的getKey()和getValue()方法获取键值对的值
            System.out.println(en.getKey() + ":" + en.getValue());
        }
    }
}

 

四、项目依赖的jar包中代码出现问题如何解决

  1. 先定位到问题出在该jar包中的那个或哪些类中,然后将该jar包解压。
  2. 拿到该jar包的源码,将源码导入到Eclipse中,然后在源码中修改代码有问题的地方,再将修改问题后的java文件进行编译,最后将编译后的class文件放到刚刚解压的jar包中相对应的地方。
  3. 打开cmd窗口,进入到刚刚解压的jar包中(如test-5.6.1.jar解压成test-5.6.1文件夹,就使用cd命令进入到test-5.6.1文件夹中),输入命令:jar cvfm test-5.6.1.jar META-INF/MANIFEST.MF com/ META-INF/命令,敲回车即可。

 

五、启动Weblogic时出现java.lang.NumberFormatException: null异常导致启动失败

  1. 就是进入adminserver的文件里面data/ldap/conf中,找到replicas.prop,打开,清空里面的东西,再加上replica.num=0  s,然后保存,重新启动。

 

六、启动zookeeper时报错already running as process

  1. 到zookeeper的bin目录中打开zkServer.sh脚本,找到zookeeper_server.pid的文件位置,删除后再重启就可以了
  2. 启动命令:./zkServer.sh start

 

七、清除redis的缓存

  1. 进入redis主从配置的主机,进入redis的bin目录下,输入命令:./redis-cli命令,进入redis,然后输入命令flushall清除所有的缓存即可
  2. 进入redis的命令:./redis-cli -p redis端口号

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值