![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
xueyepiaoling
十年磨一剑!
展开
-
深入理解Java 8 Lambda(语言篇——lambda,方法引用,目标类型和默认方法)
引用:http://zh.lucida.me/blog/java-8-lambdas-insideout-language-features/关于深入理解 Java 8 Lambda(语言篇——lambda,方法引用,目标类型和默认方法)深入理解 Java 8 Lambda(类库篇——Streams API,Collector 和并行)深入理解 Java 8 Lambda(原理篇——Java 编译...转载 2018-06-14 16:27:00 · 783 阅读 · 0 评论 -
JAVA对数字证书的常用操作
<br /> <br />一:需要包含的包<br /> import java.security.*;<br /> import java.io.*;<br /> import java.util.*;<br /> import java.security.*;<br /> import java.security.cert.*;<br /> import sun.security.x509.*<br /> import java.security.cert.Cer转载 2011-06-02 17:06:00 · 1228 阅读 · 0 评论 -
数字证书文件格式(cer和pfx)的区别
引用:http://blog.csdn.net/wangjun_pfc/archive/2010/04/16/5493900.aspx作为文件形式存在的证书一般有这几种格式: 1.带有私钥的证书 由Public Key Cryptography Standards #12,PKCS#12标准定义,包含了公钥和私钥的二进制格式的证书形式,以pfx作为证书文件后缀名。转载 2011-06-03 10:44:00 · 2262 阅读 · 0 评论 -
keytool用法及说明
<br />引用:http://aayy520.blog.163.com/blog/static/2318226020105256378547/<br /> <br />1、生成密钥,并以证书文件保存<br /><br />keytool -genkey -alias bogus -keysize 512 -validity 3650 -keyalg RSA -dname "CN=bogus.com, OU=XXX CA, O=Bogus Inc, L=Stockholm, S=Stockholm, C=S转载 2011-06-02 17:07:00 · 1915 阅读 · 0 评论 -
java中的常量,是不是必须定义为static final的呢
<br />今天看代码的时候,关于常量的引用,脑子中突然闪现出一个概念。java中的常量,是不是必须定义为static final的呢?final定义的字段,已经是不可改变的了,为什么还必须要加上一个static呢?<br /> <br />比如<br />private static final int one = 1;<br />如果定义为<br />private final int one = 1;<br />两者有不什么不同吗?答案是肯定的,他们都是一样的。那为什么还要加上一个static呢?<b原创 2011-04-14 11:23:00 · 14089 阅读 · 7 评论 -
json/socket/ws的差异
觉得这篇帖子,有很多借鉴价值引用:http://flashing.iteye.com/blog/486473看到有位童鞋问到json/socket/ws的差异,似乎面试被问到的,就作答了一下。ws是基于http协议的(当然JAX-WS貌似认为ftp之类的也可以?)以xml为载体的通信方式。ws的好处是第一是直观(xml吗!),第二是标准(貌似ms从2002年就开始力推了),当然也方便了异构系统的交互。如果你想提供对外的业务访问的接口,可能需要浏览器,各种语言的客户端等各种异构系统访问,ws是首选。简单的例子转载 2011-04-11 11:14:00 · 1780 阅读 · 0 评论 -
Java 中的位运算
<br />另外补充一下:<br /> <br />0XFF=11111111B <br />0X0F=00001111B <br />0x01=00000001B <br />0x80=10000000B<br /> <br />常用的0X0F就是取低四位<br /> <br />引用:http://www.blogjava.net/rosen/archive/2005/08/12/9955.html<br /> <br /><br />移位运算符<br /> 包括:<br /> “>> 右移转载 2011-05-11 15:44:00 · 517 阅读 · 0 评论 -
Java 中的位运算
<br />另外补充一下:<br /> <br />0XFF=11111111B <br />0X0F=00001111B <br />0x01=00000001B <br />0x80=10000000B<br /> <br />常用的0X0F就是取低四位<br /> <br />引用:http://www.blogjava.net/rosen/archive/2005/08/12/9955.html<br /> <br /><br />移位运算符<br /> 包括:<br /> “>> 右移转载 2011-05-11 15:44:00 · 518 阅读 · 0 评论 -
网上看到的一个统计代码行工具
<br />package linenum; <br /> <br />import java.awt.*; <br />import java.awt.event.*; <br />import java.io.*; <br />import java.text.*; <br />import javax.swing.*; <br /> <br />public class LineNum extends JFrame <br />{ <br /> private转载 2011-02-21 15:24:00 · 531 阅读 · 0 评论 -
网上看到的一个统计代码行工具
<br />package linenum; <br /> <br />import java.awt.*; <br />import java.awt.event.*; <br />import java.io.*; <br />import java.text.*; <br />import javax.swing.*; <br /> <br />public class LineNum extends JFrame <br />{ <br /> private转载 2011-02-21 15:23:00 · 564 阅读 · 0 评论 -
cglib代理实例
目标对象:public class Target { public String execute() { String message = "----------test()----------"; System.out.println(message); return message; } }拦截器:import net.sf.cglib.proxy.MethodInterceptor; import net.sf转载 2011-03-04 17:01:00 · 1136 阅读 · 0 评论 -
java动态代理实例
1.真实对象接口1 public interface IAnimal {2 void info();3 }2.真实类1 public class Cat implements IAnimal{2 3 public void info() {4 System.out.println("This is a cat!");5 }6 7 }3.调用处理器 1 import java.lang.reflect.InvocationHandler; 2 import java.l转载 2011-03-04 16:22:00 · 846 阅读 · 0 评论 -
利用反射机制,遍历POJO对象的各个字段名及属性
<br />package reflect;<br />import java.lang.reflect.Field;<br />import java.lang.reflect.InvocationTargetException;<br />import java.lang.reflect.Method;<br />public class ReflectionTest { <br /> private String name = "Jhon"; <br /> private String cit原创 2010-11-25 13:35:00 · 5827 阅读 · 0 评论 -
使用apache的ZipOutputStream进行zip文件压缩
<br />需要用java写一个文件压缩的程序,一开始准备用java库中的java.util.zip.ZipOutputStream,但是一搜,发现有中文乱码的问题,所以就用了org.apache.tools.zip.ZipOutputStream。<br />因为用的maven2构建的代码,所以找包的时候方便了很多,下载的最新的ant-1.8.1.jar的包。期间参考了一片文章,但是地址找不到了。废话不多说了,上代码。<br /> <br />类ZipCompressor<br /> <br />impo原创 2011-01-06 11:58:00 · 19070 阅读 · 1 评论 -
java读取文件大全
<br />引用:http://blog.csdn.net/Willon_tom/archive/2010/02/08/5297973.aspx<br /> <br />1、按字节读取文件内容<br />2、按字符读取文件内容<br />3、按行读取文件内容<br />4、随机读取文件内容<br />public class ReadFromFile {<br /> /**<br /> * 以字节为单位读取文件,常用于读二进制文件,如图片、声音、影像等文件。<br /> */<br /转载 2010-11-11 13:31:00 · 472 阅读 · 0 评论 -
java单例模式的一个小结
<br />引用:http://mamaoyuan625.javaeye.com/blog/458650<br /> <br />单例模式单例模式是一种常见的设计模式,<br />单例模式分三种:懒汉式单例、饿汉式单例、登记式单例三种。<br />单例模式有一下特点:<br />1、单例类只能有一个实例。<br />2、单例类必须自己自己创建自己的唯一实例。<br />3、单例类必须给所有其他对象提供这一实例。<br />一、懒汉式单例在类被加载的时候,唯一实例已经被创建。这个设计模式在Java中容易实现,转载 2010-11-12 09:46:00 · 390 阅读 · 0 评论 -
java byte与char互转原理-转
<br />引用:http://abs200311235.javaeye.com/blog/201786<br /> <br />一、字节和unicode <br /><br />Java内核是unicode的,就连class文件也是,但是很多媒体,包括文件/流的保存方式是使用字节流的。因此Java要对这些字节流经行转化。 char是unicode的,而byte是字节。Java中 byte/char互转的函数在sun.io的包中间有。其中ByteToCharConverter类是中调度,可以用来告诉你,你用转载 2010-11-11 15:14:00 · 572 阅读 · 0 评论 -
keytool生成私钥、公钥、证书详解
如果对keytool生成的密钥库的概念不清楚,对密钥库中存放的是什么不了解,可以看一下下面这篇文章,概念会清楚很多 http://hi.baidu.com/luckydogs888/blog/item/2a674c4f2cb02b30afc3ab2f.html 我这里也转载一下 ★ 实例说明 本实例使用J2SDK提供的keytool工具用默认的密钥库和算法创建几个数字证转载 2011-06-03 10:25:00 · 24160 阅读 · 1 评论 -
Java远程通讯可选技术及原理
看了一篇远程通讯的文章,如果有不了解java远程通讯的同学,看看,还是有启发的引用:http://www.javalover.cn/html/3/303.html在分布式服务框架中,一个最基础的问题就是远程服务是怎么通讯的,在Java领域中有很多可实现远程通讯转载 2011-09-19 16:47:53 · 564 阅读 · 0 评论 -
java获取指定范围的随机函数
此函数适用于获取指定范围的随机函数,包括整数和小数(比如获取小数点后两位的小数,只要最后结果除以100,剩下的方法依此类推)Random random = new Random();int s = random.nextInt(max)%(max-min+1) + min转载 2011-08-31 16:32:39 · 1675 阅读 · 0 评论 -
线程wait和notify报错java.lang.IllegalMonitorStateException
本质上就是:sleep是Thread类的方法,wait是Object类中定义的方法JavaDoc中说到:A thread becomes the owner of the object's monitor in one of three ways:1. By executing a synchronized instance method of that object.原创 2018-01-29 17:03:13 · 1426 阅读 · 0 评论 -
关于分布式程序从DB获取唯一资源的思考
场景:DB的A表中已经有了资源,但是还没有被分配。有水平扩展的3个服务(srv1、srv2、srv3),都会去A表中查询可用的资源,然后更新其状态,但是这个时候如果更新的资源相同,就可能出现阻塞或者获取资源失败的情况,如果在大并发下能够获得更好的支持呢?想到了2个解决办法:方法一:思路:先查询出一定的可用资源,然后选取其中的一条进行更新1、先根据业务条件在A表进行查询,原创 2018-01-24 17:20:22 · 374 阅读 · 0 评论 -
double类型转int类型,精度丢失的问题
碰到一个问题,就是double类型在进行降级强转int类型的时候,发生了精度丢失。先来看一下现象比如 double num1 = 49.99; int num2 = (int)(num1 *100);输出后,num2 等于 4998但是在num1 等于49.97或49.98的时候,转换成int后的值分别为原创 2017-12-20 09:28:44 · 12794 阅读 · 3 评论 -
linux下Tomcat+OpenSSL配置单向&双向认证(自签CA)
引用:http://www.jianshu.com/p/045f95c008a0背景由于ios将在2017年1月1日起强制实施ATS安全策略,所有通讯必须使用https传输,本文只针对自制证书,但目前尚不确定自制证书是否能通过appstore审核。1、必须支持传输层安全(TLS)协议1.2以上版本2、证书必须使用SHA256或更高的哈希算法签名3、必须使用2048位以上RSA密钥或转载 2017-11-15 22:57:32 · 1143 阅读 · 0 评论 -
Java压缩算法性能比较
引用:https://my.oschina.net/OutOfMemory/blog/805427?from=20161218前言游戏开发中,经常在玩家进入游戏的时候进行必要的信息初始化,往往这个初始化信息数据包是相对来说还是比较大的,一般在30-40kb左右,还是有必要进行压缩一下再发送消息,刚好前段时间看过,里面列举了一些常用的压缩算法,如下图所示:是否可切分表示是转载 2017-09-11 11:21:29 · 781 阅读 · 0 评论 -
ExecutorService的正确关闭方法
引用:http://blog.csdn.net/zaozi/article/details/38854561前言最近在使用ExecutorService的时候,对于与ExecutorService相关的概念有些迷糊,加上本身ExecutorService内部的有些方法名在取名上也容易让使用者误解,导致犯了一些错误。在解决的过程中,偶尔看到了日本人写的一篇转载 2017-03-10 16:51:47 · 9923 阅读 · 0 评论 -
抛出自定义异常,spring AOP事务不回滚的解决方案
Spring AOP 默认对RuntimeException()异常或是其子类进行事务回滚,也就是说事务回滚:throw new RuntimeException("xxxxxxxxxxxx"); 事物不回滚:throw newException("xxxxxxxxxxxx"); 那么,如何在抛出Exception或者自定义异常时,事务也进行回滚呢?有以下几种方案:原创 2016-03-08 16:59:58 · 8516 阅读 · 0 评论 -
httpclient 4.3及以上版本,发送和接收https
关于证书的生成,请参考:双向认证,证书生成方法 方法一:数据以json的格式发送 public void testHttps(){ try { String url ="https://localhost:8443/mips/原创 2016-01-18 14:49:39 · 5472 阅读 · 0 评论 -
https双向认证(基于程序访问,j2ee和android上皆可用)
引用:http://my.oschina.net/jjface/blog/339144概述:客户端,浏览器或者使用http协议和服务器通信的程序。如:客户端通过浏览器访问某一网站时,如果该网站为HTTPS网站,浏览器会自动检测系统中是否存在该网站的信任证书,如果没有信任证书,浏览器一般会拒绝访问,IE会有一个继续访问的链接,但地址栏是红色,给予用户警示作用,即客户端转载 2016-01-18 10:32:55 · 1512 阅读 · 0 评论 -
配置https双向认证过程实战(tomcat和浏览器交互)
引用:http://blog.csdn.net/xxd851116/article/details/18701731什么是https? 百度百科足够解释它:http://baike.baidu.com/view/14121.htm工具:keytool (Windows下路径:%JAVA_HOME%/bin/keytool.exe)环境:Windows8.1企业版、Tomca转载 2016-01-18 10:22:46 · 4468 阅读 · 0 评论 -
ECLIPSE生成JAVADOC时出错:编码GBK的不可映射字符
由于java源代码是用的UTF-8编码,Eclipse中默认编码是GB18030,因此,在生成javadoc的时候,需要手工指定一下编码和字符集。 解决方案是: 主菜单–>Project–>Generate javadoc–>next>next–> 在 “Extra javadoc options”下面的文本框中填入 ” -encoding UTF-8 -chars转载 2014-06-16 17:13:04 · 798 阅读 · 0 评论 -
java 泛型详解
引用:http://www.cnblogs.com/sunwei2012/archive/2010/10/08/1845938.html普通泛型Java代码 class Point{ // 此处可以随便写标识符号,T是type的简称 private T var ; // var的类型由T指定,即:由外部指定转载 2013-05-09 11:39:21 · 900 阅读 · 0 评论 -
win7/xp 双击执行jar包出现:could not find the main class
引用:http://blog.csdn.net/hyx1990/article/details/7550994今天同学问我双击jar包在有的机子上可以运行,但在有的机子上确没法运行,我就我遇到的问题和解决办法拿出来分享:1.elipse打jar包一般有两种:一种是普通的jar file,另外一种是Runnable jar file;要想可执行当然选择第二种了2.转载 2012-07-12 17:28:00 · 4311 阅读 · 0 评论 -
OJDBC版本区别
引用:http://tiantian0521.blog.163.com/blog/static/4172088320117294265766/ classes12.jar,ojdbc14.jar,ojdbc5.jar和ojdbc6.jar的区别,之间的差异 在使用Oracle JDBC驱动时,有些问题你是不是通过替换不同版本的Oracle JDBC驱动来解转载 2012-07-12 14:06:33 · 1261 阅读 · 0 评论 -
关于javac不是内部命令的解决办法 javah jni
引用:http://hi.baidu.com/%C9%B1%D6%ED%B5%B6%C6%B4%B5%B6/blog/item/4751d2f7feac2ecef2d38596.html在 dos下运行java -version是正常的,但是在dos下运行javac ,error 信息是javac不是内部命令,也是不可运行程序,折腾了半天,都没有找到原因,因为环境变量配置过了呀转载 2012-05-03 10:37:32 · 1891 阅读 · 0 评论 -
Java多线程之Callable接口的实现
import java.util.concurrent.Callable; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.Future; /** *//**转载 2011-11-16 19:35:43 · 1043 阅读 · 0 评论 -
java压缩技术合集
<br />引用:http://snowolf.javaeye.com/blog/643010<br /> <br />相关链接: <br />Java压缩技术(一) ZLib<br />Java压缩技术(二) ZIP压缩——Java原<br />Java压缩技术(三) ZIP解压缩——Java原生实现<br />Java压缩技术(四) GZIP——Java原生实现<br />Java压缩技术(五) GZIP相关——浏览器解析<br />Java压缩技术(六) BZIP2——Commons实现<br />J转载 2011-01-05 13:55:00 · 822 阅读 · 0 评论 -
java synchronized详解
<br />引用:http://blog.163.com/love-love-l/blog/static/21078304201001804211901/<br /> <br />一直对这些不是很懂。找了一下,看一下,供我以后再看: <br />第一篇: <br />Java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码。 <br /><br /> 一、当两个并发线程访问同一个对象object中的这个synchronized(this)同步代转载 2010-11-09 16:50:00 · 777 阅读 · 0 评论 -
ANT的安装/配置笔记
内容摘要:ant是一个基于JAVA的自动化脚本引擎,脚本格式为XML。除了做JAVA编译相关任务外,ANT还可以通过插件实现很多应用的调用。ANT的基本概念: ANT的安装:解包,设置路径 ANT的使用:最好的学习只不过是一个简单实用的例子起步…… ANT的基本概念:Java的Makefile当一个代码项目大了以后,每次重新编译,打包,测试等都会变得非常复杂而且转载 2010-03-12 15:22:00 · 440 阅读 · 0 评论 -
java调用oracle存储过程
一:无返回值的存储过程存储过程为:create or replace procedure adddept(deptno number,dname varchar2,loc varchar2)as begin insert into dept values(deptno,dname,loc);end;然后呢,在java里调用时就用下面的代码:public class Test原创 2010-02-25 17:03:00 · 491 阅读 · 0 评论