java
tmaczt
一个热爱生活的程序员
展开
-
java java.net.InetAddress.getLocalHost阻塞导致数据库连接池无可用连接
背景:线上Tomcat服务启动后很快出现数据库连接池已满未可用连接,每一感觉是因为SQL语句性能问题导致的堵塞,排查Oracle数据库是否存在阻塞并无明显异常,于是有了能过堆栈分析异常的过程。具体过程如下,step 1 :使用jstack生成堆栈信息jstack -l pid > 1.logstep2:分析BLOCKED线程定位BLOCKED线程:"pool-4-thread-1" prio=10 tid=0x000000004882c800 nid=0x532 waiting for mo原创 2022-05-08 21:06:52 · 2216 阅读 · 0 评论 -
Logback 自定义Appender发送预警
1、自定义Appender目的:接收日志消息,现将日志通过http接口发送到预警服务package com.test.service.appender;import ch.qos.logback.classic.spi.LoggingEvent;import ch.qos.logback.core.UnsynchronizedAppenderBase;import org.springframework.web.client.RestTemplate;import java.net.Inet原创 2021-11-03 17:00:17 · 758 阅读 · 0 评论 -
Java与C#请求https默认security protocol的区别
C#默认SSl协议默认SSL协议重置SSL协议HttpClient client = new HttpClient();HttpRequestMessage httpRequestMessage = new HttpRequestMessage(HttpMethod.Get, new Uri(url));//设置SSL协议类型System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | Securi原创 2021-08-10 19:48:21 · 666 阅读 · 0 评论 -
centos7安装nacos2.0.2集群附带nginx配置
1. 官方网址官网:https://nacos.io/zh-cn/Release地址:https://github.com/alibaba/nacos/releases下载地址:https://github.com/alibaba/nacos/releases/download/2.0.2/nacos-server-2.0.2.tar.gz文档地址:https://nacos.io/zh-cn/docs/what-is-nacos.html2.虚拟机信息三台虚拟机,操作系统CentOS7 ,安装原创 2021-08-03 18:03:15 · 2182 阅读 · 5 评论 -
jenkins构建Maven项目
1、安装Maven Integration plugin2、Global Tool Configuration2.1 配置JDK2.2 配置GIT2.3 配置Maven3、配置任务3.1配置任务名称与类型3.2 源码管理3.3 配置凭据3.4 配置Discard old builds3.5 配置Build3.6 配置Post Steps4、构建4.1执行构建4.2 查看构建日志4.3 查看构建结果...原创 2021-08-03 16:07:07 · 141 阅读 · 0 评论 -
java mysql问题汇总
Q1:java.lang.IllegalArgumentException: “Host ‘XXX’ is not allowed to connect to this MySQL server”A1:修改mysql.user表 update mysql.user set Host=’%’ where user=‘root’Q2:java.sql.SQLException: The server time zone valueA2:连接串中增加serverTimezone=UTC...原创 2020-11-25 15:25:25 · 91 阅读 · 0 评论 -
Mybatis 解决异常org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)
1、debug日志出现Property ‘mapperLocations’ was not specified.解决方案:pom文件中build标签中加入如下代码 <resources> <resource> <directory>src/main/java</directory&g...原创 2020-01-04 14:10:36 · 153 阅读 · 0 评论 -
Java json-lib反序列化注意事项
1、反序列化日期类型默认为当前日期//增加反序列化日期的方法JSONUtils.getMorpherRegistry().registerMorpher(new DateMorpher(new String[] { "yyyy-MM-dd HH:mm:ss,SSS","yyyy-MM-dd HH:mm:ss" }), true);JSONObject jsonObject = JSON...原创 2019-11-29 10:25:11 · 312 阅读 · 0 评论 -
Java JSONObject.toBean反序列化大小写问题【解决】
JSONObject.toBean反序列化不区分大小写解决方案static JavaIdentifierTransformer identifierTransformer = new JavaIdentifierTransformer() { @Override public String transformToJavaIdentifier(String str) { char[...原创 2019-07-15 08:54:25 · 3612 阅读 · 0 评论 -
Java WebService获取客户端IP
step 1 获取WebServiceContext: //方法一 @Resource private WebServiceContext context ;//此方法可能为null //方法二 private WebServiceContext context = new org.apache.cxf.jaxws.context.WebServiceContext...原创 2019-05-22 09:53:25 · 444 阅读 · 0 评论 -
Java Tomcat CPU过高问题排查
step 1 :top 查看CPU消耗高的PIDstep 2:jstack保存堆栈跟踪日志jstack 14159 >/app/jstack.logstep 3:vim 查看堆栈跟踪日志 vim /app/jstack.logstep 4:定位并修改问题代码...原创 2019-04-25 17:45:07 · 796 阅读 · 0 评论 -
Java local class incompatible: stream classdesc serialVersionUID
异常原因:java.io.InvalidClassException: com.crm.base.permission.organ.model.OrganBase; local class incompatible: stream classdesc serialVersionUID = -8737497244108424118原创 2019-04-26 13:09:01 · 13326 阅读 · 0 评论 -
Java EL表达式【持续更新】
1、空值处理empty${empty deptName}#包含''和NULL${deptName==null}#只包含NULL${deptName==‘’}#只包含‘’2、三元运算${empty deptName?'':'-' }3、字符串拼接(有坑)${'a'+'b'}#错误写法${'10'+'10'}#20${'a'}${'b'}#ab4、使用函数${fn:sub...原创 2019-04-28 11:49:53 · 563 阅读 · 0 评论 -
java 解决HttpGet出现Illegal character in query异常
问题代码(编译没问题):String strUrl="http://a.cn/send?a=1&b=1|3&mobile=%s&content=%s";strUrl=String.format(strUrl, encryptMobile, content);HttpGet httpGet = new HttpGet(strUrl);异常现象:原因:url址址...原创 2019-04-17 12:06:21 · 9515 阅读 · 6 评论 -
Java struts iterator标签合并单元格
iterator合并样例:&lt;s:iterator value="pageRecord.result" status="prstatus" id="result"&gt; &lt;tr&gt; &lt;s:if test="#prstatus.index == 0"&a原创 2019-01-23 16:39:45 · 250 阅读 · 0 评论 -
Java Jstack排查CPU占用过高问题
背景:交接程序CPU持续90%以上并且一段时间会自己死掉。step1:使用JStack查看程序调用堆栈jstack -l 1544 >> 1.txtstep2:查找线程状态为的RUNNABLE的线程,存在两个线程池在运行。代码截图:具体原因已经很清晰了while(true)并不存在sleep,加上sleep就解决了。总结问题虽小,但值得反思。小问题是可以搞出大...原创 2019-01-15 11:48:07 · 889 阅读 · 0 评论 -
Linux logrotate定时切割tomcat日志文件
logrotate配置如下: 实现效果如下:原创 2018-09-11 14:53:06 · 482 阅读 · 0 评论 -
Java 工厂方法模式
定义:定义一个创建对象的接口,让子类决定实例化哪一个类。 抽象产品类:public abstract class Product { public abstract void detail();}具体产品类:public class Car extends Product { @Override public void detail() { ...原创 2018-09-15 23:11:48 · 111 阅读 · 0 评论 -
Java 抽象工厂模式
定义:为创建一组相关或相互依赖的对象提供一个接口,而且无需指定具体类。抽象产品类:public abstract class Product { /** * 公共方法 */ public void common() { System.out.println("公共方法"); } public abstract void ...原创 2018-09-16 12:01:16 · 109 阅读 · 0 评论 -
Java 模板方法模式
定义:定义一个操作中的算法框架,而将一些步骤延迟到子类中。使得子类可以不改变算法结构的情况重新定义算法的步骤。 优点:封装不变部分,扩展可变部分。行为由父类控制,子类实现。 缺点:子类的执行结果对父类有影响。 抽象模板类:public abstract class Increment { /** * 基本方法 * @return */ pro...原创 2018-09-16 14:16:45 · 256 阅读 · 0 评论 -
Java 代理模式
定义:为其他对象提供一种代理以控制对这个对象的访问。抽象主题接口:public interface Subject { void request();}真实主题类:public class RealSubject implements Subject { @Override public void request() { System.o...原创 2018-09-16 16:47:58 · 84 阅读 · 0 评论 -
Struts 使用Interceptor记录日志
public class LogInterceptor extends AbstractInterceptor { private static final Logger log = Logger.getLogger(LogInterceptor.class); @Override public String intercept(ActionInvocation invo...原创 2018-09-13 10:53:29 · 300 阅读 · 0 评论 -
Java 获取当前时间前一周、月、年的时间
使用Calendar的实现SimpleDateFormat format = new SimpleDateFormat(&amp;quot;yyyy-MM-dd HH:mm:ss&amp;quot;);Calendar calendar = Calendar.getInstance();Date now = new Date();//一周以前calendar.setTime(now);calendar.add(Ca...原创 2018-09-14 10:14:01 · 985 阅读 · 0 评论 -
Maven 本地仓库安装ojdbc14.jar
mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc -Dversion=11.2.0.2.0 -Dpackaging=jar -Dfile=ojdbc14.jar原创 2018-09-14 17:49:11 · 987 阅读 · 0 评论 -
Java 单例模式的几种实现方式
单例模式定义:确保一个类只有一个实例,并且自行实例化。第一种(懒汉,线程不安全):public class Singleton1 { private static Singleton1 instance; private Singleton1() { } public static Singleton1 getInstance() { i...原创 2018-09-14 22:31:17 · 176 阅读 · 0 评论 -
Java Idea如何查看快捷代码缩写(Live Templates)
Idea查看快捷代码缩写step1:step2:原创 2018-10-29 11:28:48 · 3775 阅读 · 0 评论 -
Linux centos7安装Jdk1.8
1、卸载OpenJdk#rpm查看并过滤java安装包rpm -qa | grep java#rpm卸载所有安装包(noarch文件可以不用删除)rpm -e --nodeps java-1.8.0-openjdk-1.8.0.101-3.b13.el7_2.x86_64#查看jdk版本java -version2、安装OracleJdk#解压安装包tar xzf jdk-8u...原创 2018-10-24 17:16:47 · 438 阅读 · 0 评论 -
Java lucene上传文档后搜索不到
现象:线上环境突然出现文档上传后搜索不到。原因:索引目录中生成了write.lock文件解决方案:删除write.lock文件原创 2018-11-19 16:15:22 · 407 阅读 · 4 评论 -
Java 解决Eclipse出现javax.servlet.ServletContext cannot be resolved.
异常提示:The type javax.servlet.ServletContext cannot be resolved. It is indirectly referenced from required .class files解决方法:Build Path添加servlet-api.jar或者添加Server Runtime...原创 2018-12-28 16:29:17 · 6448 阅读 · 0 评论 -
Tomcat 解决Multiple Contexts have a path of “/xxx“
Could not publish server configuration for Tomcat v7.0 Server at localhost. Multiple Contexts have a path of “/xxx”. 去掉server.xml重复的的Context节点原创 2018-09-11 14:38:24 · 762 阅读 · 0 评论