自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

二老付的博客

一个转行从事IT的学习道路

  • 博客(27)
  • 收藏
  • 关注

原创 SpringBoot集成ES完成查询

依赖<!-- 集成es client,并排除低版本依赖(5.6) --><dependency> <groupId>org.elasticsearch.client</groupId> <artifactId>elasticsearch-rest-high-level-client</artifactId> <version>7.1.1</version> <exclusions&g

2020-12-08 13:33:26 931

原创 linux 查看修改hostname | 开关防火墙

查看hostname[root@note02 eureka]# hostnamectl Static hostname: note02 Icon name: computer-vm Chassis: vm Machine ID: 4434b1d63fed4e0088894xxxxxx Boot ID: 368b0e771a3a497caa3e067xxxxx Virtualization: vmware Ope

2020-09-04 15:59:48 286

原创 导出word docx 打包成jar 文件路径无法解析

导出word文档(docx)前言我们常常在代码中读取一些资源文件(比如word文档、导出模版等)。在开发工具中单独运行,这些简单读取不会有问题。但是,如果我们把代码打成一个jar包发布到服务器,运行程序时就会抛出找不到文件的异常。我是如何解决呢?背景这个问题是在一次使用freemarker模版引擎导出word报告时发现的。本次导出word的文档格式为docx,大概说一下实现思路是:准备一个排好版的docx文档,使用freemarker将其中的变量替换。docx文档本身其实是一个压缩的zip文件,将其

2020-08-24 15:59:46 694 1

原创 线程与并发 - JUC

多线程与高并发juc - java.util.concurrent 包下java为我们提供了多种基于cas实现的线程安全锁ReentrantLock - 可重入锁 需要手动释放锁CountDownLatch - 倒数门栓CyclicBarrier - 循环栅栏Phaser - 阶段栅栏ReadWriteLock - 读写锁 读锁共享 写锁排他Semaphore - 信号灯Exchanger - 线程交换器LockSupport - 工具类,创建锁和其它同步工具类的基本线程阻塞原语Re

2020-07-21 09:32:50 153

原创 线程与并发 - CAS与Atomic*

多线程与高并发

2020-07-08 17:42:02 112

原创 线程与并发 - volatile

多线程与高并发volatile 保证线程间可见性,让一个变量再多个线程间是可见的volatile 禁止指令重排序java中 堆内存是所有线程共享的内存,并且每个线程都有属于自己的工作内存,当线程需要访问某一个值时,会复制一份值放在自己得工作内存中,当线程执行完毕将变化后的值再写回堆中。java语言 是需要经过编译器编译的,往往我们看似是一行的代码,编译之后会变成多个指令操作。cpu执行指令-流水线式执行 – 即为了提高效率现在cpu不再是一步一步执行的了,可能你的第一个指令执行一半的时候,第二个

2020-07-07 14:05:20 154

原创 线程与并发 - synchronized

多线程与高并发synchronized 当多个线程同时访问同一个资源的时候需要对这个资源上锁。synchronized 既保证原子性,也保证线程间的可见性当我们对一个数字进行递增操作时,如果两个程序同时访问,第一个线程读到count=0,并对其+1,在自己线程内部的内存里还没有写回去的时候;第二个线程读到的count也是0,并+1写回去;但是程序明明对count进行了两次+1操作,但结果还是1。那么我们对这个递增过程加上一把锁,当第一个程序访问的时候,这个资源是它独占的,不允许别的线程访问计算,

2020-07-03 14:32:47 462 1

原创 线程与并发-Thread

