自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

念念不忘,必有回响

个人博客:weihubeats.cn

原创 初识Netty四(基于Netty的HTTP文件服务器开发)
原力计划

文章目录演示代码下一章 基于Netty的WebSocket协议开发 演示 实现效果大致如下: 启动 HttpFileServer 访问连接 点击文件也是可以直接下载 代码 HttpFileServer @Slf4j public class HttpFileServer { pri...

2020-05-31 00:47:02 7 0

原创 初识Netty三(基于MessagePack实现编解码)
原力计划

MessagePack介绍 目前主要的编解码: Java序列化 Marshalig XML JSON MessagePack Protobuf … 本次编解码是使用 MessagePack实现的,MessagePack主要优点: 高效 跨语言 官网解释: 更多介绍请自行查看官网 Mes...

2020-05-30 16:54:08 32 0

原创 初识Netty 二 (粘包拆包的简单处理DelimiterBasedFrameDecode自定义分隔符)
原力计划

上一节我们基于netty简单构建了一个客户端服务器,相互发送消息,但是前提是不考虑占包和拆包的情况,今天我们来分析下占包和拆包 什么是粘包,什么是拆包 熟悉TCP的都知道,TCP是一个"流协议",所谓的流,就是没有界限的一串数据,连成一片的,比如我们客户端发送2个数据包A、B...

2020-05-25 22:14:51 38 0

原创 初识Netty 一 (基于Netty简单的客户端,服务器连接demo)
原力计划

Netty依赖 <dependency> <groupId>io.netty</groupId> <artifactId>netty-all</artifactId> ...

2020-05-24 23:55:55 37 0

原创 Springboot+Redis实现过期键通知(订单超时取消方案总结)
原力计划

背景 需求需要实现 订单15分钟超时未支付自动关闭 调研实现方案 基于java DelayQueue 缺点: 单机、不能持久化、宕机任务丢失等等; 定时任务全表扫描

2020-05-23 11:16:54 137 0

原创 idea设置自定义方法、类模板

实际效果: 类 方法 类模板设置 /** *@Description: *@author : wh *@date : ${DATE} ${TIME} */ 方法模板设置 这里分组随便取名字吧,我是已经创建了所以不能再重复创建 选中分组,创建一个新的模板 我这里设...

2020-05-22 08:51:31 65 0

原创 对象copy试试MapStruct,放弃万恶的BeanUtil.copyProperties
原力计划

背景 在代码分成越来越规范的时候,就会出现这种问题,按阿里规范来说BO只是操作数据层,在我们使用mybagtis查询或者返回对象时,数据操作层都只能使用BO,而与前端交互的往往都是DTO或者Query,这里就会涉及到大量的,对象copy,一般来说对象copy大家想到的都是使用 spring提供的B...

2020-05-10 23:46:40 126 0

原创 Spring Boot(十一)集成MyBatis-Plus
原力计划

文章目录MyBatis-Plus特性快速开始项目整体目录结构数据库准备配置文件简单CRUD通用service源码下载 MyBatis-Plus 官网 个人白话解释:简单的CRUD直接通过方法调用,无需多写接口和xml,像jpa那样调用 愿景 我们的愿景是成为 MyBatis 最好的搭档,就像 ...

2020-05-05 17:54:29 76 0

原创 这个mysql的坑分享给大家 希望大家以后不会踩到(不等于的坑)

问题 最近在开发过程中sql中可能有需求需要过滤某类商品,然后sql中就使用了 <>,结果测试把我坑惨了 我们来看看具体例子 这里假定我有一个用户表 user,需求是查询出所有的用户 select * from user; 这里可以看到有些name是为null 然后这时候因为某些业...

2020-04-30 16:40:19 114 0

原创 Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile

Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project portal-service: Fatal error compilin...

2020-04-20 11:47:47 217 0

原创 Springboot 整合 easyexcel导入导出excel
原力计划

1. 引入核心依赖 <dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> ...

2020-04-19 15:40:01 211 0

原创 Spring Boot(十)集成xxl-job
原力计划

xxl-job官网 简介 XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。 特性 1、简单:支持通过Web页面对任务进行CRUD操作,操作简单,一分钟上手; 2、动态:支持动态修改任务状态、启动/停止任务...

2020-04-12 20:41:21 134 0

原创 postgresql构建虚表

背景 商品表 核心字段 product ( drug_id text -- 商品编码 amt numeric -- 销售额 product_type text -- 商品类别 ) 大致遇到的需求是这样的,目前有一个商品表,需要查出不同商品相关统计信息比如:商品销售额 select sum(...

2020-04-10 18:09:09 76 0

原创 solo(3分钟搭建一个美观个人博客) 博客静态化部署Github,无需服务器

效果预览 www.weihubeats.cn 前言 前几天搭建了自己的博客网站后本来是很满意的,域名也准备好了,奈何买了域名备案不了,要一堆东西然后很气,又重回gtihub + hexo部署个人博客,弄了1天发现 hexo基本没什么好看的博客(好看的要自己调,前端真的不太会),而且感觉没什么人维...

2020-04-05 13:47:37 142 0

原创 三分钟搭建自己的专属博客(基于Docker solo搭建个人博客)

我的博客演示:http://49.233.150.105/ 域名备案有些麻烦,所以暂时用ip访问 准备工作 服务器一台(必选),域名一个(可选) 1. Docker部署 不懂参考我这里的教程: linux(Centos)下Docker安装(docker入门) 2. 安装MySql镜像 d...

2020-04-05 11:58:35 74 0

原创 Java设计模式之观察者模式

定义 观察者模式(Observer),又叫发布-订阅模式(Publish/Subscribe),定义对象间一种一对多的依赖关系,使得每当一个对象改变状态,则所有依赖于它的对象都会得到通知并自动更新,大致构成如下 总结: 应用场景 现在又如下需求: 天气气象局可以测量天气的温度、湿度和气压,当需...

2020-03-30 21:54:18 46 0

原创 OkHttp学习及简单工具类封装

OkHtt官网 OkHttp github 工作中需要调用三方接口,请求参数一般为json,返回结果也为json 使用版本 <dependency> <groupId>com.squareup.okhttp3</groupId...

2020-03-27 10:38:57 56 0

原创 阿里工程师的自我修养总结
原力计划

以下内容均来自阿里工程师的自我修养,阿里工程的自我修养下载 密码 6x71 以下总结只是书中的一小部分,希望让更多的技术人看到这本书,提升自己的思维和眼界 自我总结: 不要盲从书本获取其他地方抄袭,要构建自己的知识树,习惯性总结。强烈推荐Xmind或者processon 多问一下为什么”,并...

2020-03-25 23:01:58 111 0

原创 Java 8 LocalDate、Instant、LocalDateTime、LocalTime在mybatis中对应mysql的数据类型

java 8 提供了新的时间API比如LocalDate、Instant、LocalDateTime、LocalTime,但是在mybatis中使用对应的数据库类型应该是那些呢? 在mybatis官网找了一下发现mybatis从 3.4.5 版本开始,默认支持 JSR-310(日期和时间 API...

2020-03-23 16:02:17 420 0

原创 Java 8 Stream流练习

题目和答案均来自 Java8实战 题目 (1) 找出2011年发生的所有交易,并按交易额排序(从低到高)。 (2) 交易员都在哪些不同的城市工作过? (3) 查找所有来自于剑桥的交易员,并按姓名排序。 (4) 返回所有交易员的姓名字符串,按字母顺序排序。 (5) 有没有交易员是在米兰工作的? (6...

2020-03-22 23:13:08 143 0

原创 Java设计模式之策略模式

策略模式定义 定义了算法族,分别封装起来,让它们之间可以互相替换 ,此模式让算法的变化独立于使用 算法的客户 简单理解及应用场景 我们可能有如下应用场景: 对于一个商品来说,会有不同的会员,不同的会员会有不同的折扣,在不用策略模式我们的代码可能是这样的 public BigDecimal ge...

2020-03-22 15:35:35 37 0

原创 《Java编程思想》第5版,已改名《On Java 8》

现在想提升自己基础的大多会选择被封神的 《Java编程思想》,但是目前网上只有java编程思想第四版,看着都很老了不太想看。如果你去github上你会发现其实在2017年 Bruce Eckel(java编程思想原作者)在2017年就发布了第五版,网上看不到这本书的相关消息是 改名为 《On ...

2020-03-20 12:01:03 878 0

转载 Intellij idea 下@autowired报错解决

intellij 版本: 2017.1 主体技术框架:springboot+mybaties+oracle 问题描述:代码service实现层中@autowired 注入dao层的时候,标红报错,但不影响编译使用 解决方式:在dao层加入@Repository注解 原理:intellij比ecli...

2020-03-18 18:10:37 49 0

转载 idea常用快捷键

Ctrl 快捷键 介绍 Ctrl + F 在当前文件进行文本查找 (必备) Ctrl + R 在当前文件进行文本替换 (必备) Ctrl + Z 撤销 (必备) Ctrl + Y 删除光标所在行 或 删除选中的行 (必备) Ctrl + X ...

2020-02-28 19:58:10 72 0

原创 面试官:你能说说mysql的几种日志文件吗?

mysql 的日志文件 mysql底层是有三种日志文件:undo、redo、binlog,这里我们是以InnoDB存储引擎为例的,为什么要牵扯去存储引擎呢,因为undo、redo是属于InnoDB存储引擎的,binlog才是属于mysql server的日志文件 为什么要这三种日志文件呢? 这里我...

2020-02-28 09:04:05 373 0

原创 ZooKeeper实现分布式锁

文章目录1.实现原理2. 实现代码实现效果 1.实现原理 Zookeeper节点每个只能创建一个,多个创建会失败,临时节点每次关闭连接都会失效,获取锁则对应为创建临时节点,释放锁则关闭连接。,多JVM获取锁通过监听事件通知来获取锁 2. 实现代码 1.伪订单服务 OrderNumGenerator...

2020-02-15 11:38:25 51 0

原创 两数之和

1. 两数之和 解析: 1. 暴力循环 时间复杂度为O(n²) public static int[] twoSum(int[] nums, int target) { for (int i = 0; i < nums.length; i++) { ...

2020-02-14 22:27:30 32 0

原创 Docker安装Zookeeper

文章目录1. 搜索ZooKeeper2. 启动容器3. 检测是否启动 docker ps4. 使用 zookeeper-dev-ZooInspector.jar测试连接 1. 搜索ZooKeeper docker pull zookeeper 2. 启动容器 docker run --pr...

2020-02-14 10:30:00 43 0

原创 为什么要使用mq,如何对mq进行技术选型

文章目录你为是什么要使用mq思考我们系统存在哪些问题调研mq总结 你为是什么要使用mq 在我们使用一门新技术,总是为了解决一系问题,如果我们不知道为什么,如果只是知道领导让用就用,外面人用我也跟着用,那么你一定是一个不合格的技术人 思考我们系统存在哪些问题 拿最经典的电商项目下订单来说,在我们不引...

2020-02-09 17:13:27 1327 0

原创 纯jdbc操作oracle数据库迁移至mysql数据库(测试2000张表,单表数据超过百万,不会出现OOM)

文章目录前言编码前思考实现demo结构引入依赖实现类优化源码 前言 数据迁移向来是麻烦的,如果有oracle转mysql 需求,数据迁移就是一大问题 在数据迁移前曾百度一些方案: 1.使用nacavit的数据传输功能 跑着跑着就失败了,问题难以分析 使用kettle kettle使用起来其实还...

2020-01-15 18:17:55 145 0

原创 我们来聊聊JVM垃圾回收

我们的对象被分配在哪里 首先来看这么一段代码: public class Test { private static Teacher teacher = new Teacher(); public static void main(String[] args) { ...

2020-01-14 23:24:33 80 0

原创 我们来聊聊JVM类加载机制

1. jvm何时会加载一个类 我们先来看这个问题,JVM何时会加载我们的类,那就是类被使用,即有main方法的类一定要先加载,其次就是main方法中的调用其他类也是会被加载到内存中的 为了更详细理解这个过程我们来看这段代码的加载过程: public class Zou { public ...

2020-01-13 17:02:17 77 0

原创 Linux下配置环境变量

1. 下载linux jdk安装包 官网下载 2. 将上传jdk至linux 使用xftp上传jdk安装包至服务器 usr/local目录下 我这里装的是1.7,建议安装1.8 3. 安装 进入 usr/local目录下 执行安装命令: rpm -ivh jdk-7u65-linux-i586...

2020-01-11 11:37:40 57 0

原创 gradle安装

安装包下载 下载安装包 下载 ps:注意我这里是官网的6.01,需要java 8环境 配置gradle环境变量 选择新建 变量名:GRADLE_HOME 变量值: 你gradle下载路径 编辑环境变量Path 值:%GRADLE_HOME%\bin 测试 打开cmd 输入: ...

2020-01-08 21:01:01 101 0

原创 Spring Boot(九)整合Spring Security实现动态权限控制

Spring Security简介 安全框架,权限管理 Springboot中 Spring Security的使用 引入依赖 <dependency> <groupId>org.springframework.boot</groupId...

2019-12-27 13:54:52 328 2

原创 Springboot(十)springsecurity认证流程源码分析

用户认证流程 这里我们简单从springsecurity源码中分析用户认证流程 当用户发送登入请求首先会进入UsernamePasswordAuthenticationFilter并调用 attemptAuthentication()方法获取用户名密码 从源码我们可以看到获取的用户参数信息放在了...

2019-12-27 12:49:41 59 0

转载 我画了近百张图来理解红黑树

我画了近百张图来理解红黑树 之前在公司组内分享了红黑树的工作原理,今天把它整理下发出来,希望能对大家有所帮助,对自己也算是一个知识点的总结。 这篇文章算是我写博客写公众号以来画图最多的一篇文章了,没有之一,我希望尽可能多地用图片来形象地描述红黑树的各种操作的前后变换原理,帮助大家来理解红黑树的工作...

2019-12-24 16:38:23 84 0

原创 oracle、mysql临时表区别

oracle临时表 临时表分类: 会话级临时表(session表) 事务级临时表 会话级临时表(session表) 会话级临时表是指临时表中的数据只在会话生命周期之中存在,当用户退出会话结束的时候,Oracle自动清除临时表中数据 创建方式 Create Global Tem...

2019-12-24 10:34:02 145 0

转载 我以为我对Mysql索引很了解,直到我遇到了阿里的面试官

我以为我对Mysql索引很了解,直到我遇到了阿里的面试官本文来自微信公众号:Hollis,原作者是一位不愿意透露姓名的粉丝 相信很多人对于MySQL的索引都不陌生,索引(Index)是帮助MySQL高效获取数据的数据结构。 因为索引是MySQL中比较重点的知识,相信很多人都有一定的了解,尤其是在面...

2019-12-20 17:29:24 68 0

原创 springboot(八)集成Swaggger2

文章目录Swagger2简介项目目录引入依赖application.yml建Swagger2配置类Swagger常用注解构建测试Controller测试项目源码 Swagger2简介 Swagger是一款可以快速生成符合RESTful风格API并进行在线调试的插件 项目目录 引入依赖 &l...

2019-12-20 14:01:45 139 0

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