自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Eric的博客

学而不思则罔,思而不学则殆。

  • 博客(10)
  • 资源 (24)
  • 收藏
  • 关注

原创 实例探索Java模式之路——策略模式

策略模式1、策略模式属于对象的行为模式。是针对的一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得他们可以互相替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。策略模式是对算法的包装。把使用算法的责任和算法本身分割开,委派给不同的对象管理。简单来说就是,准备一组算法,并将每一个算法封装起来,使得他们可以互相互换。3、结构:环

2017-07-29 16:52:24 280

原创 实例探索Java模式之路——不变模式

不变模式1、一个对象的状态在对象被创建之后就不再变化,这就是不变模式(缺少改变自身状态的行为),不变模式只涉及一个类,一个类的内部状态创建后,在整个生命周期都不会发生变化,这个类叫不变类,而不变模式就是使用这种类。2、不变模式的两种形式:弱不变模式与强不变模式弱不变模式:一个类的实例的状态是不可变的,但是这个类的子类的实例具有可能会变化的状态。实现条

2017-07-15 08:35:16 550

原创 微信小程序与微信公众号同一用户登录问题

微信小程序与微信公众号同一用户登录问题最近在做微信小程序与微信公众号登录合并的接口。整理相关资料以及个人认识的心得写了这篇文章与大家一起分享。首先,简单说下我遇到的问题是我们的程序调用微信小程序得到openid,然后通过openID得到用户的唯一标识,用户得以登录,然而,当我们调用微信公众号也同样的到openid,同一以用户两个不同的openid,不能区分是否为同一用户,然

2017-07-14 23:09:20 53175 9

原创 生产者——消费者模式

生产者——消费者模式1、生产者——消费者模式是一个经典的多线程设计模式,它为多线程间的协作提供了良好的解决方案。在该模式中,通常有两个进程(生产者,消费者),生产者线程负责提交用户请求,消费者线程负责具体处理生产者提交的任务。生产者用途消费者通过共享缓存区进行通信。2、基本结构:生产者:提交用户请求,提取用户任务,并装入内存缓冲区消费者:在内存缓冲区中提

2017-07-05 22:51:14 1032

原创 线程池

线程池拒接策略:系统超负载运行时的补救措施,也就是线程池中的线程已经用完,无法继续为新任务服务,同时,等待队列也已经排满,再也塞不下新任务了。jdk内置4种拒绝策略:AbortPolicy策略:直接抛出异常,阻止系统正常工作。CallerRunsPolicy:只要线程池未关闭,该策略直接在调用者进程中,运行当前被丢弃的任务。显然这样做不会真的丢弃任务,但是,

2017-07-04 23:34:57 278

原创 中断响应,重入锁

中断响应,重入锁产生的死锁,通过锁中断,可以解决。import java.util.concurrent.locks.ReentrantLock;public class Interrupt extends Thread {public static ReentrantLock lock1 = new ReentrantLock();pu

2017-07-04 23:28:41 779

原创 优先级问题

优先级实例//数字越大,优先级越高(1-10)public class Priority {public final static int MIN_PRIORITY = 1;public final static int NORM_PRIORITY = 5;public final static int MAX_PRIORITY = 10;publi

2017-07-04 23:23:02 284

原创 wait 、notify 、join、yield

wait 和 notify 的例子public class SimpleWN {final static Object object = new Object();public static class T1 extends Thread {public void run() {synchronized (object) {System.out.printl

2017-07-04 22:21:18 268

原创 使用stop误区

我们使用stop终止线程会出现的问题public class User {private int id;private String name;public User() {id=0;name="0";}public int getId() {return id;}public void setId(int id) {this.id = id

2017-07-04 22:15:15 273

原创 ThreadLocal优化共享对象实例

ThreadLocal(性能优化)import java.util.Random;import java.util.concurrent.Callable;import java.util.concurrent.ExecutionException;import java.util.concurrent.ExecutorService;import java.util.

2017-07-04 22:04:43 477

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

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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