- 博客(23)
- 资源 (3)
- 问答 (1)
- 收藏
- 关注
原创 zookeeper 客户端curator
zookeeper 客户端curator简介Curator是Netflix公司开源的一套zookeeper客户端框架,解决了很多Zookeeper客户端非常底层的细节开发工作,包括连接重连、反复注册Watcher和NodeExistsException异常等等。注意:如果您希望将 Curator 与 ZooKeeper 3.4.x 一起使用,您应该固定到 Curator 的 4.2.x 版。【官网】http://curator.apache.org/index.htmlmvn依赖<!-
2021-08-17 17:11:12
211
原创 cglib 动态增强
import java.beans.IntrospectionException;import java.beans.Introspector;import java.beans.PropertyDescriptor;import java.lang.reflect.InvocationTargetException;import java.util.Date;import java.util.HashMap;import java.util.Map;/*** @author zbing
2021-08-17 17:06:34
244
原创 Curator 工具类ZKCuratorUtil
import cn.bugstack.middleware.schedule.common.Constants;import cn.bugstack.middleware.schedule.domain.Instruct;import com.alibaba.fastjson.JSON;import org.apache.curator.RetryPolicy;import org.apache.curator.framework.CuratorFramework;import org.apach
2021-08-17 17:04:09
416
原创 Comparable和Comparator两种比较器的区别
Comparable接口 只定义了一个抽象方法compareTo(T o)实现有很多:Integer、Long、Double等常用的封装类都集合可以称为内比较器 :可以和自己比较的Comparator接口抽象方法很多。与之相同的方法compare(T o1, T o2)可以看到需要传入两个需要比较的对象比如 List的sort(Comparator<? super E> c)可以称为外比较器Comparator和Comparable的区别一个类实现了Camparable接口则表明这
2021-08-17 17:00:16
181
原创 mybatis 运行案例
学习源码使用基本环境pom文件<dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.5</version></dependency><dependency> <groupId>mysql</groupId>.
2021-08-17 16:38:58
71
原创 maven 手动打入jar包到仓库
手动打入jar语法mvn install:install-file -Dfile=<path-to-file> -DgroupId=<group-id> -DartifactId=<artifact-id> -Dversion=<version> -Dpackaging=<packaging>例如:whitelist-spring-boot-starter.jarmvn install:install-file -Dfile=D:\jav
2021-08-17 16:33:29
254
原创 linux 磁盘挂载
添加磁盘在 Linux 系统中,管理硬盘设备最常用的方法就当属 fdisk命令了。 fdisk 命令用于管理磁盘分区,格式为fdisk [磁盘名称],它提供了集添加、删除、转换分区等功能于一身的“一站式分区服务”。不过与前面讲解的直接写到命令后面的参数不同,这条命令的参数是交互式的,因此在管理硬盘设备时特别方便,可以根据需求动态调整。参数作用m查看全部可用的参数n添加新的分区d删除某个分区信息l列出所有可用的分区类型t改变某个分区的类型p查看
2021-08-17 16:26:33
177
原创 shell 字符串操作
分割使用制表符OLDIFS=$IFSIFS=$'\n'array=($string).....IFS=$OLDIFS注:如果需要用\n当做分隔符的话 IFS应使用$’\n’ 而不是’\n’使用awk"1,2,,3" 分割成数组arr=(`echo "1,2,,3" | awk '{ len=split($0,a,","); for(i=1;i<len+1;i++){ val=a[i]; if(val == ""){ print "null"
2021-08-17 16:22:03
88
原创 linux 安装环境-常用
JDK#安装前清理工作rpm -qa | grep jdkrpm -qa | grep gcjyum -y remove java-xxx-xxx#安装#压缩包mkdir /usr/local/java#mv 移动jdkcd /usr/local/java#解压tar -xzvf jdk.file#配置环境vi /etc/profile JAVA_HOME=/usr/local/java/jdk1.8.0_151 CLASSPATH=$JAVA_HOME/lib/ PA
2021-08-17 16:15:34
359
原创 linux centos7 -防火墙、端口相关
防火墙linux centos7 防火墙默认使用firewalldSystemctlsystemctl status firewalldactive (running) 开启inactive (dead) 关闭firewall-cmd --state 直接查看状态操作防火墙#开启防火墙systemctl start firewalld#关闭防火墙systemctl stop firewalld#重启防火墙systemctl restart firewalld端口相关
2021-08-17 15:52:59
186
原创 3DES加密工具类
javax.crypto.BadPaddingException: Given final block not properly padded. Such issues can arise if a bad key is used during decryption.线上排查出现过linux获取秘钥与windows不同的情况,应注意秘钥获取方式import org.apache.tomcat.util.codec.binary.Base64;import javax.crypto.Cipher;i
2020-12-22 18:04:34
674
原创 mysql 批量操作存储过程
DROP PROCEDURE IF EXISTS test_update;DELIMITER$$CREATE PROCEDURE test_update () BEGIN DECLARE table_name_idx VARCHAR(40) DEFAULT 'table'; DECLARE i INT DEFAULT 1; DECLARE table_name VARCHAR(40) DEFAULT ''; -- ex: table01,table02......table31 W
2020-12-09 16:48:42
283
原创 原型模式
导航1.浅拷贝实现2.深拷贝通过成员内部属性的clone方法通过序列化对象设计模式主要分创建型模式、结构型模式和行为型模式。原型模式(Prototype Pattern)是用于创建重复的对象,同时又能保证性能。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。例子:JAVA 中的 Object clone() 方法。核心思想:通过拷贝原型对象创建新对象1.浅拷贝实现public class Person implements Cloneable { private Str
2020-10-29 16:19:49
111
原创 单例模式
推荐使用4、5、6中方式1.懒汉式,线程不安全2.懒汉式,线程安全3.饿汉式4.双检锁/双重校验锁(DCL,即 double-checked locking)5.静态内部类 与双检锁方式一样6.枚举设计模式主要分创建型模式、结构型模式和行为型模式。单例模式,顾名思义就是只有一个实例,并且她自己负责创建自己的对象,这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。属于创建型模式。核心:构造方法私有化,private1.懒汉式,线程不安全public class Singl
2020-10-29 15:13:11
66
原创 i++ 和 ++i
收藏一下:https://blog.youkuaiyun.com/android_cai_niao/article/details/106027313
2020-10-29 14:34:01
178
原创 代理模式
导航1.定义2.静态代理3.jdk动态代理4.cglib动态代理1.定义为其他对象提供一种代理以控制对这个对象的访问例子: 火车票代售点为什么要用代理模式?中介隔离作用: 在某些情况下,一个客户类不想或者不能直接引用一个委托对象,而代理类对象可以在客户类和委托对象之间起到中介的作用,其特征是代理类和委托类实现相同的接口。开闭原则: 代理类除了是客户类和委托类的中介之外,我们还可以通过给代理类增加额外的功能来扩展委托类的功能,这样做我们只需要修改代理类而不需要再修改委托类,符合代码设计的开闭
2020-10-29 11:04:58
230
1
原创 linux centos7 -防火墙
这里写目录标题查看当前防火墙的状态:防火墙操作:端口相关:查看当前防火墙的状态:systemctl status firewalldactive (running) 开启inactive (dead) 关闭firewall-cmd --state 直接查看状态防火墙操作:#开启防火墙systemctl start firewalld#关闭防火墙systemctl stop firewalld#重启防火墙systemctl restart firewalld端口相关:#查看
2020-09-18 16:48:05
207
原创 linux 环境安装
jdkmkdir /usr/local/java#mv 移动jdkcd /usr/local/java#解压tar -xzvf jdk.file#配置环境vi /etc/profileJAVA_HOME=/usr/local/java/jdk1.8.0_151 CLASSPATH=$JAVA_HOME/lib/ PATH=$PATH:$JAVA_HOME/bin export PATH JAVA_HOME CLASSPATH#刷新配置source /etc/profilemy
2020-09-18 16:37:38
99
转载 VM linux
1.在vm安装linux2.编辑网络编辑器192.168.44.2为网关地址,192.168.44.255为广播地址,192.168.44.0一般为网段IP,所以0,2,255这三个地址不能设置。3.设置虚拟机的IP、DNS和主机名 1)设置IP地址、子网掩码和网关vi /etc/sysconfig/network-scripts/ifcfg-ens33 TYPE=EthernetPROXY_METHOD=noneBROWSER...
2020-09-18 16:27:27
141
原创 redis key过期策略
通过EXPIRE key seconds命令来设置数据的过期时间。返回1表明设置成功,返回0表明key不存在或者不能成功设置过期时间。在key上设置了过期时间后key将在指定的秒数后被自动删除。被指定了过期时间的key在Redis中被称为是不稳定的。Redis key过期的方式有三种:惰性删除:当读/写一个已经过期的key时,会触发惰性删除策略,直接删除掉这个过期key(无法保证冷数据被及...
2019-04-19 15:02:59
5129
原创 java并发基础(一)
现代操作系统在运行一个程序时,会为其创建一个进程。例如,启动一个Java程序,操作系统就会创建一个Java进程。线程是现代操作系统调度的最小单元,也叫轻量级进程,在一个进程里可以创建多个线程,这些线程都拥有各自的计算器、堆栈和局部变量等属性,并且能够访问共享的内存变量。处理器在这些线程上高速切换,让使用者感觉到这些线程在同时执行。1.为什么要用到并发面对复杂业务模型,并行程序会比串行程序更...
2019-03-05 09:41:23
245
原创 springboot读取jar包resources下的文件
如果要在Spring Boot JAR中从类路径加载文件,则必须使用该resource.getInputStream()方法将其作为InputStream进行检索。如果您尝试使用,resource.getFile()您将收到错误,因为Spring尝试访问文件系统路径,但它无法访问JAR中的路径。//方式1: InputStream inputStream = getClass()....
2018-09-12 13:55:58
4000
pdf查看器,支持编辑功能
2020-12-09
java web 项目报这错误怎么解决呢....
2017-11-02
TA创建的收藏夹 TA关注的收藏夹
TA关注的人