自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 资源 (24)

原创 sun.misc.BASE64Encoder问题

sun.misc.BASE64Encoder问题1、在MyEclipse中编写Java代码时,用到了BASE64Decoder,import sun.misc.BASE64Decoder;可是Eclipse提示:Access restriction: The type BASE64Decoder is not accessible due to restriction on req

2017-09-23 15:07:07 4987

原创 effective java(12) 之考虑实现Comparable接口

effective java 之考虑实现Comparable接口1、什么是Comparable接口?Comparable接口一般用于表示某个实例具有内在的排序关系。简单来说就是用于对象排序。2、为什么需要实现Comparable接口?我们可以对数值和字符串进行排序,是因为系统内部已经为我们定义了数值和字符串的排序关系。而我们定义的对象,本身是不包含排序关系的,因

2017-09-23 14:24:34 203

原创 effective java(11) 之谨慎地覆盖clone

effective java 之谨慎地覆盖clone1、Cloneable接口表明这样的对象是允许克隆的,但这个接口并没有成功达到这个目的,主要是因为它缺少一个clone方法,Object的clone方法是受保护的。如果不借助反射,就不能仅仅因为一个对象实现了Colneable就可以调用clone方法,即使是反射调用也不能保证这个对象一定具有可访问clone方法。2、C

2017-09-23 14:19:41 152

原创 effective java(10) 之始终要覆盖toString

