Java
文章平均质量分 92
博渊同学
每一天的点点滴滴,成功都看在眼里!!!
展开
-
关于阿里easyExcel和poi的差异
一、导入依赖poi<!--xls(03)--><dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>4.1.2</version></dependency><!--xlsx(07)--><dependency> <原创 2021-05-13 18:16:30 · 13596 阅读 · 4 评论 -
Redis系列——第七章 Redis开启哨兵模式
Redis系列Redis系列——第一章 Redis配置文件Redis系列——第二章 Redis数据类型以及基本使用Redis系列——第三章 Redis开启事务并实现乐观锁Redis系列——第四章 Redis发布订阅模式Redis系列——第五章 Redis持久化策略RDB与AOFRedis系列——第六章 Redis主从同步Redis系列——第七章 Redis开启哨兵模式文章目录Redis系列Redis系列——第一章 Redis配置文件Redis系列——第二章 Redis数据类型以及基本使用R原创 2021-02-02 17:26:00 · 1914 阅读 · 0 评论 -
Redis系列——第六章 Redis主从同步
Redis系列Redis系列——第一章 Redis配置文件Redis系列——第二章 Redis数据类型以及基本使用Redis系列——第三章 Redis开启事务并实现乐观锁Redis系列——第四章 Redis发布订阅模式Redis系列——第五章 Redis持久化策略RDB与AOFRedis系列——第六章 Redis主从同步Redis系列——第七章 Redis开启哨兵模式文章目录Redis系列Redis系列——第一章 Redis配置文件Redis系列——第二章 Redis数据类型以及基本使用R原创 2021-01-29 11:04:07 · 574 阅读 · 0 评论 -
Redis系列——第五章 Redis持久化策略RDB与AOF
Redis系列Redis系列——第一章 Redis配置文件Redis系列——第二章 Redis数据类型以及基本使用Redis系列——第三章 Redis开启事务并实现乐观锁Redis系列——第四章 Redis发布订阅模式Redis系列——第五章 Redis持久化策略RDB与AOFRedis系列——第六章 Redis主从同步Redis系列——第七章 Redis开启哨兵模式一、持久化技术1、为什么众所周知,redis是运行在内存上的服务,我们都知道内存一旦断电(软件一旦重启),内存上的所有数据原创 2021-01-26 10:59:51 · 963 阅读 · 1 评论 -
Redis系列——第四章 Redis发布订阅模式
Redis系列Redis系列——第一章 Redis配置文件Redis系列——第二章 Redis数据类型以及基本使用Redis系列——第三章 Redis开启事务并实现乐观锁Redis系列——第四章 Redis发布订阅模式Redis系列——第五章 Redis持久化策略RDB与AOFRedis系列——第六章 Redis主从同步Redis系列——第七章 Redis开启哨兵模式...原创 2021-01-14 14:04:03 · 693 阅读 · 0 评论 -
Redis系列——第三章 Redis开启事务并实现乐观锁
Redis系列Redis系列——第一章 Redis配置文件Redis系列——第二章 Redis数据类型以及基本使用Redis系列——第三章 Redis开启事务并实现乐观锁Redis系列——第四章 Redis发布订阅模式Redis系列——第五章 Redis持久化策略RDB与AOFRedis系列——第六章 Redis主从同步Redis系列——第七章 Redis开启哨兵模式一、Redis事务本质:一组命令的集合 要么一起成功 要么一起失败,一个事务中的所有命令都会被序列化,在事务执行过程中会按原创 2021-01-14 13:38:16 · 686 阅读 · 0 评论 -
Redis系列——第二章 Redis 五种数据类型以及三种特殊类型
Redis系列Redis系列——第一章 Redis配置文件Redis系列——第二章 Redis数据类型以及基本使用Redis系列——第三章 Redis开启事务并实现乐观锁Redis系列——第四章 Redis发布订阅模式Redis系列——第五章 Redis持久化策略RDB与AOFRedis系列——第六章 Redis主从同步Redis系列——第七章 Redis开启哨兵模式一、基础数据类型1、string 类型 <key,value>存储能力:可以是字符串(json串)、整数或浮原创 2021-01-14 13:37:20 · 397 阅读 · 0 评论 -
Redis系列——第一章 Redis配置文件
Redis系列Redis系列——Redis数据类型以及基本使用Redis系列——Redis开启事务并实现乐观锁转载 2021-01-14 13:35:07 · 666 阅读 · 0 评论 -
工具系列——Java生成二维码
Java如何生成二维码工具直接上代码/** * @author wyy * @version 1.0 * @date 2020/12/4 13:42 * 二维码描述方法 **/public class QrCode { /** * 生成二维码的方法写入输出流 * * @param text 内容 * @param width 宽度 * @param height 高度 * @param filePat原创 2020-12-09 16:52:07 · 223 阅读 · 0 评论 -
工具系列——为图片增加水印
前言 在开发公司项目时,需求提出要对公司上传的图片添加水印,要有版权意识,防止他人盗用,于是自己便写了这个工具类不多废话直接上代码/** * @author wyy * @version 1.0 * @Classname ImgWaterRemark * @date 2020/12/4 13:08 * @description 图片增加水印文字、水印图片 **/public class ImgWaterRemark .原创 2020-12-09 15:18:25 · 180 阅读 · 0 评论 -
阿里easyExcel使用—补充(easyExcel2.1.6 版本)
阿里easyExcel系列1、阿里easyExcel使用—上(1.1.2-beta5版本)2、阿里easyExcel使用—下(easyExcel2.0.0 版本)3、阿里easyExcel使用—补(easyExcel2.1.6 版本)源码地址:https://github.com/alibaba/easyexcel升级版本 升级版本 升级版本1、本版本主要是解决了一些2.0.x遗留的一些问题例如无法使cell数据自定义宽度,使用了也没有效果2、工具获取这里博主根据阿里easyExc原创 2020-12-01 13:06:22 · 2109 阅读 · 1 评论 -
深入JVM虚拟机系列——垃圾回收(进阶)
深入JVM虚拟机系列1、深入JVM虚拟机系列——内存结构分析(入门)2、深入JVM虚拟机系列——垃圾回收(进阶)3、待更新…文章目录前言一、垃圾回收器的分类(总共10种)1、serial收集器serial收集器运行图2、parNew收集器parNew收集器垃圾回收运行图3、parallel Scavenge收集器(多线程复制算法、高效)parallel scavenge收集器运行图4、serial old收集器5、parallel old收集器6、CMS收集器(多线程标记清除算法)7、G1(Gar原创 2020-11-26 14:32:47 · 573 阅读 · 0 评论 -
Nginx系列——配置详解
Nginx系列入门——Nginx配置详解进阶——Nginx对服务进行集群部署负载均衡进阶——Nginx配置解决跨域与接口可用性探测进阶——Nginx缓存解决接口性能问题1、什么是代理?正向代理客户端和目标服务器之间服务器,客户端向代理发送一个请求指定目标服务器,然后代理向目标服务器请求回去内容,再将结果返回给客户核心——客户端知道目标服务器地址反向代理客户端和目标服务器之间服务器,客户端向代理发送一个请求,然后代理向目标服务器请求回去内容,再将结果返回给客户核心——客户不知道目标原创 2020-11-18 16:47:09 · 3689 阅读 · 0 评论 -
深入JVM虚拟机系列——内存结构分析(入门)
JVM虚拟机内存分析系列提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加第一章:JVM虚拟机内存结构图分析JVM是什么?JVM结构图虚拟机栈虚拟机堆程序计数器本地方法栈方法区(元空间)第二章:JVM虚拟机栈内存结构分析栈帧局部变量表操作数栈动态链接方法出口第三章:JVM虚拟机堆内存结构分析第四章:JVM虚拟机垃圾回收算法分析第五章:JVM虚拟机垃圾回收器分析第六章:总结提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录JVM虚原创 2020-10-12 17:01:26 · 858 阅读 · 2 评论 -
带你领略IO的魅力——File与MultipartFile的相互转换
什么是MultipartFile? MultipartFile是spring类型,代表HTML中form data方式上传的文件,包含二进制数据+文件名称。什么是File?File类主要是JAVA为文件这块的操作(如删除、新增等)而设计的相关类File类的包名是java.io,其实现了Serializable, Compar...原创 2020-04-22 17:19:43 · 1234 阅读 · 1 评论 -
程序员的每日进阶系列—动态排序
我们在写代码的时候经常会碰到这样的需求1、列表查询默认xxx字段升/降序2、按照列表内的某字段进行升/降序排序,当有两条数据一致则按照xxx字段升/降序排序。例如:在这里,我们默认按照新建时间降序排序,如果点击审批额度/日息 则按照他们中的一个进行升/降序排序如果查出的数据有重复的重复部分进行创建时间降序排序。是不是觉得很绕?捋一下思路:没有条件选择查询默认创建时间降序排序...原创 2020-04-14 17:33:46 · 622 阅读 · 0 评论 -
微服务之接口限流技术guava框架
1、QPS接口流量峰值,同一时间访问的最大人数 (读写) 一般大概约为1000+ 也就是1000QPS。单读的话可以达到3000+。当然写的强度和你的业务复杂度有关,一般业务不复杂,1000+没啥问题,机器是可以顶的住的。2、结合cloud zuul网关设计限流方案首先来了解下 zuul 网关的生命周期每个阶段出现错误的执行情况当 pre 出现异常 ——>error ——>...原创 2020-03-26 11:24:56 · 963 阅读 · 0 评论 -
工具系列——读取.exe文件内的自定义配置文件
前言因为之前开发过APP移动端的应用发布平台,移动端的配置文件解析都有相应的解析工具,从而想为啥不能开发个EXE程序管理平台把三种类型的文件放到同一个项目进行管理,且走相同的逻辑代码?有目标了,开搞!!!!首先网上百度EXE解析配置文件工具…嗯 基本没有不太好写,先看EXE文件包压缩文件结构配置文件结构内容纯json配置这里我们需要读取json文件里面的项目名称productN...原创 2020-03-24 10:51:19 · 1555 阅读 · 0 评论 -
工具系列——解析iOS配置文件.plist获取自定义属性
废话不多说直接上代码依赖: <dependency> <groupId>com.googlecode.plist</groupId> <artifactId>dd-plist</artifactId> <version>1.20</version...原创 2020-03-03 10:28:33 · 538 阅读 · 0 评论 -
工具系列——解析安卓配置文件Manifest.xml
最近在写和移动端相关的项目,所以无聊写了个配置文件解析工具类1、引入apk解析jar包依赖 <dependency> <groupId>net.dongliu</groupId> <artifactId>apk-parser</artifactId> ...原创 2020-03-03 10:17:21 · 826 阅读 · 0 评论 -
消息队列之rocketmq安装启动与常见问题整合
一、 rocketmq 消息队列1、介绍阿里开源的一款高性能、高吞吐量的分布式消息队列中间件。特点:响应快:高并发的情况下1ms 响应情况占比超过99.6%高一致性:使用于金融行业,高性能追踪以及审计模式多模型:支持订阅+点对点支持多方式:支持pull+push两种消息模式高性能:单一队列百万级别更安全:支持单master+多master节点+多master多slave节点2、...原创 2019-12-25 14:24:22 · 1903 阅读 · 0 评论 -
互联网大厂面试题之深入剖析TCP四次挥手
1、为什么要学习?——市场动向分析市场背景:对于这几年的互联网市场,越来越多的市场需求导致人才输出渠道更加丰富,五花八门的教育机构培训班, 学校对互联网人才的培养同样会显得越来越重视问题分析:那么,越来越多的人才的出现必将给我们学员带来更大的挑战,怎么增大在互联网市场的竞争力解决方案: 从宏观的角度来讲我们首先必须增加自我个体的价值和特色总结:在学习框架知识的同时,我...原创 2019-12-02 16:06:46 · 187 阅读 · 0 评论 -
互联网大厂面试题之深入剖析TCP三次握手
1、为什么要学习?——市场动向分析市场背景:对于这几年的互联网市场,越来越多的市场需求导致人才输出渠道更加丰富,五花八门的教育机构培训班, 学校对互联网人才的培养同样会显得越来越重视问题分析:那么,越来越多的人才的出现必将给我们学员带来更大的挑战,怎么增大在互联网市场的竞争力解决方案: 从宏观的角度来讲我们首先必须增加自我个体的价值和特色总结:在学习框架知识的同时,我...原创 2019-12-02 16:01:07 · 296 阅读 · 0 评论 -
springboot快速启动(十一)—— 整合Mail发送邮件
一、快速发送邮件SMTP协议: SMTP是一个相对简单的基于文本的协议。在其之上指定了一条消息的一个或多个接收者(在大多数情况下被确认是存在的),然后消息文本会被传输。工作过程: SMTP协议的工作过程可分为如下3个过程:(1)建立连接:在这一阶段,SMTP客户请求与服务器的25端口建立一个TCP连接。一旦连接建立,SMTP服务器和...原创 2019-12-02 09:46:14 · 641 阅读 · 0 评论 -
Java反射—记录对象前后修改的内容使用注解(下)
一、关于反射上一篇已讲 这篇就不多赘述直接上代码这次比上次有所不同的地方在于 之前是硬编码 这次使用了注解来获取属性对应中文注解类@Target(ElementType.FIELD)@Retention(RetentionPolicy.RUNTIME)@Documented@Inheritedpublic @interface PropertyMsg { String ...原创 2019-11-29 16:24:25 · 876 阅读 · 0 评论 -
带你领略设计模式的魅力
一、策略模式——经典的“鸭子”行为问题1、定义:策略模式定义了算法族,分别封装起来,让他们之间可以互相替换,此模式让算法的变化独立于使用算法的客户下面图片 均来自headfirst 设计模式一书 源码自己写的鸭子游戏问题:模拟鸭子活动,有各种鸭子 会游泳、会飞、会叫 各式各样图解:鸭子作为一个超类 所有的鸭子都必须继承它但是这样会导致各种各样的问题有的鸭子不会飞有的鸭子...原创 2019-11-27 16:19:41 · 175 阅读 · 0 评论 -
springboot快速启动(十)——整合elasticsearch
elasticsearch介绍 ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。中文社区 下载:https://elasticsearch.cn/download/目前elastic已升级到7.0以上版本 去除了type概念整合步骤:1、添加依赖 ...原创 2019-11-19 14:46:21 · 269 阅读 · 0 评论 -
springboot 快速启动(八)——整合多线程开启异步任务
一、定义线程池和开启异步可用Spring中存在一个接口AsyncConfigurer接口,该接口就是用来配置异步线程池的接口,它有两个方法,getAsyncExecutor和getAsyncUncaughtExceptionHandler,第一个方法是获取一个线程池,第二个方法是用来处理异步线程中发生的异常。它的源码如下所示:package org.springframework.schedu...原创 2019-11-19 14:04:32 · 2105 阅读 · 0 评论 -
JDK 8新特性全收录——下
七、方法引用和构造函数引用格式: 容器(对象实例/类):: 方法名 List<VideoOrder> list2 = Arrays.asList(new VideoOrder("2019110601",21,"springcloud教程"), new VideoOrder("2019110602",23,"netty 教程"), ...原创 2019-11-07 11:35:47 · 224 阅读 · 0 评论 -
JDK 8新特性全收录——上
JDK 8的新特性 最全收录原创 2019-11-07 11:34:46 · 404 阅读 · 0 评论 -
spring boot快速启动(七)——boot与定时任务
一、什么是定时服务: 每到一点时间就会自动执行重复动作和代码;原创 2019-10-18 11:23:20 · 927 阅读 · 0 评论 -
spring boot快速启动(四)——整合eureka注册中心
一、pom.xml文件1.1、boot版本<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.7.RELEASE</ver...原创 2019-06-05 16:16:30 · 503 阅读 · 0 评论 -
架构演进与区别
一、传统架构单系统模式:一旦系统内部的某个模块负载过大系统就会崩溃最大负载量: 几千到几万访问量耦合度 : 模块与模块之间的关系不清 耦合度较高二、集群部署(是一种方式而不是架构)定义:集群指的是将几台服务器集中在一起,实现同一业务。工作方式:利用负载均衡器将系统分别部署在各个节点 可以部署多个数据库最大负载: 几万到十几万访问量三、分布式系统定义:一个业务分拆多...原创 2019-05-28 17:33:14 · 815 阅读 · 0 评论 -
spring boot快速启动(二)整合mybatis快速启动项目
一、项目所需要的基本依赖 <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId&...原创 2019-05-16 17:32:52 · 369 阅读 · 0 评论 -
Spring boot的使用(一)快速入门
Springboot的快速入门以及注意点1、快速开始(1)、ide快速创建springboot项目(以idea为例)步骤1、file->new ->project->spring initializr->nest->nest->勾选web依赖(构成一个最简单的web项目)nest->finish此时项目目录结构类似如下其中最重要的是xx...原创 2019-05-08 16:40:34 · 363 阅读 · 0 评论 -
代理服务之Nginx反向代理的定义与使用
Nginx反向代理的定义与使用首先Nginx到底是个什么东西?具有高性能的http反向代理工具 代理本地的前端页面同时监听后台的项目接口,我们完全可以拿它来充当一个服务器来使用下面我就来讲讲 这个神奇的东西到底是如何使用的?首先你想要使用什么东西,你必须要先下载该软件下面附上下载官网地址:http://nginx.org/en/docs/windows.html软件下完后目录结构如下...原创 2019-03-29 09:23:29 · 206 阅读 · 0 评论 -
spring boot为什么越来越受欢迎?------习惯优于配置
一、springboot的发展2003 年 Rod Johnson 和同伴在此框架的基础上开发了一个全新的框架命名为 Spring ,据 Rod Johnson 介绍 Spring 是传统 J2EE 新的开始。随后 Spring 发展进入快车道。2004 年 03 月,1.0 版发布。2006 年 10 月,2.0 版发布。2007 年 11 月更名为 SpringSource,同时发布...原创 2019-03-07 17:21:50 · 4706 阅读 · 0 评论 -
spring boot快速启动(五)--整合feigin
一、feigin使用(前提该项目是一个cloud项目,且包含注册客户端)步骤:1.1、依赖引入<!--引入feign依赖 --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>...原创 2019-06-05 16:22:44 · 3704 阅读 · 3 评论 -
spring boot快速启动(三)springboot整合Pagehelper 快速使用
步骤:1、 导入依赖: <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>4.1.0</version> ...原创 2019-05-31 16:54:02 · 362 阅读 · 0 评论 -
feigin使用需要注意的一些问题
1、feigin无法多继承只允许单继承接口 如需要解决代码冗余只能单继承 所以尽量继承接口多的那个接口public interface SlideshowtimeInterface { @RequestMapping(value = "/slideshowtime/updateTime", method = RequestMethod.POST) public Map<...原创 2019-06-14 16:19:44 · 5749 阅读 · 0 评论