自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 封装get post等请求

封装get post等请求当你在项目中遇到一个需求,需要大量的调用各种参数不同并且响应返回也不同的外部API的时候,其中相同的部分和变化的部分有想过分离吗,不同的部分不外乎是请求参数和返回体,这两部分最后体现在就是每一个请求新加两个bean,请求的bean和返回的bean,其它执行调用外部API的部分都可以提取出来作为公共的功能。定义一个请求类的接口该接口中可以获取url,参数,返回resp...

2019-02-11 14:48:05 494

原创 利用CountDownLatch在多线程中的使用

利用CountDownLatch在多线程中的使用在代码中无时不用到线程,当我们需要等待一组多线程执行完以后,再进行某些逻辑时,我们可以用submit的callback,也可以利用CountDownLatch的await来实现等待所有线程执行完成。 int s = 10; final CountDownLatch latch = new CountDownLatch(s);...

2019-02-11 13:54:57 425

原创 java-单列模式

java设计模式单列模式当你的功能模块中某一个类你发现它被调用了很多次,或者这个类每次创建需要初始化一系列的动作,或者该类用于多线程中那么就可以考虑该类是否为单列模式。普通的类普通的类很简单,就是包括一个构造函数的类/** * * @author huqiang * @version 1.0: SingleClass.java, v 0.1 2019年2月10日 下午2:20:...

2019-02-10 15:30:11 283

原创 SpringBoot AOP 初步理解

SpringBoot AOP 初步理解1.AOP刚开始接触spring的时候不可避免的会提到AOP,网上一查,给你一句话就叫切面编程,个人在这里提出下我自己的一些理解以及一个例子1.AOP记得小时候在夏天的时候,有一次说风来吧风就来了,雨来吧雨就来了,而不需要我们去拿一个吹风机制造风,或者制造雨。那么AOP就如同我们小时候想像的咒语一样,说来就来,只需要结果不需要我去创造。那么程序中的AO...

2019-08-08 14:41:58 178

原创 Java 线程池ThreadPoolExecutor

Java 线程池ThreadPoolExecutor1、线程池的作用我们清楚当某一个功能需要用到多线程的时候,传统的实现方法需要每次都去创建和销毁线程,这样如果单位时间内线程数量很多,导致创建和销毁会暂用大量的时间和空间,针对该问题,后续引出了线程池,线程池的作用就是能统一把线程放到一起管理,并且用几乎很少的线程创建和销毁来管理一堆的线程。2、线程池线程池的创建public static...

2019-03-14 11:23:28 143

原创 eclipse把当前git项目推送到其它的git地址

eclipse把当前git项目推送到其它的git地址进入到origin点击右键->Configure Push点击Change,在新的窗口中输入你需要提交的远程仓库地址。

2019-03-13 15:10:57 831

原创 JAVA8 新的时间库

JAVA8 新的时间库java8引入了一套全新的时间日期API,本篇随笔将说明学习java8的这套API。java。time包中的是类是不可变且线程安全的。新的时间及日期API位于java.time中,下面是一些关键类●Instant——它代表的是时间戳●LocalDate——不包含具体时间的日期,比如2014-01-14。它可以用来存储生日,周年纪念日,入职日期等。●LocalTime...

2019-03-07 17:17:34 256

原创 JAVA加解密算法DES 3DES AES

1、DES加密DES是1977年美国联邦信息处理标准中使用的一种对称密码技术,曾今被美国和其他国家政府银行使用。不过现在已被暴力破解,不再安全可靠,我们除了用它解密以前的密文外,已不再使用DES了。KeyGenerator keyGenerator=KeyGenerator.getInstance("DES"); SecretKey secretKey =keyGenerator.ge...

2019-03-07 14:13:52 395

原创 接口和抽象类的区别

接口和抽象类的区别在Java代码中接口的关键字是interface,抽象的关键字是abstract,接口用于功能的抽取,一般只是定义方法的功能抽象抽象用于实体的抽取,可以定义公共的属性和方法。对照现实中的例子车子有哪些基本的组件和基本的功能可以抽象出来:比如(属性)轮子、发动机、车门。 (方法)踩离合,踩刹车如何制造一个车子的公共事件可以抽离出来成为接口:生产轮胎,生产玻璃,生产发动...

2019-03-01 17:14:55 85

原创 在开发中用到的redis分布式锁

用redis分布式锁解决问题记录在修改产品的时候,针对同一个产品多次进行修改的时候,出现了图片修改不符合预期的情况,后来发现是因为针对同一个产品在同一时刻同时调用几次修改图片的接口,会导致出现图片异常的情况。为了防止这种情况出现,首先想到了同步,但是修改任务是在多台服务器上部署,并且分片只是按照id分片。因此如果只是单纯的加锁也还是会出现在不同的机器上修改同一个产品ID的图片,那么想到了用red...

2019-02-26 16:57:10 177

原创 Mysql分区

Mysql分区MySQL支持RANGE,LIST,HASH和KEY四种分区。其中,每个分区又都有一种特殊的类型。对于RANGE分区,有RANGE COLUMNS分区。对于LIST分区,有LIST COLUMNS分区。对于HASH分区,有LINEAR HASH分区。对于KEY分区,有LINEAR KEY分区。具体如下:RANGE分区RANGE即范围分区,根据区间来判断位于哪个分区,譬如,在下例...

2019-02-15 17:02:33 78

原创 JAVA反射

java反射在java中,每一个类中包含属性和方法,当一段代码在调用过程中,这段代码所涉及到的类的属性和方法会读写进入到jvm虚拟机内存中,并且会记录对应的属性以及方法。因此在运行期间我们能获取到对应的类的属性和方法,那么在运行期间获取属性以及方法并且修改里面的某些值的这一过程就叫反射,反射就是在运行时才知道要操作的类是什么,并且可以在运行时获取类的完整构造,并调用对应的方法.而反射则是一...

2019-02-15 09:59:30 89

原创 SpringBoot+RabbitMQ

RabbitMQRabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现,如下这张图描述了RabbitMQ如何在生产者和消费者之间来传递消息的。Exchange我们在开篇的时候就留了一个坑,就是那个应用结构图里面,消费者Client A和消费者Client B是如何知道我发送的消息是给Queue1还是给Queue2,有没有过这个问题,那...

2019-02-13 14:28:25 113

原创 Java中用接口消除if else

Spring中用InitializingBean来消除if else在你的代码中是否经常出现这种情况,用很长一串的switch case语句以及if else语句来执行对应的功能模块,有想过把switch case语句用其它的东西来替代吗?首先很正常的是我们利用一个接口把各个模块的功能代码写入到各自的实现类里面,并且各个实现类里面定义好一个标识,最后通过初始化把各个实现类通过map的形式 标...

2019-02-11 11:33:36 1951

空空如也

空空如也

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

TA关注的人

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