多线程与高并发进程:LOL.exe 点开 登陆进去,这就叫一个进程。他是一个动态得概念。线程:进程中得最小执行单远,就是一个程序中不同得执行路径。线程的创建方式public class Thread_001 { static class MyThread extends Thread{ @Override public void run() { System.out.println("Hello Thread");

2020-07-01 11:33:02 305

原创 Redis - 布隆过滤器

目前仅redis4.0以上版本支持安装插件git clone https://github.com/RedisBloom/RedisBloom.gitcd RedisBloommake //编译 会生成一个rebloom.so文件redis-server --loadmodule /path/to/rebloom.soredis-cli -h 127.0.0.1 -p 6379添加依赖,目前redis的jar包不支持布隆过滤器命令<dependency> <gro

2020-06-30 14:23:04 216

原创 kafka-10--springboot集成kafka

Springboot 集成kafka1.创建springboot项目并引入依赖<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.5.RELEASE</version> </pa

2020-06-28 16:53:45 171

原创 kafka-9--java-事务控制

kafka事务控制kafka在0.11.0.0在引入幂等性概念的同时也引入了事务的概念。一般来说默认消费者消费的信息级别是read_uncommited数据;这有可能读取到事务失败的数据,所以在开启生产者事务之后,需要用户设置消费者的事务隔离级别1.创建生产者并开启事务控制public class KafkaProducerTranactions { public static void main(String[] args) { KafkaProducer<Stri

2020-06-28 15:27:15 502

原创 kafka-7--java-应答及重试

kafka应答及重试策略kafka在生产者发送完一个消息之后,要求broker在规定的时间内Ack应答;如果没有在规定时间内ack;生产者会尝试n次重新发送消息。acks=1 (默认)Leader会将Record写在其本地日志中;但不会等待所有Follower的完全确认的情况下做出响应,这种情况下,如果Leader在确认记录后立即失败,在Follower复制记录之前失败,则记录会丢失acks=0 生产者不等待服务器确认,将记录加载到缓冲区即视为发送;这种情况不能保证服务器已收到记录acks=all

2020-06-28 14:47:52 376

原创 kafka-6--java-偏移量

一个kafka消费者实例在对未订阅的topic的offset的首次消费策略默认:latest - latest - 自动将偏移量重置为最新的偏移量 - earliest - 自动将偏移量重置为最早的偏移量 - none - 如果未找到消费者组的先前偏移量,则像消费者抛出异常

2020-06-28 14:04:46 609

原创 kafka5--java-自定义序列化及反序列化

完成对序列化接口的自定义一般在我们开发过程中我们传输的可能是一个对象,不再是单纯的String,这就要求我们能够对一个对象直接进行序列化完成传输1.创建实体类//必须实现Serializable接口public class User implements Serializable { private Integer id; private String name; private Date birthDay; public User() { }

2020-06-28 14:03:54 407

原创 kafka-4--java-自定义拦截器

完成自定义拦截器实际开发工作中可能要求我们在生产者发送信息之前统一打一个标记或者修改一个类型就可以用到拦截器1.创建生产者拦截器public class UserDefineInterceptor implements ProducerInterceptor { @Override public ProducerRecord onSend(ProducerRecord record) { System.out.println("发送之前record会在这里,我们可以

2020-06-28 14:03:06 149

原创 kafka-3--java-生产者与消费者

创建kafka生产者public class KafkaProducerQuickStart { public static void main(String[] args) { Properties props = new Properties(); props.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG,"ip:9092"); //设置生产者对key的序列化 props.put(Pro

2020-06-28 14:02:04 153

原创 kafka-2-- java-基本操作

创建一个maven项目 引入依赖jar<dependencies> <dependency> <groupId>org.apache.kafka</groupId> <artifactId>kafka-clients</artifactId> <version>2.5.0</version> </dep

2020-06-28 14:01:06 229

原创 kafka-8--java-幂等性

kafka幂等性幂等性:一次和多次请求某一个资源,资源本身应该具有同样的结果(网络超时等问题除外);即:其任意多次执行对资源本身所产生的影响均与一次执行的影响相同。kafka幂等性:0.11.0.0版本开始支持幂等性幂等是针对生产者角度的特性;可以保证生产者发送的信息不丢失;不重复。kafka幂等的关键就是服务端可以区分请求是否重复,过滤掉重复请求。服务端区分请求的两点要求:唯一标识 - - 要想区分请求是否重复,请求中就得有唯一标识;例如:支付请求中的订单号就是唯一标识。记录下已处

2020-06-28 13:59:43 272

原创 kafka-1--linux-环境单机部署

kafka 安装包下载jdk安装包下载zookeeper安装包下载kafka安装包下载安装java环境1.上传jdk安装包到 /usr 下2.解压安装包tar -zxvf /usr/jdk-8u231-linux-x64.tar.gz3.配置环境变量vi /etc/profile#编辑profile文件将下面java环境变量配置到文档末尾中#set java environmentJAVA_HOME=/usr/jdk1.8.0_231PATH=$PATH:$JAVA_HOM

2020-06-24 18:18:46 217

原创 spring常用注解大全

注解解释@Controller组合注解(组合了@Component注解),应用在MVC层(控制层),DispatcherServlet会自动扫描注解了此注解的类,然后将web请求映射到注解了@RequestMapping的方法上。@Service组合注解(组合了@Component注解),应用在service层(业务逻辑层)@Reponsitory组合注解(组合了@Component注解),应用在dao层(数据访问层)@Component表示一个带注释的类是一个...

2020-06-19 10:08:23 352

原创 Mysql - 时间函数

mysql时间函数#获取当前时间 2020-05-27 10:04:13SELECT now();#获取7天前的时间 2020-05-20 10:04:23select (DATE_SUB(NOW(),INTERVAL 7 DAY))#获取7填后的时间 2020-06-03 10:05:01select (DATE_ADD(NOW(),INTERVAL 7 DAY))#获取日期的毫秒值1589940274000SELECT UNIX_TIMESTAMP(DATE_SUB(NOW(),I

2020-05-27 10:08:30 127

原创 java设计模式-责任链

理论写着写着就明白了应用场景过滤器Filter 拦截器Interceptor解耦合 | 增加扩展性先来上个图大家看啊,我现在要完成这样一个事情:刚起床的我要洗漱,穿衣服,吃饭,上班,我们实现可以写一个洗漱的filter完事之后再来一个穿衣服的filter然后再来一个吃饭的filter最后再来一个上班的fiter,那么我以后再这个基础上还要加开会,得奖金,娶媳妇儿,生孩子等等这一系列呢?我们可以每次增加一个新的filter然后再我的main里面new出来再给我人进行filter(),但是这样就

2020-05-12 13:52:48 113

原创 java设计模式-门面与调停

理论写着写着就明白了应用场景任何可以产生对象的类,都可以称之为工厂单列就是一种工厂权限、修饰、日志…二话不说先上代码

2020-05-11 13:30:50 211

原创 java设计模式-工厂

理论写着写着就明白了应用场景将实体类的创建转交给工厂,方便产品的扩展例如:一键换肤,换主题…等等名词–抽象工厂 abstract class | 形容词–工厂方法 interface method譬如:我现在有个需求,需要给我三个类,一个汽车,一个飞机,一艘船,这三个都是交通工具,都有一个移动的方法,我的功能要求出门乘坐交通工具,最开始时乘坐汽车,我们可以new 一个汽车,调用它...

2020-04-30 15:49:24 129

原创 java设计模式-策略

理论写着写着就明白了应用场景例如 Interface Comparator 中的compare方法当同一个功能需要不通过不同的方式进行处理比如付大厨做的一盘菜,李明想站着吃,Danny想跪着吃,Janny想哭着吃二话不说先上代码 仿Comparator实际工作中我们有一个排序的方法,但是需求一会儿想学生按照年龄大小进行排序一会儿又想学生按照体重大小进行排序,这就用到了策略模式。/...

2020-04-26 22:23:29 115

原创 java设计模式-单例

理论写着写着就明白了应用场景只需要一个实例 如 Mgr || Factory

2020-04-24 17:01:29 92

原创 linux-cp 命令

cp-复制 命令我们境外有个采集图片的机器,由于前几天程序挂掉了,图片没能回传,导致页面图片无法显示,恢复后图片并没有回传到对应的路径下,需要手动复制一下图片到对应文件夹下。如图,现在需要将15号文件夹下的图片复制到 14号cp :cp -r /15/* 14 —复制15下的所有文件到14cp -r /15/t_twitter(部分文件的前缀)_* ----指定复制部分文...

2020-04-15 10:50:46 156

空空如也

空空如也

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

TA关注的人

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