Java 开发
文章平均质量分 86
weizs_999
这个作者很懒,什么都没留下…
展开
-
nginx 同时配置https和http,不同域名
#user nobody;worker_processes 1;#error_log logs/error.log;#error_log logs/error.log notice;#error_log logs/error.log info;#pid logs/nginx.pid;events { worker_connections 1原创 2016-10-09 15:17:48 · 1543 阅读 · 0 评论 -
Logback配置解析
<!---scan:当此属性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true-scanPeriod:设置监测配置文件是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒。- 当scan为true时,此属性生效。默认的时间间隔为1分钟-debug:当此属性设置为true时,将打印出logback内部日志信息,实时查看logback运行状态。默原创 2015-12-09 21:31:36 · 7600 阅读 · 0 评论 -
IntelliJ IDEA QAPlug 安装与使用
1 File – Settings 2 选择Plugins,搜索QA,点击Install plugin 进行安装,共需要安装4个插件,QAPlug, QAPlug-Checkstyle, QAPlug-FindBugs, QAPlug-PMD 安装完成后重启即可 3 导入Profile,file->Settings ->QAPlug->Coding Rules-原创 2015-08-07 14:09:46 · 16002 阅读 · 0 评论 -
IntelliJ IDEA 代码检查规范QAPlug
静态检查规范Avoid Array Loops数组之间的拷贝使用System.arrayCopy更加高效byte[] ReceiveBytes =new byte[length1+ length2];for (inti = 0; i ReceiveBytes[i] =ReceiveBytes_temp1[i];}Big Integer Instantia原创 2015-08-07 11:24:08 · 6122 阅读 · 0 评论 -
tomcat启动报错原因分析及解决
1.报错日志拿到catalina.log的启动日志2015-8-13 15:24:02 org.apache.catalina.core.StandardContext start严重: Error listenerStart2015-8-13 15:24:02 org.apache.catalina.core.StandardContext start严重: Context [原创 2015-08-13 21:40:47 · 9540 阅读 · 0 评论 -
ActiveMQ InactivityIOException: Channel was inactive for too (>30000) long 处理方案
生产服务器上,MQ Produce和consumer端同时报如下错误,导致Transport (tcp://132.97.122.168:61616) failed, reason: org.apache.activemq.transport.InactivityIOException: Channel was inactive for too (>30000) long: tcp://13原创 2014-11-05 19:29:07 · 14866 阅读 · 2 评论 -
jvm性能优化建议
一、Gc频繁Eden已用空间(MB)618.761每秒执行41.14次GC1.原本年轻代就是jvm GC频率最高的地方,如果优化,主要是检查代码,是否频繁创建了一些临时对象。2.启动脚本 -Xms1024M -Xmx1024M 建议设置一样大,可以减少Gc能耗。Eden回收次数(次)168原创 2014-05-06 20:46:36 · 864 阅读 · 0 评论 -
"Error occurred during initialization of VM java.lang.OutOfMemoryError"解决方案
生产机器,在发布新的应用程序后,会报“Error occurred during initialization of VM java.lang.OutOfMemoryError:unable to create new native thread”。 经分析是系统参数设置问题,导致新的应用程序不能分配足够的系统资源。由于该异常无法在测试环境重现(相同配置机器,已经请测试组帮忙压测,并未重现此原创 2014-04-15 11:35:42 · 5946 阅读 · 0 评论 -
Git实践手册
一、创建Project创建一个Test项目二、远程分支管理1. 目前定义三个分支Master 开发分支(push时默认都是push到master分支)Testing 测试分支(由master分支合并而来)Stable 稳定版本分支(由testing分支合并而来) 2. 保护分支为了避免开发者push错分支,设置testing原创 2014-02-12 16:51:24 · 580 阅读 · 0 评论 -
同步转异步机制
现状:华鸿平时每天有3W笔左右请求量,月初高峰期6W笔/天。 通信:Socket长链接 瓶颈:由于华鸿和移动网络问题原因,使华鸿内部处理慢,不能及时返回处理结果,导致我方有大量超时订单。同时在超时等待期间,线程资源不能及时释放,后续交易无法进来。 解决方案:同步转异步 即,1.网关收到交易请求之后,做必要的业务处理并组织请求报文原创 2013-12-06 19:55:08 · 996 阅读 · 0 评论 -
ActiveMQ 故障处理
1. 故障分析2. 参数介绍3.ActivemQ 主从 主原创 2015-12-09 21:47:24 · 723 阅读 · 0 评论 -
ActiveMQ 故障处理二
异常日志Temporary Store limit is 51200 mb, whilst the temporary data directory: /home/bppf_inf/activemq/data/master168/tmp_storage only has 15333 mb of usable space - resetting to maximum available 153原创 2015-12-09 21:53:29 · 1870 阅读 · 0 评论 -
Linux操作系统线程ID和Jvm栈线程ID对应
问题原因:在生产环境,发现某机器CPU占用很高。需要关联操作系统线程和java 应用程序进程ID,以进一步定位java应用异常问题1. top -Hp pid 查看应用进程的子线程的占用情况(生产数据未保留,暂以测试为例)或者pstree -p pid[bppf_b@CSHJ_QZJK2 ~]$ top -Hp 11167top - 19:50:26 up 102 days, 5原创 2015-11-19 21:28:34 · 1577 阅读 · 0 评论 -
常用Linxu系统监控命令
一、常用监控命令netstat -natp : 查看对应的网络链接,关注下Recv-Q , Send-Q , State。lsof -p pid : 查找对应pid的文件句柄lsof -i : 80 : 查找对应端口被哪个进程占用lsof /tmp/1.txt :查找对应文件被哪个进程占用ulimit -a: 系统限制设置二、查看Linux下Java线程1原创 2016-03-16 16:58:21 · 455 阅读 · 0 评论 -
Zookeeper工作流程
1、Leader工作流程Leader主要有三个功能: 1 .恢复数据; 2 .维持与Learner的心跳,接收Learner请求并判断Learner的请求消息类型; 3 .Learner的消息类型主要有PING消息、REQUEST消息、ACK消息、REVALIDATE消息,根据不同的消息类型,进行不同的处理。PING消息是指Learner的转载 2015-12-08 14:50:04 · 472 阅读 · 0 评论 -
kafka自定定义对象实现
1.异常 16:54:52.512 [main] INFO kafka.utils.VerifiableProperties - Property serializer.class is overridden to com.bpbp.kafka.encoder.OrderEncoderjava.lang.ExceptionInInitializerError at com.bpbp.kaf原创 2015-12-24 17:03:57 · 2991 阅读 · 0 评论 -
zooKeeper 名词介绍
一、zookeeper简单用法1.1连接到zooKeeper ServerD:\Zookeeper-3.4.5\bin>zkCli.cmd -server 127.0.0.1:2185Connecting to 127.0.0.1:21852015-12-07 17:01:06,184 [myid:] - INFO [main:Environment@100] - Client转载 2015-12-08 14:32:11 · 657 阅读 · 0 评论 -
zookeeper 选举算法
1.角色介绍2.选举算法原创 2015-12-08 14:38:41 · 544 阅读 · 0 评论 -
线程池ThreadPoolExecutor执行流程
线程池ThreadPoolExecutor执行流程1,首先线程池判断基本线程池是否已满?没满,创建一个工作线程来执行任务。满了,则进入下个流程。2,线程池判断工作队列是否已满?没满,则将新提交的任务存储在工作队列里。满了,则进入下个流程。3,最后线程池判断最大线程池是否已满?没满,则创建一个新的工作线程来执行任务,满了,则交给饱和策略来处理这个任务。附上源代码原创 2015-11-30 21:12:03 · 635 阅读 · 0 评论 -
Https建立连接过程
Https建立连接过程浏览器与网站互相发送加密的握手消息并验证,目的是为了保证双方都获得了一致的密码,并且可以正常的加密解密数据,为后续真正数据的传输做一次测试。HTTPS一般使用的加密与HASH算法如下:非对称加密算法:RSA,DSA/DSS对称加密算法:AES,RC4,3DESHASH算法:MD5,SHA1,SHA256其中非对称加密算法用于在握手过程中加密原创 2015-11-29 14:36:09 · 1862 阅读 · 0 评论 -
Error: Could not create the Java Virtual Machine.
问题描述:Please use CMSClassUnloadingEnabled in place of CMSPermGenSweepingEnabled in the future'unrecognized VM option 'PrintGCApplicationStoppedTimeError: Could not create the Java Virtual Machine.原创 2015-11-25 23:45:07 · 5582 阅读 · 0 评论 -
Oracle 执行计划 Explain plan for
原创 2015-11-19 19:37:41 · 541 阅读 · 0 评论 -
Java 垃圾回收finalize()方法
1.Demopackage com.weizhi.gc.test;/**1.对象可以在Gc时自我拯救*2.这种机会只有一次,因为对象的finalize()方法只会被系统自动调用一次*/ public class GcFinalize { private static GcFinalize gcFinalize = null; public void isAli转载 2013-11-21 11:37:25 · 863 阅读 · 0 评论 -
Java 主线程等待子线程执行完再执行
1. Demo1 - thread.join()public class MyTask1 implements Runnable { private int num ; public MyTask1(int num){ this.num = num; } /* * @see java.lang.Runnable#run() */ @Override public原创 2013-11-01 17:18:02 · 2704 阅读 · 0 评论 -
Java 回调机制样例
最近研究Dubbo,涉及到java 回调机制,所以,就看了下这方面的资料1.java回调机制软件模块之间总是存在着一定的接口,从调用方式上,可以把他们分为三类:同步调用、回调和异步调用。同步调用:一种阻塞式调用,调用方要等待对方执行完毕才返回,它是一种单向调用;回 调:一种双向调用模式,也就是说,被调用方在接口被调用时也会调用对方的接口;异步调用:一原创 2013-10-25 11:36:48 · 771 阅读 · 0 评论 -
Java Socket长链接 异步读写 实例
1.Server端package com.bestpay.internet.server;import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.IOException;import java.net.ServerSocket;import java.net.Socket;imp原创 2013-08-22 19:27:58 · 1769 阅读 · 0 评论 -
Java Axis2调用WebService接口异常解决方案
最近写用Axis2写WebService客户端,在Windows环境下运行正常,在Linux环境下包如下异常:Caused by: java.lang.NullPointerException at org.apache.axiom.locator.DefaultOMMetaFactoryLocator.(DefaultOMMetaFactoryLocator.java:64)C原创 2013-08-06 19:42:16 · 6290 阅读 · 0 评论 -
Java JDK/JRE/JVM介绍及区别与联系
1.Java体系结构2 JDK : Java Development ToolKit(Java开发工具包) JDK是整个JAVA的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具(javac/java/jdb等)和Java基础的类库(即Java API 包括rt.jar)。 编译器把java代码编译成字节码,j转载 2013-07-27 22:49:12 · 715 阅读 · 0 评论 -
F5/LVS/Nginx/HAProxy硬软件级网络负载均衡介绍
1 硬件级的负载均衡 常见的商用硬件负载均衡器:NetScaler、F5、Radware、Array 优点: 1)专业团队维护,能够直接通过智能交换机实现,处理能力更强,而且与系统无关,负载性能强 2)更适用于一大堆设备、大访问量、简单应用 缺点: 1)价格贵,花销大 2)不能及时有效掌握服务器及应用状态,硬件负载均衡,一般都不转载 2013-07-30 22:04:42 · 2907 阅读 · 0 评论 -
Eclipse 生产JavaDoc 报 "错误: 编码GBK的不可映射字符" 解决方案
Eclipse 生产JavaDoc 报 "错误: 编码GBK的不可映射字符" 解决方案选择项目右键->export->javadoc->next 直到最后一个选项窗口在Vm options 项输入:-encoding utf-8 -charset utf-8原创 2013-07-24 11:00:31 · 1132 阅读 · 0 评论 -
Spring 开源框架介绍
1. Spring IOC/DI(控制逆转/依赖注入)当某个角色(可能是一个Java实例,调用者)需要另一个角色(另一个Java实例,被调用者)的协助时,在传统的程序设计过程中,通常由调用者来创建被 调用者的实例。但在Spring里,创建被调用者的工作不再由调用者来完成,因此称为控制反转;创建被调用者实例的工作通常由Spring容器来完成,然后注入调用者,因此也称为依赖注入。原创 2013-07-18 20:35:29 · 649 阅读 · 0 评论 -
Java WebService请求方法介绍
1. http 的SOAP协议通过基于HTTP协议的SOAP协议,把编写成XML的REQUEST参数, 放在HTTP BODY上提交个WEB SERVICE服务器。处理完成后,结果也写成XML作为RESPONSE送回用户端, 为了使用户端和WEB SERVICE可以相互对应,可以使用WSDL作为这种通信方式的描述文件,利用WSDL工具可以自动生成WS和用户端的框架文件,SOAP具备把复原创 2013-07-04 19:30:13 · 1963 阅读 · 2 评论 -
推荐几款开发辅助工具(Everything,Beyond Compare,SearchandReplace,Editplus)
1. EditplusEditplus 是一款简单易用的文本工具,支持Java/C/C++/xml/sql 等多种开发语言和脚本。还有sort功能2.SearchandReplace一款快速查找和替换文本的工具,支持各种格式的文本,还能查找压缩包里面的文件,支持正则表达式/区分大小写。看别人的代码时,基本上都是靠此工具来定位代码。唯一有点原创 2013-07-12 19:55:40 · 1698 阅读 · 0 评论 -
日志框架 由Log4j替换为Logback
日志框架 由Log4j替换为Logback1.为什么要替换? 下面引用Logback官方的一句话:“某些关键操作,比如判定是否记录一条日志语句的操作,其性能得到了显著的提高。这个操作在LogBack中需要3纳秒,而在Log4J中则需要30纳秒。LogBack创建记录器(logger)的速度也更快:13毫秒,而在Log4J中需要23毫秒。更重要的是,它获取已存在的记录器只需94纳秒,而原创 2013-08-04 22:30:17 · 2949 阅读 · 0 评论 -
Junit 编写测试用例测试WebService方法
1.编写测试用例WebService方法参考Java Axis2调用WebService接口异常解决方案http://blog.csdn.net/u011270461/article/details/9796559package com.xxx.webservice.axis;import junit.framework.TestCase;/** * @C原创 2013-08-09 19:07:24 · 2923 阅读 · 0 评论 -
Java 日志框架log4j 和logback 打印一条语句所用的时间比较
话不多说,先上代码:/** * @Project: sagtest * @Title: TestLog.java * @Package: com.bestpay.sag.junit.test * @Description: TODO * @Author: weizhi2018 [email protected] * @CreateDate: 2013-8-9 下午0原创 2013-08-09 19:00:09 · 1992 阅读 · 0 评论 -
Java HashCode
1.hashCode()用于返回调用该方法的对象的散列码值,此方法将返回整数形式的散列码值。 在object类中,hashcode()方法是本地方法,返回的是对象的地址值,而object类中的equals()方法比较的也是两个对象的地址 值,如果equals()相等,说明两个对象地址值也相等,当然hashcode()也就相等了。一旦一个类重写equals()方法,通常也会重写 has原创 2013-10-18 17:57:49 · 604 阅读 · 0 评论 -
ThreadPoolExecutor线程池用法研究
1.ThreadPoolExecutor参考:http://dlc.sun.com.edgesuite.net/jdk/jdk-api-localizations/jdk-api-zh-cn/publish/1.6.0/html/zh_CN/api/index.html?java/util/concurrent/ThreadPoolExecutor.html2.Thre原创 2013-10-17 16:53:29 · 860 阅读 · 0 评论 -
Dubbo zookeeper 初探
1.zookeeperhttp://zookeeper.apache.org/ 官网下载,然后安装启动时,需要将 zoo_sample.cfg 改成 zoo.cfg# The number of milliseconds of each ticktickTime=2000# The number of ticks that the initial # synchronizat原创 2013-09-28 22:20:52 · 4994 阅读 · 1 评论 -
Hessian RPC实例
1.hessian-demo-apipackage com.weizhi.hessian.demo.api;/** * @ClassName IRpcService * @Description TODO * @Author weizhi2018 * @Date 2013-9-27 下午02:58:46 * */public interface IRpcServi原创 2013-09-27 19:28:42 · 828 阅读 · 0 评论