
JAVA
蜗牛大侠
这个作者很懒,什么都没留下…
展开
-
GIt 设置问题导致文件换行不一致
Git 换行原创 2022-10-24 15:58:46 · 2422 阅读 · 0 评论 -
关于Apache Log4j 2.18.0使用OSGI后报错研究
log4j原创 2022-08-20 09:29:11 · 716 阅读 · 0 评论 -
Java静态代码块中静态变量初始化报错
Web服务器中使用Java类中某个参数是从文件中读取的,所以使用了静态代码块读取文件并给静态变量赋值,但是因为某种原因Web服务器突然报错某个空指针异常,但是堆栈报错信息追踪不到具体的错误文件的行数。最后查看原来静态代码块读取文件的文件内容是有问题,但是因为代码处于静态代码块中所以报出错误为Error级别的异常,所以catch 异常没用catche住。所以无法追踪问题位置。...原创 2022-01-06 19:41:25 · 1559 阅读 · 0 评论 -
URLEncode简单理论分析
1.了解URLEncode 需要学习RFC3986。啥是RFC3986?RFC3986文档标题为:Uniform Resource Identifier (URI): Generic Syntax翻译为:统一资源标识符(URI):通用语法我理解RFC就是一种公约类文档,互联网大多数时候我们需要遵守各种各样的公约,其中比较多的就是RFC的公约。就像生产汽车轮胎的厂家和生产汽车的厂家一定有关于轮胎和汽车的规格的文件就是公约。如果生产的轮子过大或者过小则无法装在汽车上。RFC3986就是关于URI的公约原创 2021-08-02 17:32:57 · 512 阅读 · 0 评论 -
URL编码中的空格问题
一.这个要看你实现什么标准的URLEncode的了。1.在1994年订立的RFC1738中。对字符串中除了-_.三个字符之外的所有非字母数字字符都替换成百分号(%)后跟两位十六进制数。十六进制数中字母必须为大写。2.在2005年定义的RFC3986中,将针对- _.~(可见又扩充了一个波浪线字符)四个字符之外的所有非字母数字字符进行百分号编码。在Java和PHP当中,由于历史原因,导致在进行URLEncode的时候,会将空格编码为+,而不是编码为十六进制编码%203.在php当中也提供了标准原创 2021-08-02 10:38:36 · 4683 阅读 · 0 评论 -
PFX文件提取公钥私钥
方法1:原版PFX证书openssl pkcs12 -in myssl.pfx -nodes -out server.pem提取私钥openssl rsa -in server.pem -out server.key提出公钥openssl x509 -in server.pem -out server.crt方法2:2.从pfx提取密钥信息,并转换为key格式(pfx使用pkcs12模式补足) (1)提取密钥对 openssl pkcs12 -in 1.pfx...转载 2021-07-15 09:40:07 · 4772 阅读 · 0 评论 -
从rsa公钥中提取N和E
1、从rsa公钥中提取N和E–python实现#!/usr/bin/env python3from Crypto.PublicKey import RSApath = ''with open(path) as f: key = RSA.import_key(f.read()) print('e = %d' % key.e) print('n = %d' % key.n)2、openssl命令行实现openssl rsa -inform PEM -in Key0转载 2021-07-15 08:50:05 · 3016 阅读 · 2 评论 -
Java Split函数被坑
split函数String a = "a,a,a,a"; System.out.println(a.split(",").length); //结果为4 String a = "a,,,4"; System.out.println(a.split(",").length); //结果为4 String a = "a,a,,"; System.out.println(a.split(",").length); //结果为2转载 2021-07-09 16:51:41 · 797 阅读 · 0 评论 -
ES搜索聚合计算精度问题解决
需要注意以下两点1.访问ES搜索返回数据有通过doc或者params 两种方式。如果数据是浮点类型则必须使用params['_source']['name'] 方式进行范围,doc['name']方式会精度丢失。2.使用ES聚合函数或者计算时候请先把浮点类型转成整形计算,否则聚合后也会出现精度丢失。例子如下:如果money是有两位小数。"sum": { "script": { "lang":"painless" "inline":"def...原创 2021-05-10 10:21:44 · 2644 阅读 · 1 评论 -
不可见字符分析
ASCII中存在一些不可见字符,在用户使用网站文本框输入的时候或者使用文件上传内容的时候可能包含这些不可见字符,对于后端程序不友好进入数据库后也非常难处理。不可见字符范围0-32,127 。32代表空格,127代表删除命令。如果对字符串使用trim方法,方法源码是对字符串前后包含的小于等于32的字符进行去除。但是没有去除字符串中的不可见字符。所以需要自己编写代码进行处理。代码如下:public static String trim(String val) { String result ...原创 2021-02-05 15:39:24 · 3828 阅读 · 0 评论 -
ANT 构建中文件版本号的替换
由于WEB网页端文件存在JS代码缓存问题。所以每次打包都需要手动修改文件版本号比较麻烦,所以需要ANT构建的时候直接使用任务修改修改版本<replaceregexp byline="true" flags="g"> <regexp pattern="\?v=[0-9\.]+"/> <substitution expression="?v=${tms}"/> ...原创 2020-10-21 14:57:54 · 353 阅读 · 0 评论 -
JAVA几种情况下的编译错误JDK1.8
1.代码中直接定义float没有给出数字后的f或F后缀,会出现编译错误,如float f=5.2;2.局部变量只有声明没有初始化赋值或者让编译器知道已经赋值直接去使用,会出现编译错误,如int a;if(a==10){ }3.instanceof 操作符明显的类型不同,会出现编译错误,如Integer a = 100;if(a instanceof Stri...原创 2019-11-02 09:24:12 · 2677 阅读 · 0 评论 -
用户付费渗透率再研究
“”阅读器付费渗透率今天所谈到的其实是关于新增付费用户研究模型的内容,谈到模型,有时候我们过于神话了,模型最后其实就是一套方法论,我自己觉得这倒是自己思维思考最后落地的一个载体,只有经历以上的过程才是一个模型。今天的内容算是对用户付费渗透率的再研究,可以肯定的一点是我们之前对付费用户金字塔的研究对象包含了所有付费用户,我们转载 2014-07-23 10:32:55 · 5304 阅读 · 0 评论 -
android in_app billing Signature verification failed.
今天测试in_app billing 时,发现Security.java总是会出现 ‘Signature verification failed’ 的提示错误:/** * Verifies that the signature from the server matches the computed * signature on the data.转载 2014-05-27 11:49:01 · 5112 阅读 · 0 评论 -
Coder类见 Java加密技术(一)
接下来我们介绍典型的非对称加密算法/数字签名算法——RSA RSA 这种算法1978年就出现了,它是第一个既能用于数据加密也能用于数字签名的算法。它易于理解和操作,也很流行。算法的名字以发明者的名字命名:Ron Rivest, AdiShamir 和Leonard Adleman。 这种加密算法的特点主要是密钥的变化,上文我们看到DES只有一个密钥。相当于只有一把钥转载 2014-05-27 11:29:14 · 2560 阅读 · 0 评论 -
IAP java
import java.io.BufferedOutputStream; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.net.URL; import java.security.MessageDigest原创 2014-04-14 12:08:29 · 1364 阅读 · 0 评论 -
java RSA加密解密实现
该工具类中用到了BASE64,需要借助第三方类库:javabase64-1.3.1.jar下载地址:http://download.youkuaiyun.com/detail/centralperk/5025595注意:RSA加密明文最大长度117字节,解密要求密文最大长度为128字节,所以在加密和解密的过程中需要分块进行。RSA加密对明文的长度是有限制的,如果加密数据过大会抛出如下异转载 2014-05-13 15:15:49 · 1613 阅读 · 1 评论 -
几种任务调度的 Java 实现方法与比较
http://www.ibm.com/developerworks/cn/java/j-lo-taskschedule/综观目前的 Web 应用,多数应用都具备任务调度的功能。本文由浅入深介绍了几种任务调度的 Java 实现方法,包括 Timer,Scheduler, Quartz 以及 JCron Tab,并对其优缺点进行比较,目的在于给需要开发任务调度的程序员提供有价值转载 2014-07-10 11:22:55 · 1059 阅读 · 0 评论 -
java中的使用RSA算法进行公钥加密私钥解密
一个比较简单的实现:一个三个类KeyGenerater生成公钥私钥对,Signaturer类使用私钥签名,SignProvider用公钥验证。公钥和私钥使用Base64加密Base64这个类也在博客里面public class KeyGenerater { private byte[] priKey; private byte[] pubKey; public void g转载 2014-05-13 15:15:19 · 1090 阅读 · 0 评论 -
httpUrlConnection用于post请求和get请求
最常用的Http请求无非是get和post,get请求可以获取静态页面,也可以把参数放在URL字串后面,传递给servlet,post与get的不同之处在于post的参数不是放在URL字串里面,而是放在http请求的正文内。在Java中可以使用HttpURLConnection发起这两种请求,了解此类,对于了解soap,和编写servlet的自动测试代码都有很大的帮助。下面的代码简单描述了转载 2014-05-12 16:39:52 · 3504 阅读 · 0 评论 -
(转)构建高性能web之路------mysql读写分离实战
一个完整的mysql读写分离环境包括以下几个部分:应用程序clientdatabase proxydatabase集群在本次实战中,应用程序client基于c3p0连接后端的database proxy。database proxy负责管理client实际访问database的路由策略,采用开源框架amoeba。database集群采用mysql的master-slave的repl转载 2014-05-17 17:43:49 · 729 阅读 · 0 评论 -
Spring+C3P0数据库连接池配置
[html] view plaincopybean id="dataSourceLocal" name="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"> property name="driverClass" value="${jdbc.dri转载 2014-04-08 18:27:17 · 774 阅读 · 0 评论 -
不同格式证书导入keystore方法
Java 自带的 keytool 工具 是个密钥和证书管理工具。它使用户能够管理自己的公钥 / 私钥对及相关证书,用于(通过数字签名)自我认证(用户向别的用户 / 服务认证自己)或数据完整性以及认证服务。它还允许用户储存他们的通信对等者的公钥(以证书形式)。keytool 将密钥和证书储存在一个所谓的 密钥仓库( keystore ) 中。缺省的密钥仓库实现将密钥仓库实现为一个文件。它用口转载 2014-04-08 17:10:46 · 670 阅读 · 0 评论 -
In-App Purchase iap 内付费 二次验证代码 (java 服务器端)
[java] view plaincopypackage com.yichangmao.buyVerify.Comm.ios; import java.io.BufferedOutputStream; import java.io.BufferedReader; import java.io.InputStream; import j转载 2014-04-04 10:52:06 · 12474 阅读 · 3 评论 -
Java安全通信:HTTPS与SSL
1. HTTPS概念 1)简介 HTTPS(全称:Hypertext Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。这个系统的最初研发由网景公司进行,提供了身份验证转载 2014-04-02 12:59:52 · 1108 阅读 · 0 评论 -
keytool
// M1c2ook 1、生成服务器证书库keytool -validity 36500 -genkey -v -alias server -keyalg RSA -keystore D:\key\server.keystore -dname "CN=127.0.0.1,OU=icesoft,O=icesoft,L=Haidian,ST=Beijing,c=cn" -storepass M转载 2014-04-02 12:14:27 · 1108 阅读 · 0 评论 -
java中Keytool的使用总结
以前用过几次这个东东,但每次都重新查询一次。本文原始出处是这里 。-----------------------------------------------------------Keytool 是一个Java 数据证书的管理工具 ,Keytool 将密钥(key)和证书(certificates)存在一个称为keystore的文件中 在keystore里,包含两种数据:转载 2014-04-02 12:12:31 · 2279 阅读 · 0 评论 -
Java https请求 HttpsURLConnection
有关tomcat 6.0如何配置https服务的文章可以参考:http://blog.youkuaiyun.com/zhou_zion/article/details/6759171以下主要讲解如何使用https发起post请求:参考文档:梁栋前辈的《Java加密与解密的艺术》[java] view plaincopyimport java.io转载 2014-04-02 10:08:24 · 1098 阅读 · 0 评论 -
用 Quartz 进行作业调度
Quartz API 采用多面方式在 Java 应用程序中进行任务调度Quartz 是个开放源码项目,提供了丰富的作业调度集。在这篇文章中,软件工程师 Michael Lipton 和 IT 架构师 Soobaek Jang 对 Quartz API 进行了介绍,从对框架的一般概述开始,并以一系列展示 Quart 基本特性的代码示例作为结束。在阅读完本文并看过代码示例后,您转载 2014-07-10 11:27:12 · 649 阅读 · 0 评论 -
Java任务调度框架Quartz
最近的项目中应用到了Quartz框架,用下来觉得此框架非常的强大,无论是应用在桌面应用程序或者web程序中,都能够解决一些比较棘手的问题。例如在报表统计中,实时查询在大数据量的情况下速度慢的令人发指,单纯从SQL语句上进行优化仍然无法达到要求,这时候可以考虑设计日报表或者月报表,在凌晨进行统计,这时候就可以用Quartz框架进行此工作。(其实也可以在数据库中应用job做同样的工作,在此不讨论)。转载 2014-07-10 11:48:13 · 675 阅读 · 0 评论 -
作业调度框架 Quartz 学习笔记(四) -- 接收参数和维护状态
>如果你想在 某个job执行的时候传入参数,参数在job执行过程中对参数有所修改,并且在job执行完毕后把参数返回那么你需要学习一下现在的这个例子了,因为它正是你所想要的 ...... 我的建议是先把代码运行起来看结果,然后再去看代码.还是老套路,两个类 一个job类:ColorJob.java 一个调度类: JobStateExample.java代码 : Col转载 2014-07-10 12:13:46 · 883 阅读 · 0 评论 -
BouncyCastle 公钥,密钥转换
8down voteYou will need BouncyCastle:import org.bouncycastle.asn1.ASN1Encodable;import org.bouncycastle.asn1.ASN1Primitive;import org.bouncycastle.asn1.pkcs.PrivateKeyInfo;import org.bouncycast转载 2017-03-19 21:33:14 · 5491 阅读 · 1 评论 -
RSA公钥和私钥是否可以任意公开一个保密一个
RSA公钥和私钥是否可以任意公开一个保密一个,不可以,RSA公钥和私钥的位置是不对等的。通过RSA私钥很容易导出RSA公钥,但是通过RSA公钥无法导出RSA私钥。因为保存了n,d之外还有q p信息所以能计算出公钥,但是公钥只还有n,e信息。原创 2017-03-02 11:00:59 · 12764 阅读 · 0 评论 -
java 生成pdf文件,添加图片
所需要的包:1. iText 下载地址: http://nchc.dl.sourceforge.net/sourceforge/itext/itext-2.0.3.jar2. iTextSsian 下载地址: http://itext.sourceforge.net/downloads/iTextAsian.jar (设置亚洲国家的字体)Hello.Ja转载 2016-06-15 17:07:54 · 10997 阅读 · 0 评论 -
Java中使用OpenSSL生成的RSA公私钥进行数据加解密
本文出处:http://blog.youkuaiyun.com/chaijunkun/article/details/7275632,转载请注明。由于本人不定期会整理相关博文,会对相应内容作出完善。因此强烈建议在原始出处查看此文。RSA是什么:RSA公钥加密算法是1977年由Ron Rivest、Adi Shamirh和LenAdleman在(美国麻省理工学院)开发的。RSA取名来自开转载 2016-02-24 17:41:57 · 1962 阅读 · 0 评论 -
Thumbnailator的简介和使用范例
1.简单介绍 借用红薯对Thumbnailator 的描述:Thumbnailator是一个用来生成图像缩略图的 Java类库,通过很简单的代码即可生成图片缩略图,也可直接对一整个目录的图片生成缩略图。 有了这玩意,就不用在费心思使用Image I/O API,Java 2D API等等来生成缩略图了。 直接上代码,先来看一个最简单的例转载 2015-06-26 14:44:33 · 1837 阅读 · 0 评论 -
JAVA执行bat文件和shell脚本文件
1。 bat文件import java.io.IOException;import java.io.InputStream;public class callbat { public static void main(String args[]){ callCmd("C:/run.bat"); }转载 2015-06-23 10:13:45 · 1818 阅读 · 0 评论 -
gbk, gb2312,big5,unicode,utf-8,utf-16的区别
本文转自http://blog.chinaunix.net/uid-446337-id-94462.html详细说明了各种编码的区别于联系,对于支持国际化很重要,否则各种乱码能搞死人!Unicode编码,UCS、UTF、BMP、BOM等名词这是一篇程序员写给程序员的趣味读物。所谓趣味是指可以比较轻松地了解一些原来不清楚的概念,增进知识,类似于打RPG游戏的升级。整理这篇文章转载 2014-07-11 07:35:22 · 12459 阅读 · 0 评论 -
C3P0的诊断
DatabaseConnectionLeak使用C3P0连接池的连接泄露诊断方法启用C3P0的连接归还超时设置在C3P0的属性配置文件(0.datasource.config)中,设置以下属性:debugUnreturnedConnectionStackTraces=trueunreturnedConnectionTimeout=1200其中:转载 2014-07-11 14:22:47 · 1295 阅读 · 0 评论 -
VisualSVN Server的配置和使用方法 图文
VisualSVN Server是免费的,而VisualSVN是收费的。VisualSVN是SVN的客户端,和Visual Studio集成在一起, VisualSvn Server是SVN的服务器端,包括Subversion、Apache和用户及权限管理,优点在上面已经说过了。1.为什么要用VisualSVN Server,而不用Subversion?转载 2014-07-11 09:46:18 · 13113 阅读 · 0 评论