![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JAVA
xiao_jun_0820
要自己每天都开心,不要烦恼
忘掉压力,天天好心情
展开
-
springmvc web项目实现动态改变log4j日志输出
线上环境的log输出级别一般都设置的很高比如WARN,如果出现一些很难直观解决的问题,可能需要调整日志输出级别为DEBUG,又不想改个日志输出级别还要重启服务,那么可以考虑一下如下方法:通过在web.xml中添加如下配置: log4jConfigLocation classpath:log4j.properties log4jRefreshInterval原创 2016-09-15 18:28:54 · 3983 阅读 · 1 评论 -
spring webmvc如何编写service 和controller的单元测试
首先编写一个测试基类:package com.kingnet.xydb.web.basetest;import org.junit.Before;import org.junit.runner.RunWith;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.ht原创 2016-06-17 10:33:17 · 5418 阅读 · 1 评论 -
关于google的GsonBuilder中的2个设置
不吹不黑,google的gson一直是我最喜欢用的json序列化反序列化类库,用起来挺方便的。下面介绍一下GsonBuilder的两个设置,1 excludeFieldsWithoutExposeAnnotation()序列化时移除那些没有打上@Expose标签的属性2 setDateFormat(String pattern)设置序列化时日期的序列化格式下面举个栗子~原创 2016-06-29 20:07:21 · 1154 阅读 · 0 评论 -
各种奇奇怪怪的日期格式转换
原创 2016-06-29 15:31:24 · 1063 阅读 · 0 评论 -
Java反射机制
转自:http://blog.csdn.net/jackiehff/article/details/8509075目录(?)[+] 前言 本文是我整理的Java反射的一些知识,其中大部分内容是翻译http://tutorials.jenkov.com/java-reflection/index.html的。1. Java反射简介转载 2016-06-13 16:04:18 · 518 阅读 · 0 评论 -
ExecutorService-10个要诀和技巧
http://ifeve.com/executorservice-10-tips-and-tricks/ExecutorService抽象概念自Java5就已经提出来了,现在是2014年。顺便提醒一下:Java5和Java6都已不被支持,Java7在半年内也将会这样。我提出这个的原因是许多Java程序员仍然不能完全明白ExecutorService到底是怎样工作的。还有很多地方要去学习转载 2016-06-28 15:13:54 · 684 阅读 · 0 评论 -
Custom DailyRollingFileAppender with MaxBackupIndex
http://wiki.apache.org/logging-log4j/DailyRollingFileAppenderDailyRollingFileAppender是不支持最大备份数设置的(RollingFileAppender支持该属性,但是又不能按时间滚动),为了达到这个目的而又不想单独写个定时脚本去手动清理日志目录,我们必须自定义一个DailyRollingFileAppe转载 2016-06-12 13:21:29 · 1984 阅读 · 0 评论 -
Spring MVC测试框架详解——服务端测试
转自:http://jinnianshilongnian.iteye.com/blog/2004660随着RESTful Web Service的流行,测试对外的Service是否满足期望也变的必要的。从Spring 3.2开始Spring了Spring Web测试框架,如果版本低于3.2,请使用spring-test-mvc项目(合并到spring3.2中了)。 Sp转载 2016-05-30 18:34:56 · 1245 阅读 · 0 评论 -
JMS详细说明与应用(ACTIVEMQ)
转自:http://langgufu.iteye.com/blog/21573991. 背景 当前,CORBA、DCOM、RMI等RPC中间件技术已广泛应用于各个领域。但是面对规模和复杂度都越来越高的分布式系统,这些技术也显示出其局限性:(1)同步通信:客户发出调用后,必须等待服务对象完成处理并返回结果后才能继续执行;(2)客户和服务对象的生命周期紧转载 2016-03-25 18:08:49 · 1850 阅读 · 0 评论 -
理解Java虚拟机体系结构
转自:http://www.cnblogs.com/lao-liang/p/5110710.html1 概述 众所周知,Java支持平台无关性、安全性和网络移动性。而Java平台由Java虚拟机和Java核心类所构成,它为纯Java程序提供了统一的编程接口,而不管下层操作系统是什么。正是得益于Java虚拟机,它号称的“一次编译,到处运行”才能有所保障。1.转载 2016-03-25 18:07:04 · 697 阅读 · 0 评论 -
使用Hystrix守护应用(1)
http://ningandjiao.iteye.com/blog/2171185Hystrix(https://github.com/Netflix/Hystrix)是Netflix(https://www.netflix.com/global)的一个开源项目,主要作用是通过控制那些访问远程系统、服务和第三方库的节点,从而对延迟和故障提供更强大的容错能力。 其可以看做是Netflix团队转载 2016-02-17 14:02:33 · 2336 阅读 · 0 评论 -
从技术细节看美团的架构
很多人认为,电商都没有什么技术含量,电商没有什么门槛,入门的门槛并不高,电商很痛苦,需要不停地去扫街,不停地去拜访各个商家,要在用户和商家之间拉客接客。国内曾经出现的团购类网站有6400多家,到四年多以后的现在,美团已经是成为国内最大的本地生活服务平台,不管怎么说,现在美团在这些电商,至少团购类的电商里边是走的比较成功的,如果说电商真的是没有门槛,那难道说美团走到现在是因为幸运吗?那必转载 2016-01-25 09:56:49 · 2940 阅读 · 0 评论 -
用java语言实现事件委托模式
http://blog.csdn.net/yanshujun/article/details/6494447事件委托模式是一个比较常用的设计模式,但是Java语言本身没有对其做一定的封装,因此实现起来有一定难度(了解原理后很简单),相比之下.NET就容易了很多。身为一个Java爱好者,怎么向这样一个小困难低头,但是上网搜索,却没发现相关解决方案,得,自己来做一个封装吧。转载 2017-06-02 18:32:46 · 1443 阅读 · 0 评论 -
freemarker的DatabaseTemplateLoader从数据库中获取模板信息
import com.kingnet.xyzs.orm.dao.DmsMdTemplateConfigMapper;import com.kingnet.xyzs.orm.entity.DmsMdTemplateConfig;import freemarker.cache.TemplateLoader;import org.springframework.beans.factory.anno原创 2016-09-08 13:57:52 · 6507 阅读 · 0 评论 -
常见文件字节码格式
http://www.onicos.com/staff/iz/formats/http://www.onicos.com/staff/iz/formats/gzip.htmlgzip formatByte order: Little-endianOffset Length Contents 0 2 bytes magic header转载 2017-07-20 17:24:39 · 1170 阅读 · 0 评论 -
使用Apache commons-maths3-3.6.1.jar包进行简单的数据统计分析(java)
package com;import org.apache.commons.lang.math.Range;import org.apache.commons.lang3.StringUtils;import org.apache.commons.math3.stat.StatUtils;import org.apache.commons.math3.stat.descriptive....转载 2019-02-14 18:10:49 · 5442 阅读 · 2 评论 -
自己动手实现一个简单的ORM框架
这里写自定义目录标题一个最简单的ORM总结下来就两部分:解析自定义注解,生成元数据信息生成一个动态代理最后,我们测试一下功能一个最简单的ORM总结下来就两部分:* 根据entity上的自定义注解生成mapping元数据信息* 生成mapper接口的动态代理,根据具体的方法,动态生成sql并执行sql,然后通过反射的方式映射到具体的实体对象上去解析自定义注解,生成元数据信息首先我们先定义...原创 2018-11-19 16:38:47 · 2913 阅读 · 0 评论 -
阿里重磅开源在线分析诊断工具Arthas(阿尔萨斯)
github地址:ArthasEnglish version goes here.Arthas 是Alibaba开源的Java诊断工具,深受开发者喜爱。当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决:这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception? 我改的代码为什么没有执行到?难道是我没 commit?分支搞错了? 遇到问题无法...转载 2018-09-19 16:57:23 · 98833 阅读 · 7 评论 -
Spring Cloud中Hystrix 线程隔离导致ThreadLocal数据丢失
http://www.spring4all.com/article/948在Spring Cloud中我们用Hystrix来实现断路器,Zuul中默认是用信号量(Hystrix默认是线程)来进行隔离的,我们可以通过配置使用线程方式隔离。在使用线程隔离的时候,有个问题是必须要解决的,那就是在某些业务场景下通过ThreadLocal来在线程里传递数据,用信号量是没问题的,从请求进来,但后续的流程都是通...转载 2018-03-27 09:26:53 · 1965 阅读 · 2 评论 -
基于JAVA的模块化开发框架JarsLink
阿里妹导读:JarsLink是一个基于JAVA的模块化开发框架,它提供在运行时动态加载模块(JAR包)、卸载模块和模块间调用的API,它能够帮助你进行模块化开发,也能帮助你的系统在运行时动态添加新功能,减少编译、打包和部署带来的发布耗时,同时它也是阿里巴巴的开源项目之一,目前在蚂蚁金服微贷事业群各团队广泛使用。开源地址:https://github.com/alibaba/jarslink需求背景...转载 2018-03-22 16:54:08 · 743 阅读 · 0 评论 -
关于protostuff序列化使用的注意事项
网上看了许多关于protostuff序列化和json序列化性能的对比,普遍表示protostuff序列化后的大小要比json序列化后的大小要小,但是我今天在将一个比较大的数组通过两种不同的方式序列化的时候,发现protostuff的大小比json要大很多。顿时有点怀疑人生,经过反复的测试发现了其中的原因。问题复现:假设原始数据是一个类似这样的json字符串(我把里面数组的元素拷贝了520个原创 2017-12-27 17:51:28 · 5318 阅读 · 0 评论 -
由springcloud ribbon的 @LoadBalanced注解的使用理解
在使用springcloud ribbon客户端负载均衡的时候,可以给RestTemplate bean 加一个@LoadBalanced注解,就能让这个RestTemplate在请求时拥有客户端负载均衡的能力: @Bean @LoadBalanced RestTemplate restTemplate() { return new RestTemplate()原创 2017-12-27 22:40:46 · 32730 阅读 · 14 评论 -
使用jOOR简化反射操作
maven依赖: org.jooq joor 0.9.6项目地址:https://github.com/jOOQ/jOOR对java反射的一个封装,简化反射使用和使代码更简洁。OverviewjOOR stands for jOOR Object Oriented Reflection. It is a simple wra原创 2017-08-29 11:19:58 · 2347 阅读 · 0 评论 -
java 中使用ScriptEngine执行javascript脚本代码和使用中应该注意的事项
我们都知道在使用elasticsearch的时候可以配置类似script_score这种执行一个脚本来改变文档得分,script_score可以指定lang参数,可选有groovy(默认值),javascript,native。脚本中可以使用一些提前传入的变量,入_score,doc等等可以获取目前的得分,或者获取原始文档的一些信息用来改变评分。总之就是它会执行你配置的这一段脚本代码。有时原创 2017-08-01 10:38:14 · 20213 阅读 · 2 评论 -
Java程序员必备的IntelliJ IDEA插件
Eclipse的慢、卡顿、崩溃常常挑动程序员们的神经和忍耐力。除了更换性能更好的电脑,还有别的选择吗?推荐大家使用另一款java 开发软件:IntelliJ IDEA。它是目前最好最强最智能的java ide,已集成了几乎所有主流的开发工具和框架。常见的IDEA插件主要有如下几类:常用工具支持Java日常开发需要接触到很多常用的工具,为了便于使用,很转载 2017-07-18 10:45:08 · 449 阅读 · 0 评论 -
中国自然语言处理开源组织https://github.com/NLPchina
中国自然语言处理开源组织:https://github.com/NLPchinamark一个,最近在用word2vec原创 2015-12-18 12:02:50 · 5543 阅读 · 2 评论 -
各种获取Resource资源的方法
import java.io.File;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.Reader;import java.net.URL;import java.net.URLConnection;import java.ni原创 2015-12-17 13:35:38 · 7445 阅读 · 0 评论 -
解决gson将Integer默认转换成Double的问题
首先javascript只有这些个类型:1、Number 在JavaScript中的双精度浮点格式 2、String 双引号的反斜杠转义的Unicode 3、Boolean true 或 false 4、Array 值的有序序列 5、Value 它可以是一个字符串,一个数字,真的还是假(true/false),空(null )等 6、Object 无序集合键值对 7、W原创 2015-12-09 09:36:47 · 29179 阅读 · 3 评论 -
Servlet Listener用法
由于工作需要,最近在找一些解决方案,发现Listener是一个很好的东西, 能够监听到session,application的create,destroy,可以监听到session,application 属性绑定的变化,考虑了一下,可以应用在"在线人数统计","数据缓存"等各个方面,下面是整理的一些资料.Listener是Servlet的监听器,它可以监听客户端的请求、服务端转载 2012-02-01 11:53:59 · 6871 阅读 · 2 评论 -
GET方式传递中文参数乱码的问题
今天在做文件下载功能,发现传递中文文件名为参数时在ACTION中获取显示为乱码,然后去网上找了很久资料,说是需要URLEncoder和URLDecoder,然后我试着改写buffer.append("<a href='" + request.getContextPath() + "/fileDownload.do?filename=" + URLEncoder.encode(file原创 2012-01-30 19:08:29 · 14839 阅读 · 0 评论 -
validate验证索引属性
struts-configz 中的FormBean和Actionmapping配置如下: <action attribute="testValidatorForm" input="/form/testValidator.jsp" name="testValidatorForm" path="/testValidator"原创 2012-01-30 10:28:29 · 1074 阅读 · 0 评论 -
解决struts中<html:form>提交中文时乱码问题
继承RequestProcessor重写process方法: package com.xj.struts.common;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.http.HttpServletRequest;import javax.servl原创 2012-01-17 16:25:22 · 1586 阅读 · 1 评论 -
logic:iterate用法
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { LoginForm loginForm = (LoginForm) form;// TODO Auto-generated me原创 2012-01-11 18:14:26 · 2474 阅读 · 1 评论 -
struts 中foward中的redirect属性的注意点
<forward name="error" path="/form/login_error.jsp" redirect="true" /> public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest req原创 2012-01-11 16:27:53 · 879 阅读 · 0 评论 -
三种statement用法
Statement 主要用来执行查询操作executeQuery,不引入事务操作PrepareStatement主要用来执行增删改操作executeUpdate,引入事务的操作CallableStatement用来执行存储过程CallableStatement cs = conn.prepareCall("{call procname}");ResultSet rs = cs.ex原创 2012-01-11 11:17:44 · 2323 阅读 · 0 评论 -
JDBC 事务操作注意点
StateMent :executeQuery时不能开启手动事务,不然ResultSet返回不了数据executeUpdate时可以开启手动事务进行处理。原创 2012-01-11 10:22:08 · 679 阅读 · 0 评论 -
获取WEBLOGIC控制台配置的JNDI数据源,并创建Connection
package Beans;import java.util.Map;import java.util.HashMap;import javax.naming.Context;import javax.naming.InitialContext;import javax.naming.NamingException;import javax.sql.DataSo原创 2012-01-11 10:30:37 · 4599 阅读 · 0 评论 -
测试 logic:empty,notEmpty 以及 logic:present,notPresent
Action中的execute写如下代码:request.setAttribute("attr1", null); request.setAttribute("attr2", ""); request.setAttribute("attr3", new ArrayList()); request.setAttribute("attr4", new UserInfo());原创 2012-01-11 17:08:27 · 1380 阅读 · 0 评论 -
java web工程中获取根目录的方法
1 若是在JSP或是servlet中要获得虚拟根目录的话,可以使用config.getServletContext().getRealPath("/")或者是application.getRealPath("/")或是request.getRealPath("/") 2若要在JavaBean中获得虚拟根目录的话,可以这样实现(首先要明确JavaBean也是在JSP或是SERVLET中使用)原创 2009-03-11 10:33:00 · 6348 阅读 · 2 评论 -
JavaBean的三个特点
JavaBean有三个特性:1、javaBean必须是一个public的类2、JavaBean有一个不带参数的构造函数,如果public类的构造函数包含参数的话,那这个类不能做为JavaBean3、JavaBean通过 getProperty获取属性,通过setProperty设置属性 声明JavaBean:使用JavaBean: 注意使用时的name属性要和原创 2009-02-06 11:27:00 · 14098 阅读 · 1 评论