effective java 之始终要覆盖toString1、为什么要覆盖toString方法? public class Person { protected String name; protected int age; public String getName() { return name; } public void setName(Str

2017-09-23 14:17:57 192

原创 effective java(9) 之覆盖equals时总要覆盖hashCode

effective java 之覆盖equals时总要覆盖hashCode1、每个覆盖了equals方法的类中,也必须覆盖hashCode方法。 2、为什么覆盖equals时,总要覆盖hashCode?原因是,根据Object规范:如果不这样的话,就会违反Object.hashCode的通用约定,从而导致该类无法结合所有基于散列的集合一起正常运作,这样的集合包括Ha

2017-09-23 14:13:52 127

原创 effective java(8) 之覆盖equals时遵守通用的约定

effective java 之覆盖equals时遵守通用的约定1、覆盖equals方法看起来很简单,但是有许多覆盖方式会导致错误,并且后果很严重。最容易避免这种类问题的方法就是不覆盖equals方法,在这种情况下,类的每个实例都只能与它自己相等。如果满足了一下任何一个条件,这都是所谓期望的结果:类的每个实例的本质上都是唯一的。对于代表活动实体而不是值的类来说确

2017-09-23 14:05:52 155

原创 effective java(7) 之避免使用终结方法

effective java 之避免使用终结方法1、终结方法其实是指finalize()。2、为什么要避免终结方法终结方法(finalizer)通常是不可预测的,也是很危险的,一般情况下是不必要使用它的。使用终结方法会导致行为不稳定,降低性能,以及可移植性的问题,不过终结方法也有其可用之处(后面介绍)。在C++中存在着析构器(destructors)这种帮助回收

2017-09-22 23:47:23 224

原创 effective java(6) 之消除过期的对象引用

effective java 之消除过期的对象引用1. 为什么要消除过期的对象引用java虽然有自己的垃圾回收机制,但是并没有那么的智能,对于被引用的对象,就算我们已经不在使用它了,但是java的回收机制是不会回收他们的,人们称之为“内存泄漏”。2、一个简单的栈实现的例子:import java.util.Arrays;import java.util.Em

2017-09-22 23:40:56 209

原创 effective java(5) 之避免创建不必要的对象

effective java 之避免创建不必要的对象1、对于对象一般来说,我们最好的做法是重用对象,而不是每次使用都new出一个新的相同功能的对象,这样做很高效,特别是对于那些不可变类来说。String s = "123";而不用String s = new String("123")因为JVM中会有一个常量池,可以保存字符串常量,直接使用"123"可以直接从常量池中返

2017-09-22 23:34:49 188

原创 effective java(4) 之通过私有构造器强化不可实例化的能力

effective java 之通过私有构造器强化不可实例化的能力1、在创建工具类的时候,大部分是无需实例化的,实例化对它们没有意义。在这种情况下,创建的类,要确保它是不可以实例化的。2、在创建不可实例化的类时,虽然没有定义构造器。客户端在使用该类的时候,依然可以实例化它。客户端,可以继承该类,通过实例化其子类来实现实例化;客户端可以调用默认的构造器来实例化该类。

2017-09-22 23:31:06 168

原创 effective java(3) 之用私有构造器或者枚举类型强化Singleton属性

effective java 之用私有构造器或者枚举类型强化Singleton属性实现单例模式通常有3种方法(详细请看设计模式单例模式一节)Singleton指仅仅被实例化一次的类。私有构造函数只能在函数内部调用,外部不能实例化,所以私有构造函数可以防止该类在外部被实例化。1.静态成员public class Aagersingleton {private static

2017-09-22 23:27:27 136

原创 effective java(2) 之遇到多个构造器参数时要考虑用构建器

effective java 之遇到多个构造器参数时要考虑用构建器一个类有多个参数,我们如何获得该类的对象?有三种解决方案可以处理这种问题。采用重叠构造器JavaBeans模式Builder模式1、重叠构造器重叠构造器:就是提供多个多个参数列表不同构造函数。一般我们遇到多个参数时候,就会考虑使用重叠构造器,第一个构造器是实例化对象必须的参数,第二个会多一

2017-09-22 23:19:27 160

原创 Mybatis强制查询问题

Mybatis强制查询缓存问题1、对于经常用Mybatis框架的开发人员来说,都知道Mybatis进行数据库查询时的一个特性:Mybatis连续执行两次相同的查询,Mybatis是不会去数据库中查询,而是直接从sqlsession中取,返回的对象也是同一个对象。简单来说就是不会再发出sql查询而是使用缓存的数据。这对于经常使用查询的系统无疑是一个非常好的特性,对于大量数据查询来说就是节

2017-09-12 21:35:26 854

原创 Mybits+Oracle+List集合(封装Map)批量存储

Mybits+Oracle+List集合(封装Map)批量存储1、处理数据(返回的数据是文本,无JSON及加密封装),要存储的是文本数据,有回车切分的一行行数据(读大文本数据存储亦如此)订单号,类型,原始,折扣金金额,优惠金额,币种,交易时间,......8671592 ,1,1,0,1 ,0,CNY,2017-096935632 ,1,1,0,1 ,0,CNY

2017-09-08 23:30:14 764

原创 Maven简介

maven简介1、什么是maven翻译为“专家”,“内行”Maven是跨平台的项目管理工具。主要服务于基于Java平台的项目构建,依赖管理和项目信息管理。什么是理想的项目构建?高度自动化,跨平台,可重用的组件,标准化的什么是依赖?为什么要进行依赖管理?自动下载,统一依赖管理有哪些项目信息?项目名称描述等,开发人员信息,开发者信息等2、

2017-09-08 23:15:33 159

转载 java从小白到架构师大牛必看书籍

java从小白到架构师大牛必看书籍一、基础类1、《Thinking in Java》,入门第一位是建立正确的概念。2、《Core Java》,我没系统读过,这本书更贴近实践,更多API的介绍,同样,更新也更频繁。 二、进阶类1、《Effective Java》,在熟悉语法、API之后,你需要知道最佳实践和陷阱,没有比这本更好的。2、《Ja

2017-09-08 23:07:17 1161

原创 effective java 之使用静态工厂方法替代构造方法

effective java 之使用静态工厂方法替代构造方法1、用构造方法创建对象:在Java中,创建对象常用的方法是通过公有构造方法创建;Boolean bTrue = new Boolean("true");public Boolean(String s) {this(toBoolean(s));}2、静态工厂方法创建对象:创建对象还

2017-09-08 22:58:40 218

原创 Could not find goal 'create' in plugin org.apache.maven.p plugin:3.0.1 among available goals crawl

maven创建项目失败使用命令:mvn archetype:create -DgroupId=com.efn -DartifactId=study出现结果:Could not find goal 'create' in plugin org.apache.maven.pplugin:3.0.1 among available goals crawl, create-from-p

2017-09-03 11:21:29 704

原创 Spring+Quartz框架实现定时任务(集群,分布式)

Spring+Quartz框架实现定时任务(集群,分布式)1、定时任务的必要性:定时任务在应用中的重要性不言而喻,大多是应用,特别是金融应用更是离不开定时任务,能用定时任务来处理异常订单,完成跑批,定时活动(双11)等。在初期应用的访问量并不是那么大,一台服务器完全满足使用,但是随着用户量、业务量的逐日增加,应用中会有很多定时任务需要执行,一台服务器已经不能满足使用,

2017-09-02 10:19:14 11434 2

原创 分布式,集群概念简介

分布式,集群简介以简单的语言与生动的例子立即并记忆两者的异同。分布式:是把一个业务逻辑拆分多个子业务,部署在不同的服务器上。将不同的业务分布在不同的地方(服务器)。例如一个加解密的服务,采用分布式形式,就是一台服务器部署加密服务,一台服务器部署解密服务,这样的形式就是采用分布式。集群:是同一个业务部署在多个服务器上。将几台服务器集中在一起,实现同

2017-09-01 23:59:22 265

原创 二维码生成以及扫一扫解析二维码原理

二维码生成以及扫一扫解析二维码原理1、生成URL,确定要通过二维码传达的信息,也就是通过扫一扫可以获得地址和数据信息1、// 得到随机数,用随机数得到签名,签名验证身份String ranString = RandomStringUtils.randomAlphanumeric(10);2、其他参数信息,在二维码中存储的信息非常有限,所有在微信,支付宝的二维

2017-09-01 23:46:57 16139 1

原创 Java开发规范(三)

异常日志(一) 异常处理1. Java 类库中定义的一类RuntimeException可以通过预先检查进行规避,而不应该通过catch 来处理,比如:IndexOutOfBoundsException,NullPointerException等等。说明:无法通过预检查的异常除外,如在解析一个外部传来的字符串形式数字时,通过catch NumberFormatExcep

2017-09-01 23:35:30 1714

原创 Java开发规范(二)

6、并发处理1. 获取单例对象需要保证线程安全,其中的方法也要保证线程安全。 说明:资源驱动类、工具类、单例工厂类都需要注意。2. 创建线程或线程池时请指定有意义的线程名称,方便出错时回溯。 正例:public class TimerTaskThread extends Thread {public TimerTaskThread() {super.se

2017-09-01 23:27:41 394

flyway-6.4.2.rar

1、解压flyway-commandline-6.4.2-linux-x64.tar.gz或flyway-commandline-6.4.2-windows-x64.zip包; 2、把path目录里的lib目录拷贝到解压目录里进行覆盖; 覆盖lib/community/flyway-core-6.4.2.jar包是去除不支持MySQL5.6的限制; lib下的其它jar包是为了在命令行情况下可以使用logback方式进行打印日志;

2020-07-02

fastdfs-client-javajar1.29-SNAPSHOT.zip

Missing artifact org.csource:fastdfs-client-java:jar:1.29-SNAPSHOT

2020-05-29

fastdfs-client-javajar1.27-SNAPSHOT.zip

Missing artifact org.csource:fastdfs-client-java:jar:1.27-SNAPSHOT

2020-05-29

Git-2.7.2-64.rar

Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。 Git-2.7.2-64-bit_setup.1457942968版本。 官网下载太慢。

2020-05-29

Git-2.26.2-64-bit.rar

Git-2.26.2-64-bit git最新版本,官网下载太慢了,网速千兆下了1个小时,拿出来分享一下。

2020-05-29

flyway-patch.rar

1、解压flyway-commandline-6.4.2-linux-x64.tar.gz或flyway-commandline-6.4.2-windows-x64.zip包; 2、把path目录里的lib目录拷贝到解压目录里进行覆盖; 覆盖lib/community/flyway-core-6.4.2.jar包是去除不支持MySQL5.6的限制; lib下的其它jar包是为了在命令行情况下可以使用logback方式进行打印日志;

2020-05-29

flyway-commandline-6.4.2-linux-x64.tar.gz

Flyway 是一款开源的数据库版本管理工具,它更倾向于规约优于配置的方式。Flyway 可以独立于应用实现管理并跟踪数据库变更,支持数据库版本自动升级,并且有一套默认的规约,不需要复杂的配置,Migrations 可以写成 SQL 脚本,也可以写在 Java 代码中,不仅支持 Command Line 和 Java API,还支持 Build 构建工具和 Spring Boot 等,同时在分布式环境下能够安全可靠地升级数据库,同时也支持失败恢复等。 linux-x64

2020-05-29

flyway-commandline-6.4.2-windows-x64.zip

Flyway 是一款开源的数据库版本管理工具,它更倾向于规约优于配置的方式。Flyway 可以独立于应用实现管理并跟踪数据库变更,支持数据库版本自动升级,并且有一套默认的规约,不需要复杂的配置,Migrations 可以写成 SQL 脚本,也可以写在 Java 代码中,不仅支持 Command Line 和 Java API,还支持 Build 构建工具和 Spring Boot 等,同时在分布式环境下能够安全可靠地升级数据库,同时也支持失败恢复等。 windows-x64

2020-05-29

kafkatool_64bit.exe

是查看kafka上面数据的可视化工具,能更好的理解kafka原理,获取信息,操作topic等,十分的方便。 也可以去kafka工具官网地址下载:http://www.kafkatool.com/download.html,速度是很慢。 具体安装步骤可以参考该博主的博客:https://www.cnblogs.com/miracle-luna/p/11299345.html

2020-04-07

junit-4.11与hamcrest-core-1.3.jar.zip

junit测试所需jar包,包含4.11和4.12两个版本以及hamcrest-core-1.3.jar等jar,是进行junit测试不可缺少的包

2020-03-26

学习Redis的脑图.rar

是一份redis学习脑图可编辑文档,能更好的辅助学习redis,是从安装到分布式部署,数据持久化,主从复制等高级的骚操作。 redis不但要会用,还要知道为啥这样用,知其然,知其所以然。 开启Redis历程篇,记录学习Redis路上的问题,总结进步。

2020-03-24

ProcessExplorer(线程cpu占用率工具)

windows下只能查看进程的cpu占用率,要查看线程的cpu占用率要借助该工具,线程信息一目了然。

2018-12-26

zookeeper-3.4.5

zookeeper-3.4.5是用做于分布式锁,dubbo的服务注册中心,是程序开发过程中不可或缺的角色。

2018-09-10

Bean以及注解的方式实现dubbo调用(Maven)

用Bean的方式以及注解的方式实现的dubbo调用,该demo是一份Maven项目,包含服务端,客户端,实现RPC的远程服务调用。

2018-09-10

PGP加密软件Java实现

PGP(Pretty Good Privacy),是一个基于RSA公钥加密体系的邮件加密软件。 以RSA与DES为基础用Java实现。

2018-01-07

DSS数字签名标准Java实现

所谓数字签名,是一种用数字通信形式达到签名的功能,目的是证明通信双方的身份、达到确保通信的安全,是一套密码系统。 这里用RSA加密,用MD5形成摘要,验证信息完整性。

2018-01-07

RSA公钥加密算法Java实现

RSA算法是一种非对称密码算法,所谓非对称,就是指该算法需要一对密钥,使用其中一个加密,则需要用另一个才能解密。 这时一个简单的Java实现,在RSA网络安全工具类是比较完整的实现。

2018-01-07

信息-摘要算法5(MD5)Java实现

MD5主要是通过特定的hash散列方法将文本信息转换成简短的信息摘要,用以验证信息的完整性。一般用于数字签名。 用Java实现的一个例子。

2018-01-06

DES对称加密算法Java实现

DES算法为密码体制中的对称密码体制,是一个分组加密算法,典型的DES以64位为分组对数据加密,加密和解密用的是同一个算法。 这里以Java代码实现DES算法。

2018-01-06

DH密钥交换算法Java实现

DH密钥交换算法这个机制的巧妙在于它可以让双方在完全没有对方任何预先信息的条件下通过不安全信道确定对称密钥。 我用Java写了两个例子,有需要的可以看看。

2018-01-06

RSA网络安全工具类

是RSA工具类,包括分段加密、分段解密、公私钥对生成,是一份完整的工具类。

2017-10-28

二维码生成以及扫一扫解析二维码原理实例

是java后台的二维码生成以及扫一扫解析二维码原理的实例,包含二维码生产,以及解析原理,代码实现不易。

2017-08-20

日期通用处理类

用于所有的与日期相关的格式转化的工具类 * 将date转换为日历 public static Calendar date2Calendar(Date date) { Calendar calendar = Calendar.getInstance(); // 得到日历 calendar.setTime(date); return calendar; }

2017-08-05

redis-64.3.0.503

redis工具类

2017-03-29

空空如也

空空如也
提示
确定要删除当前文章?
取消 删除