
java
文章平均质量分 60
DADA随记
这个作者很懒,什么都没留下…
展开
-
fastJson null 字符串处理
字符串为null的处理为空字符 private static ValueFilter filter = new ValueFilter() { @Override public Object process(Object obj, String name, Object value) { if (value == null)原创 2017-03-29 14:02:05 · 697 阅读 · 0 评论 -
一个入门rpc框架的学习
参考huangyong-rpc轻量级分布式RPC框架该程序是一个短连接的rpc实现简介RPC,即 Remote Procedure Call(远程过程调用),说得通俗一点就是:调用远程计算机上的服务,就像调用本地服务一样。RPC 可基于 HTTP 或 TCP 协议,Web Service 就是基于 HTTP 协议的 RPC,它具有良好的跨平台性,但其性能却不如基于 TCP转载 2017-03-12 23:52:40 · 766 阅读 · 0 评论 -
配置Log4j(很详细)
Log4J的配置文件(Configuration File)就是用来设置记录器的级别、存放器和布局的,它可接key=value格式的设置或xml格式的设置信息。通过配置,可以创建出Log4J的运行环境。1. 配置文件Log4J配置文件的基本格式如下: #配置根Loggerlog4j.rootLogger = [ level ] , appenderName1 ,转载 2017-03-12 23:44:38 · 253 阅读 · 0 评论 -
Log4j按级别输出日志到不同文件配置分析
定义自己的Appender类,继承DailyRollingFileAppender,改写针对Threshold 的设置说明。源代码记载:public boolean isAsSevereAsThreshold(Priority priority) { return threshold == null || priority.isGreaterOr原创 2017-03-12 23:43:13 · 410 阅读 · 0 评论 -
Java中的Filter过滤器
Filter简介Filter也称之为过滤器,它是Servlet技术中最实用的技术,Web开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp, Servlet, 静态图片文件或静态 html 文件等进行拦截,从而实现一些特殊的功能。例如实现URL级别的权限访问控制、过滤敏感词汇、压缩响应信息等一些高级功能。它主要用于对用户请求进行预处理,也可以对HttpSe转载 2017-03-21 13:44:50 · 265 阅读 · 0 评论 -
struts2升级到2.3.32版本,防止漏洞编号S2-045,CVE编号:cve-2017-5638
2EE框架——Struts2近日被曝存在远程代码执行的严重漏洞。目前Struts2官方已经确认漏洞(漏洞编号S2-045,CVE编号:cve-2017-5638),并定级为高危。由于该漏洞影响范围极广(Struts2.3.5 - Struts 2.3.31, Struts 2.5 - Struts 2.5.10),漏洞危害程度极为严重,可直接获取应用系统所在服务器的控制权限。转载 2017-03-19 07:39:40 · 653 阅读 · 0 评论 -
java的8种排序
转载:http://www.iteye.com/topic/1129454作者:MrLee23 1, 直接插入排序 (1)基本思想:在要排序的一组数中,假设前面(n-1)[n>=2] 个数已经是排好顺序的,现在要把第n个数插到前面的有序数中,使得这n个数也是排好顺序的。如此反复循环,直到全部排好顺序。 (2)实例转载 2017-02-03 21:31:22 · 234 阅读 · 0 评论 -
Spring MVC 解决跨域问题&以及对@RequestBody的理解
本来想学习一下@RequestBody这个注解,但发请求时出现跨域问题,所以就先来看一下跨域该怎么办。CORS首先因为最近在做一个前后端分离的项目,分开就意味着可能不在一个域中,所以不可避免的遇到CORS的问题。试过几个方法:Spring MVC 4.2.5以后新增的支持跨域的注解@CrossOrigin,如果是老项目的话升级spring库可能会有些兼容的问题,不知为什么这转载 2017-01-20 15:02:20 · 3629 阅读 · 1 评论 -
使用jmc监控远程tomcat
jmc(Java mission control)是JDK自带的一个图形界面监控工具,监控信息非常全面。他的安装目录在%JAVA_HOME%\bin\jmc.exe下面讲一下我使用jmc监控远程tomcat的过程。1. 服务端配置服务器环境:Linux+tomcat7+jdk7进入tomcat安装目录安装找到catalina.sh文件,在CATALINA转载 2017-05-16 10:04:31 · 8891 阅读 · 0 评论 -
Java 进行 RSA 加解密时不得不考虑到的那些事儿
1. 加密的系统不要具备解密的功能,否则 RSA 可能不太合适公钥加密,私钥解密。加密的系统和解密的系统分开部署,加密的系统不应该同时具备解密的功能,这样即使黑客攻破了加密系统,他拿到的也只是一堆无法破解的密文数据。否则的话,你就要考虑你的场景是否有必要用 RSA 了。2. 可以通过修改生成密钥的长度来调整密文长度生成密文的长度等于密钥长度。密钥长度越大,生成密文的长度也就越大,加密的转载 2017-07-16 06:35:13 · 839 阅读 · 0 评论 -
Java开发统一日志格式
一、日志配置<?xml version="1.0" encoding="UTF-8"?><configuration> <!-- 尽量别用绝对路径,如果带参数不同容器路径解释可能不同,以下配置参数在pom.xml里 --> <property name="log.root.level" value="${log.root.l原创 2018-12-11 20:10:34 · 4524 阅读 · 0 评论 -
全链路监控(一):方案概述与比较
0 问题背景随着微服务架构的流行,服务按照不同的维度进行拆分,一次请求往往需要涉及到多个服务。互联网应用构建在不同的软件模块集上,这些软件模块,有可能是由不同的团队开发、可能使用不同的编程语言来实现、有可能布在了几千台服务器,横跨多个不同的数据中心。因此,就需要一些可以帮助理解系统行为、用于分析性能问题的工具,以便发生故障的时候,能够快速定位和解决问题。全链路监控组件就在这样的问题背景下产...转载 2019-06-14 14:18:35 · 820 阅读 · 0 评论 -
Spring 里用fastjson解析json对象时报错default constructor not found. class
Spring 里用fastjson解析json对象时报错default constructor not found. class 主要原因是,实体Bean类缺少一个空的构造函数,加上空构造函数就可以了。如:public class UserModel{ int id; String name; public UserModel(){ sup...原创 2019-06-01 06:47:22 · 1741 阅读 · 0 评论 -
Intellij IDEA Debug调试技巧
快捷键F9 resume programe 恢复程序Alt+F10 show execution point 显示执行断点F8 Step Over 相当于eclipse的f6 跳到下一步F7 Step Into 相当于eclipse的f5就是 进入到代码Alt+shift+F7 Force Step Into 这个是强制进入代码Shift+F8 Step Out 相当于eclipse...转载 2019-05-12 07:46:18 · 626 阅读 · 0 评论 -
Maven详解
一.前言 以前做过的项目中,没有真正的使用过Maven,只知道其名声很大,其作用是用来管理jar 包的。最近一段时间在项目过程中使用Maven,用Maven构建的web项目,其项目结构只停留在了解阶段,没有深入的使用与理解,刚好最近看了一篇关于Maven的详解;就开始深入学习一下Maven的具体应用。二.Maven的作用在开发中,为了保证编译通过,我们会到处去寻找jar包,当编译...转载 2019-03-23 04:46:04 · 174 阅读 · 0 评论 -
Tomcat native-APR警告问题
1. 下载并编译APR下载APR在终端编译APRcd /<your_apr_dir>/aprCFLAGS='-arch x86_64' ./configuremakemake install2. 下载并编译APR-util下载APR-util在终端编译APR-utilcd /<your_apr-util_dir>/apr-uti...转载 2019-03-06 07:02:24 · 532 阅读 · 0 评论 -
短链(ShortURL)的Java实现
什么叫短链或短址?就是把长的 URL 转成短的 URL, 现在提供这种服务的有很多公司,我们以google家的 URL shortener 服务:http://goo.gl/为例。 任何长网址都会转换成6位由大小写字母和数字组合而成的短址,例如:http://goo.gl/QfuI3i。长网址和短址都会存在google服务器,当我们请求http://goo.gl/QfuI3i这个短址,...转载 2019-02-12 11:11:22 · 2427 阅读 · 0 评论 -
Tomcat独自引入jdk
在 catalina.sh 顶部加入以下信息:export JAVA_HOME=/usr/java/jdk1.7.0_80export JRE_HOME=/usr/java/jdk1.7.0_80/jre原创 2017-01-19 21:30:39 · 411 阅读 · 0 评论 -
centos6.5宽带拨号上网
CentOS6以后要安装rp-pppoe这个软件,centos之前的版本是adsl-setup命令安装。(1)查看是否安装#rpm -qa|grep rp-pppoe没有内容输出则没安装,若可以联网使用# yum install rp-pppoe 无法联网则:CentOS安装盘放入光驱挂载光盘#mount /dev/cdrom /media找出文件路径转载 2017-01-16 18:07:37 · 1939 阅读 · 0 评论 -
windows与linux下执行.class(包含main方法)
一般来说,执行一个Java文件采用执行jar包的方式最为方便(java -jar XXX.jar),将所需要的文件全部打到一个jar里,但是有些时候需要执行指定的.class文件才行(各种原因),这个时候就需要我们使用 -classpath 参数来指定类路径。 windows:假设要执行的文件为D:/test/Test.class1.在cmd下进入D盘2.执行Java te转载 2017-01-16 17:36:31 · 407 阅读 · 0 评论 -
HikariCP logoJDBC 连接池 HikariCP
HikariCP 是一个高性能的 JDBC 连接池组件。使用方法:?12345678910HikariConfig config = new HikariConfig();config.setMaximumPoolSize(100);con原创 2016-06-07 13:33:13 · 2140 阅读 · 0 评论 -
Java 加密 AES 对称加密算法
AES】一种对称加密算法,DES的取代者。加密相关文章见:Java 加密解密 对称加密算法 非对称加密算法 MD5 BASE64 AES RSA【代码】代码比较多,有一部分非本文章内容代码,具体自己看吧。[java] view plain copy package com.uikoo9.util.e转载 2016-04-20 17:37:41 · 438 阅读 · 0 评论 -
禁止 Httpclient4.3 自动跳转
设置如下:RequestConfig requestConfig = RequestConfig.custom().setRedirectsEnabled(false).build();httpGet.setConfig(requestConfig);原创 2016-05-27 17:28:59 · 536 阅读 · 0 评论 -
HttpPost实现Request Payload
HttpPost实现Request Payload Ajax原生态请求方式StringEntity stringEntity = new StringEntity("{header:{\"code\":0,\"message\":{\"title\":\"\",\"detail\":\"\"}},body:{dataStores:{},parameters:{\"p1\":\"p1\",\原创 2016-04-11 16:02:18 · 8914 阅读 · 1 评论 -
JAVA_HOME环境变量失效的解决办法
晚上把oracle自带的weblogic给卸载了,然后打开eclipse,发现报错了:Error: could not open `C:\Java\jre7\lib\amd64\jvm.cfg'JAVA_HOME的环境变量值根本不是这个目录,到CMD命令窗口下,用echo %JAVA_HOME%,也显示正常,但是java -version时,显示java的home目录仍然是C:\Jav转载 2016-04-13 10:34:28 · 1506 阅读 · 0 评论 -
基于java的网络抓包方法
一、实验内容描述本实验是用java实现的网络抓包程序,在windows环境下安装winpcap4.0和jpcap6.0后,下载eclipse和jigloo插件(一种在eclipse底下作图形化开发的工具),将其安装好,然后就可以进行java的网络抓包图形化开发了。二、原理与关键技术2.1 网络抓包技术原理网络层上有各种各样的数据包,它们以不同的帧格式在网络层上进行传转载 2016-04-13 05:46:18 · 2615 阅读 · 0 评论 -
修改Hosts文件
package host; import java.awt.Color;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.io.ByteArrayOutputStream;import java.io.File;import java.io.FileInp转载 2016-04-01 11:01:16 · 401 阅读 · 0 评论 -
httpClient上传下载文件
/** * 上传文件 * @throws ParseException * @throws IOException */ public static void postFile(InputStream inputStream)throws ParseException, IOException{ CloseableHttpClie原创 2016-04-07 10:18:06 · 414 阅读 · 0 评论 -
Keep-Alive简介及在Tomcat中配置
Keep-Alive功能使客户端到服务器端的连接持续有效,当出现对服务器的后继请求时,Keep-Alive功能避免了建立或者重新建立连接。市场上 的大部分Web服务器,包括iPlanet、IIS和Apache,都支持HTTP Keep-Alive。对于提供静态内容的网站来说,这个功能通常很有用。但是,对于负担较重的网站来说,这里存在另外一个问题:虽然为客户保留打开的连 接有一定的好处,但它同样转载 2016-06-24 14:54:50 · 6451 阅读 · 0 评论 -
Java实现图片与base64位编码互相转换
Base64目前主要用于HTML5、移动开发等不考虑IE6的场景中。Base64格式data:[][;charset=][;base64],Base64 在CSS中的使用.demoImg{ background-image: url("data:image/jpg;base64,/9j/4QMZRXhpZgAASUkqAAgAAAAL...."); }Base64 在HTML中的使用原创 2016-06-03 17:01:55 · 1338 阅读 · 0 评论 -
java UnicodeHtml
java UnicodeHtmlpublic class UnicodeHtml {/*** @param args*/public static void main(String[] args) {// TODO Auto-generated method stubString inStr = "dfadf\\uCN吉林长春|None|CERNET原创 2016-07-22 16:53:45 · 612 阅读 · 0 评论 -
Ajax跨域名访问实现方式
1 :在接受的服务器上header设置可以接受的域 ,如:接受服务器:http://test2.domanname.com:8888 ,发送服务器域名为:http://test1.domanname.com:8000Access-Control-Allow-Origin: http://test1.domanname.com:8000Vary: OriginAccess-Contr原创 2016-12-16 18:48:50 · 417 阅读 · 0 评论 -
maven依赖关系中Scope的作用
Dependency Scope 在POM 4中,中还引入了,它主要管理依赖的部署。目前可以使用5个值: * compile,缺省值,适用于所有阶段,会随着项目一起发布。 * provided,类似compile,期望JDK、容器或使用者会提供这个依赖。如servlet.jar。 * runtime,只在运行时使用,如JDBC驱动,适用运行和测试阶段转载 2016-12-08 13:43:38 · 389 阅读 · 0 评论 -
Netty系列之Netty高性能之道
1. 背景1.1. 惊人的性能数据最近一个圈内朋友通过私信告诉我,通过使用Netty4 + Thrift压缩二进制编解码技术,他们实现了10W TPS(1K的复杂POJO对象)的跨节点远程服务调用。相比于传统基于Java序列化+BIO(同步阻塞IO)的通信框架,性能提升了8倍多。事实上,我对这个数据并不感到惊讶,根据我5年多的NIO编程经验,通过选择合适的NIO框架,加上高转载 2016-12-04 23:07:49 · 398 阅读 · 0 评论 -
Spring mvc无法接受到大数据字段处理
1 :Spring mvc 用@RequestBody 方式,接收方法如下: @RequestMapping(value = "testRecieve") @ResponseBody public String testRecieve(@RequestBody String resultJson) { resultJson = HttpUtls.url原创 2016-12-14 19:36:39 · 1641 阅读 · 2 评论 -
java实现字符串转换成可执行代码
使用commons的jexl可实现将字符串变成可执行代码的功能,我写了一个类来封装这个功能:Java代码 import java.util.Map; import org.apache.commons.jexl2.Expression; import org.apache.commons.jexl2.JexlContext; import o转载 2016-08-26 14:33:11 · 3859 阅读 · 0 评论 -
得到本MAC、IP地址
import java.net.*;import java.util.*;/* * 物理地址是48位,别和ipv6搞错了 */public class LocalMAC { /** * @param args * @throws UnknownHostException * @throws SocketException */ p原创 2016-08-04 23:21:44 · 2327 阅读 · 1 评论 -
java的btoa、atob
java实现javascript 的 btoa、atobimport java.util.regex.Matcher;import java.util.regex.Pattern;public class BtoAAtoB { public static void main(String[] argssss){ Str原创 2016-07-21 16:53:55 · 5652 阅读 · 1 评论 -
tomcat .do发布是虚拟目录无法访问
tomcat .do发布是虚拟目录无法访问server.xml配置把 prefix="localhost_log." suffix=".txt" pattern="%h %l %u %t "%r" %s %b" />原创 2016-07-04 17:31:43 · 817 阅读 · 0 评论 -
Java并发编程:线程池的使用
在Java中可以通过线程池来达到这样的效果。今天我们就来详细讲解一下Java的线程池,首先我们从最核心的ThreadPoolExecutor类中的方法讲起,然后再讲述它的实现原理,接着给出了它的使用示例,最后讨论了一下如何合理配置线程池的大小。 以下是本文的目录大纲: 一.Java中的ThreadPoolExecutor类 二.深入剖析线程池实现原理 三.使用示例 四转载 2016-01-05 17:08:33 · 363 阅读 · 0 评论