自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 springboot redisTemplate redis实现分布式锁

获取锁实现原理 使用redis lua脚本 lua脚本执行是个原子操作重要命令 setnx 如果key不存在则设置值代码: /** * 获取锁 * 原因是 redis是单线程的 一但一个线程获取锁后 其它线程就不能获取的锁 * @param lockKey 锁名称 * @param value 值 * @param exp...

2020-01-15 11:42:00 1485

原创 tomcat8.5 配置https证书

第一步:用java自带的工具生成证书keytool -genkey -v -alias tomcat -keyalg RSA -keystore C:\apache-tomcat-8.5.31\conf\key\tomcat.keystore -validity 36500第二步:<Connector port="8443" protocol="org.apache.coy...

2019-11-06 14:30:34 854

原创 重载和重写的区别

1.重载(Overload)重载方法名相同,参数列表不同(参数个数不同,参数类型不同,参数列表不同)。注:重载中返回值类型,方法修饰符可以不同,但是返回值类型,修饰符不同不能判断是否为重载。2.重写(Override)1.方法名相同,参数列表相同2.返回值为基本类型,则返回值类型相同(除子类返回值是父类返回值的子类)3.子类抛出的异常不能比父类大4.子类方法修饰符不能...

2019-03-26 14:06:09 586

原创 线程的终止操作

1.使用interrupt()/isInterrupted()/interrupted()interrupt() 在一个线程中调用另一个线程的interrupt()方法,即会向那个线程发出信号-->线程中断标志已设置isInterrupted() 判断当前线程的中断状态(true 终止)interrupted() 线程的静态方法,用来恢复中断状态(注:作用与当前线程中)int...

2019-03-26 12:12:52 222

原创 CountDownLatch使用和分析

使用案例:/** * CountDownLatch 使用以及原理分析 */public class CountDownLatchDemo { public static void main(String[] args) throws Exception { CountDownLatch latch = new CountDownLatch(3); ...

2019-03-25 16:36:15 378

原创 Final关键字的理解

final 不可变1.Final修饰的类不能被继承2.final修饰的方法不能重写3.final修饰的变量必须初始化且只能初始化一次4.final修饰的基本类型不可改变5.final修饰的引用类型不可变,内容可以改变final不可变,而继承是多态的体现同一个对象不同的表现,所以final修饰的类和方法不能被继承和重写。...

2019-03-22 15:27:35 160

原创 Vector源码分析以及ArrayList比较

源码分析如下:package easyExcel;import java.util.Vector;public class VectorDemo { public static void main(String[] args) { /** protected Object[] elementData; 数组存储元素 ...

2019-03-21 13:18:35 162

原创 ArrayList和LinkedList源码分析

ArrayList和LinkedList源码分析:package easyExcel;import java.io.FileNotFoundException;import java.util.ArrayList;import java.util.LinkedList;public class App { public static void main( String...

2019-03-20 22:49:56 206

原创 代理模式

1.静态代理接口package ProxyDemo.staticProxy;public interface Person { void findJob();}委托类package ProxyDemo.staticProxy;public class Tom implements Person{ @Override public void...

2019-03-12 11:47:05 110

原创 强引用、软引用、弱引用、虚引用

强引用以前我们使用的大部分引用实际上都是强引用。如果一个对象具有强引用垃圾回收器绝不会回收它。当内存空间不足,Java虚拟机会抛出OutOfMemoryError错误,使程序异常终止。public class StrongReferenceDemo { static Object object = new Object(); public static void m...

2019-03-04 10:57:20 149

原创 ArrayList扩容机制

ArrayList构造函数 //存储元素transient Object[] elementData;//扩容时使用private static final Object[] EMPTY_ELEMENTDATA = {};//元素的个数private int size;//默认容量大小private static final int DEFAULT_CAPACIT...

2019-02-13 16:56:50 544 1

原创 asList详解

asList(T... a)返回的是一个固定大小的list集合源码分析:public static &lt;T&gt; List&lt;T&gt; asList(T... a) { return new ArrayList&lt;&gt;(a); }此时的ArrayList为Arrays里面自定义的一个私有的内部类 private static cla...

2019-01-18 09:30:20 1388

原创 Zookeeper使用

1.安装...................2.Zookeeper常见命令①create命令创建节点create [-s][ -e] path data acl-s:顺序节点 -e:临时节点 都不加为持久节点 path:节点名称 data节点值 acl权限②读取节点ls pathpath:表示命令名称 命令 命令说明 create(创建节点)...

2018-12-26 13:42:45 171

原创 分布式相关概念

1.CAP理论        C:一致性(Consistency) A:可用性(Availability)和分区容错性(Partition tolerance)。在一个分布式系统里面不可能同时满足CAP这三个基本需求,最多只能同时满足其中两项(在现在分布式系统中P是都会满足)。    一致性:是指数据在多个副本之间是否能够保持一致性。在一致性的需求下,当一个系统在数据一致的状态下执行更新操...

2018-12-20 17:01:58 323

原创 mybatis批量新增

批量新增两种方式:①:使用case when end形式 update  capital_invoice_item setstatus=case id then 1 then 11case id then 2 then 22endwhere id in (1,2)UPDATE capital_invoice_item &lt;trim prefix="s...

2018-12-20 14:06:52 685

原创 Java SPI(Service Provider Interface)

1.什么是SPI SPI全称Service Provide Interface,是JDK内置的一种服务提供发现机制(如:JDBC)。是一种动态替换发现机制。例如:有个接口想在运行时才发现具体的实现类,那么你只需要在程序运行前添加一个实现即可,并把新加的实现描述给JDK即可。实现类系统类加载器AppClassLoader来加载(注:这里是违反了类加载器双亲委派模式)。2.SPI规范...

2018-12-20 11:56:13 222

原创 zookeeper简介

 1.什么是zookeeper            zookeeper是一个高效可靠的分布式协调服务,提供了诸如统一命名服务、配置管理和分布式锁等分布式服务。是一个典型的分布式数据一致性的解决方案,分布式应用程序可以基于它实现诸如数据发布/订阅、负载均衡、分布式协调通知、Master选举、分布式锁和分布式队列等功能。zookeeper可以保证如下分布式一致性特性。      顺序一致...

2018-12-19 17:14:51 579

原创 通过poi读取Excel的内容

package com.cp.base.util;import com.cp.annotation.NameAnnotation;import org.apache.poi.ss.usermodel.*;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import java.io.IOException;import ...

2018-11-14 11:24:53 222

原创 版本号规则

版本号命名规则x.y.z   X表示主版本号,当API兼容变化时,X需要递增   Y表示次版本号,当增加功能时(不影响API的兼容性),Y递增   Z表示修订号,当做Bug修复时(不影响API的兼容性),z需要递增X.Y.Z必须为非负整数,且不包含前导零,必须按照数值递增。当API的兼容变化时,X必须递增,Y和Z同时设置为0,当新增功能(不影响API的兼容性)或者API标记为D...

2018-09-07 09:59:30 2650

原创 java反射

反射:       JAVA反射机制是在运行状态(不是在编译期)中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。反射的具体实现: public static void main(String[] args) { //1.获取Class对象的三种方式 ...

2018-09-06 14:25:34 143

原创 switch case 中如何使用枚举

枚举类: public enum ContractTempletEnum { PPT(1,"普通模板"),SIGNT(2,"签约模板"); private Integer id; private String name; private ContractTempletEnum(Integer id, String name) { this.id = id; this.na...

2018-07-27 13:18:09 20855

原创 mysql 日期函数date_format(date,format)

date_format(date,format)将日期转换为指定的format格式 例如:date_format(now(),'%Y-%m-%d %H:%i:%s') --&gt; 2018-01-01 12:12:12常见的format格式:%Y 年 4位 例 2018%m 月 2位 例 01%d 日 2位 例 01%H 时 24小时 01、23%i 分 2位 例 0...

2018-07-26 14:00:43 1169 3

空空如也

空空如也

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

TA关注的人

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