自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(121)
  • 资源 (2)
  • 收藏
  • 关注

原创 Mac上修复Gitee报错 Oauth: Access token is expired

在idea中不管是pull还是push都会出现此异常,但是在webstorm中是可以的,这是由于idea中使用的钥匙串还是旧密码(解决方案中会截图阐述)在访达中搜索钥匙串,进入钥匙串访问,删除对应旧的gitee钥匙串(要是不清楚是哪个,那就全部删除),这里我删除的是第一个。不管是Mac还是Windows中,都是有本机系统凭证的,需要删除重新配置,不然仅仅是在对应的IDE中删除gitee账号或者重登陆是没用的。对于系统还是要保持敬畏之心,没事不要瞎操作。

2024-01-04 15:16:16 783

原创 注解和Predicate组合拓展

采用注解和predicate,组合拓展在一起的示例

2023-03-29 10:41:02 378 1

原创 mysql比较行实现

mysql行比较,通过定义自定义变量@rownum来处理。

2023-02-22 11:38:28 900

原创 Jupyter介绍和安装使用

Jupyter Notebook是一款开源的web应用,支持markdown编辑,可以使用JupyterNotebook来创建一个技术分享的文档,也可以在网页页面中直接编写代码和运行代码,代码的运行结果也会直接在代码块下显示的程序。

2022-11-22 01:47:20 2133

原创 Linux下部署worldPress

Linux下部署worldPress简易教程

2022-06-26 16:35:02 879 1

转载 HashMap原理机制详解,二十三问。

最近看到一篇对于hashmap描述不错的文章,特此记录分享下。HashMap作为我们熟悉的一种集合,可以说是面试必考题。简单的使用,再到原理、数据结构,还可以延伸到并发,可以说,就一个HashMap,能聊半个小时。1.能说一下HashMap的数据结构吗?JDK1.7的数据结构是数组+链表,JDK1.7还有人在用?不会吧……说一下JDK1.8的数据结构吧:JDK1.8的数据结构是数组+链表+红黑树。数据结构示意图如下:其中,桶数组是用来存储数据元素,链表是用来解决冲突,红黑树是为了

2022-03-05 21:12:16 668

转载 Mysql关于幻读的处理详解

最近消息看到一篇关于幻读解读不错的文章,分享学习下。所谓幻读,即一个事务在前后两次查询同一个范围的时候,后一次查询看到了前一次查询没有看到的行,这个回答估计大伙儿已经背烂了,但是它具体有什么后果呢?为什么会被 MySQL 单独拎出来解决呢?MySQL 又是如何解决的呢?老规矩,背诵版在文末,点击阅读原文跳转 CS-Wiki 大厂面试火箭计划。当前读和快照读在了解幻读以及 MySQL 是如何解决幻读这个问题前,我们需要知道,什么是当前读、什么是快照读。快照读:读取快照中的数据,不需要进行加锁。看到快照这两个

2022-02-23 14:43:05 322 4

原创 RockeMQ的介绍和部署

刚好发现之前一篇未完善的blog,那今天小熙分享下rockeMq的简单介绍,并在Linux上部署的单机版本。Rocketmq是一款分布式,队列模型的消息中间件,由阿里巴巴研发,借鉴参考了JMS规范的MQ实现,更参考了优秀的开源消息中间件Kafka,并且结合阿里实际业务需求在天猫双十一的场景,实现业务削峰,分布式事务的优秀框架。之在阿里内部是Metaq,现在已经开源给旗下。它是纯Java开发,具有高吞吐量、高可用性、适合大规模分布式系统应用的特点。

2022-01-24 18:26:06 220

原创 Linux上部署kubernetes

一. 前言:本次小熙分享下Linux上部署kubernetes。二. 准备环境:准备三台Linux服务器(这里小熙准备的是虚拟机):检查服务器的版本,本次配置要求在centos7.5版本或者以上版本[root@k8s-master etc]# cat /etc/redhat-releaseCentOS Linux release 7.6.1810 (Core) 为了以下流程理解方便,在每个节点的hosts文件上配置对应地址映射 :vi /etc/hosts192.168.18

2022-01-11 21:35:56 1370

原创 Linux下部署docker,并运行应用等

一. 前言:这次小熙分享下docker的部署,和对应用jar的镜像生成和访问。二. 环境和准备环境和项目:还是沿用之前apollo中的(java 8、centos7、user-service)准备:(1)Docker要求CentOS系统的内核版本高于 3.10 ,通过下面的命令查看你当前的内核版本是否支持docker uname -r小熙的版本如图所示:(2)更新yum包:sudo yum update成功如图所示:(3)安装需要的软件包,yum-util 提供yum

2021-12-15 19:21:31 2115 1

原创 Apollo多环境以及集群配置

一. 前言:从上篇Apollo动态配置基础使用之后,小熙继续补上下文多环境以及集群配置。二. 环境和准备:这里小熙由于条件和电脑配置有限,就先用虚拟机配置了。还是上文中的虚拟机基本配置:java8,apollo 1.7等(有条件的可以把不同节点分到不同机器即可)apollo相关节点(本次小熙将会配置三个环境): 环境地址服务名–localhost:8070apollo-portalDEVlocalhost:8080localhost:8090apollo-configserviceapo

2021-12-09 18:51:47 6240

转载 Linux如何让进程在后台运行的三种方法详解

问题分析:我们知道,当用户注销(logout)或者网络断开时,终端会收到 HUP(hangup)信号从而关闭其所有子进程。因此,我们的解决办法就有两种途径:要么让进程忽略 HUP 信号,要么让进程运行在新的会话里从而成为不属于此终端的子进程。三种解决办法:1. nohupnohup 无疑是我们首先想到的办法。顾名思义,nohup 的用途就是让提交的命令忽略 hangup 信号。nohup 的使用是十分方便的,只需在要处理的命令前加上 nohup 即可,标准输出和...

2021-12-07 14:43:12 3360

原创 Apollo的部署和动态配置基础使用

一. 前言:继上篇Zuul网关之后,小熙后补一下动态配置吧。目前较为流行的是apollo和nacos,今天就先介绍一下apollo的动态配置基础使用吧。二. 简介:Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,以及能实现灰度发布等实现,配置修改后能够动态推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。三. 准备配置数据:下载apollo相关启动文件:从github上下载相关配置文件,小熙之前下载的是1.7.1

2021-11-26 15:29:40 1243

原创 LocalDateUtils工具类

一. 前言:小熙最近有些忙,刚想起来账号密码马上就登录了。刚用到自己写得时间工具类(JDK8新特性),就分享一波吧,凑一下活跃度,哈哈。二:代码: package com.chengxi.datalom.utils; import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUnit; import cn.hutool.core.date.DateUtil; import com.chengxi.datalom.

2021-06-22 15:40:59 279

原创 Excel模板导出工具类及相关流程

一. 背景:小熙最近在整理报表导出相关业务。之前有使用 hutool 工具,但是表格样式方面需求比较复杂,编写比较麻烦,而且当数据量比较大的时候支持不太好。所以小熙为此自己封装了模板导出,以及相关流程。二. 坐标:1. poi坐标: <!-- easypoi --> <dependency> <groupId>cn.afterturn</groupId> <artifa

2021-02-02 14:55:09 315 2

原创 Forest 使用简介

一. 背景:最近小熙在写对接,涉及到一些远程调用,用的是httpclient实现的,但是觉得有些麻烦。有没有封装过的框架,让操作更方便呢,有的比如:Forset。介绍:Forest 是一个开源的 Java HTTP 客户端框架,它能够将 HTTP 的所有请求信息(包括 URL、Header 以及 Body 等信息)绑定到您自定义的 Interface 方法上,能够通过调用本地接口方法的方式发送 HTTP 请求。好处:使用 Forest 就像使用类似 Dubbo 那样的 RPC 框架一样,只

2021-01-28 19:38:00 15252 8

原创 java集成极光推送

一. 前言:上篇小熙介绍了信鸽推送,这篇继续分享下极光推送的集成。极光推送是第三方推送平台,部分免费的第三方消息推送服务,目前各方面都还不错。极光推送让开发者可以即时地向其应用程序的用户推送通知或消息,与用户保持互动,从而有效地提高留存率。官方整合了Android推送、iOS推送的统一推送服务,发送用户的指定范围也是有很多全面的选择。极光官网二. 视图:展示图:三. 依赖:极光官网依赖坐标: <!-- 极光推送 --> <dependency>

2020-12-16 16:50:26 1954 2

原创 java集成信鸽推送

一. 前言:最近项目又要拓展几个大流程(咦,为什么是又…╥﹏╥…),其中app推送是小熙调研并且实现的。记录分享下。小熙在最初是选定极光推送(下篇分享)的,但由于财务方面,不得不转向调研信鸽推送。信鸽并未展现出如bat大厂的突出优势,只是借用腾讯大数据用户的数据分析,为用户分组划分标签以及通过人口属性、消费能力、短时兴趣、LBS 信息等数据分析,让开发者可以针对不同用户群体推送不同的内容。信鸽官网二. 视图:展示图:三. 依赖:信鸽官网依赖坐标: <dependency>

2020-12-16 15:09:52 986 7

原创 POI导入中的时间转换解决

一. 前言:刚才看到前段时间写的有关POI导入,时间转换问题。记录下。二. 问题:我们在使用POI导入的时候,时间往往是转换成了数值,而这个数值刚好是以一天24小时为单位计算的。如果导入的是包含年的,则是从1900年这个原点,开始计算的天数。如果是小时,则表达为这一天的百分比小数(根据小时)。三. 解决方法:// 将单元格的内容类型设置为字符串row.getCell(6).setCellType(Cell.CELL_TYPE_STRING);// 通过apache在HSSFDateUtil

2020-10-10 17:29:43 1263

原创 java中的print和printf的区别

一. 前言:小熙刚才输出打印快捷键的时候,看到有一个 printf 输出,好奇的试了下,发现和 print 输出结果一样不换行。但是小熙知道肯定不会有两个完全一样的输出打印,所以又查了下,记录下。二. printf介绍:printf() 原本是 C 语言标准库函数,用于将格式化后的字符串输出到标准输出。在java中 printf 还是打印, 但是继承了c语言的一些特性(格式化)printf("需要格式化的字符串", 输出表列):注意以下是对 printf 在 java 中使用的简化,如需查看

2020-10-10 14:27:22 6342

原创 数据库和外置缓存一起分页

一. 前言前段时间,小熙要在数据库外做二级缓存并和数据库一起提供对外服务。其中两者一起的分页小熙提取出来了,坐下记录。二. 工具类以及部分代码:封装DTO类 import lombok.Data; import lombok.experimental.Accessors; /** * @author chengxi * @date 2020/9/11 15:42 */ @Data @Accessors(chain = true) public class

2020-09-20 16:07:31 207

原创 Redsi通过geo计算距离

一. 前言前段时间,小熙赶项目比较忙。趁此机会记录下遇到的后端距离计算实现,app端会有实时的经纬度回传到Redis中,PC端和H5需要实时查看位置和距离,所以想下Redis是否支持此类计算。二. Redis的geo介绍版本支持: redis在3.2版本中开始支持geo功能命令介绍:(1) geoadd 添加地址 sms-center:5>geoadd cityLocationGeo 116.405285 39.904989 北京 1 sms-center:5&g

2020-09-20 15:11:51 677

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

一.前言:今天小熙有时间,写了下观察者模式,记录下。在23种设计模式中偏向于行为型模式。他主要指多个对象间存在一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。这种模式有时又称作发布-订阅模式、模型-视图模式,所以是对象行为型模式。二. 过程:图解:代码:import java.time.LocalDateTime;import java.util.ArrayList;import java.util.List;/** * 这里的观察者可

2020-09-03 18:19:57 129

原创 stream流根据对象指定字段去重或者获取重复数据

一. 前言:小熙最近看到以找的stream根据对象指定字段去重方法,想来分享下。试过其他的如转treeSet或map或分组,但是感觉都太麻烦了。二. 代码:封装类:import java.util.Map;import java.util.concurrent.ConcurrentHashMap;import java.util.function.Function;import java.util.function.Predicate;/** * 程熙cjp:https://blog

2020-09-02 15:51:34 23007 2

原创 设计模式之组合模式

一. 前言:小熙最近看了下组合模式,记录下。在23种设计模式中偏向于结构类型,有时又叫作部分-整体模式,它是一种将对象组合成树状的层次结构的模式,用来表示“部分-整体”的关系,使用户对单个对象和组合对象具有一致的访问性。二. 过程:图解组合模式/** * 组合模式 * 适用于遍历树状结构,组合模式使得客户端代码可以一致地处理单个对象和组合对象,无须关心自己处理的是单个对象,还是组合对象,这简化了客户端代码; * 但是设计较复杂,客户端需要花更多时间理清类之间的层

2020-08-25 16:38:12 248

原创 设计模式之享元模式

一. 前言:享元模式(思想是有趣的),在23中设计模式之中偏向于结构型。运用共享技术来有效地支持大量细粒度对象的复用。它通过共享已经存在的对象来大幅度减少需要创建的对象数量、避免大量相似类的开销,从而提高系统资源的利用率。二. 过程:图解:享元模式/** * 享元模式 * 类似于池化思想 (可共享元数据),比如:连接池 * 其实在有大量对象时,有可能会造成内存溢出,我们把其中共同的部分抽象出来,如果有相同的业务请求,直接返回在内存中已有的对象,避免重新创建。

2020-08-25 15:08:24 150

原创 设计模式之代理模式

一. 前言:小熙昨天刚汇总完代理模式,今天记录下吧。代理模式在23种设计模式中偏向于结构模式,在访问对象不适合或者不能直接引用目标对象时,代理对象可以作为访问对象和目标对象之间的中介,并且可以前置或后置等加强目标对象的方法。二. 过程:图解静态代理/** * 静态代理模式 * 满足开闭原则,但是局限于某一个服务(这里是移动方法)去代理,其他服务,则需要重写。接口如果变化则代理类都需要改变。 * * @author chengxi * @date 2020/8/25 1

2020-08-25 12:05:12 113

原创 设计模式之策略模式

一. 前言小熙搜集了些策略模式的资料,策略模式在23种设计模式之中是属于行为类型,对于一件事情的多种处理方式,可以考虑采用此种模式(还是一种多态的体现)。二. 过程:如图:策略模式代码:(1)老虎entity/** * @author chengxi * @date 2020/8/24 18:23 */public class Tiger { private Integer hight; private Integer weight; public

2020-08-24 19:14:34 146

原创 设计模式之工厂模式

一. 前言:小熙搜集了些工厂模式的资料,工厂模式在23种设计模式之中也是属于创建类型,适用于灵活的管控对象和方法的创建过程。二. 过程:抽象工厂图解:抽象工厂模式(先写一个复杂的吧)(1)抽象工厂/** * 抽象工厂 * * @author chengxi * @date 2020/8/24 17:01 */public abstract class AbastractFactory { /** * 创建食物 * @return *

2020-08-24 17:57:27 138

原创 设计模式之单例模式

一. 前言:小熙最近在汇总设计模式,记录下过程。单例模式,23种模式之中属于创建类型,适用场景是多次创建bean时,如果只想要创建一次,则非常适合适用。二. 过程:饿汉式(天然安全,但是存在浪费资源)/** * 饿汉式 (天然安全,但是存在浪费资源) * * 只要创建这个类,就会在那时创建这个对象,加载到内存中(不管是否使用) * 创建类的时候调用 clinit,jvm加锁保证创建的原子性 * @author chengxi * @date 2020/8/24 14:10 */p

2020-08-24 15:19:05 98

原创 幂等性注解,以及适配成启动类注解

一. 前言:在后端提供给前端接口之后,在某性场景下,如支付等。如果一个请求多次消费同一个接口,显然是错误的。这里显然就需要实现,多次消费和一次消费,是一样的结果了,这就和幂等性有关了。二. 前后端未分离编写:这由于架构的特殊性,小熙采用的是后端跳转页面并签发幂等性token,访问时再次校验。当然也有唯一索引、加锁、状态机等方法,看个人习惯吧。创建幂等性注解package com.chengxi.datalom.idempotent;import java.lang.annotation.E

2020-08-07 18:46:01 670

原创 restTemplate封装工具类

一. 前言 :小熙前端时间忙于分布式系统的开发,在远程调用的时候,有用到restTempalte的使用自己封装了一个使用案例。后来,由于系统慢慢的整合一些东西,restTempalte埋的坑太多,所以后续的有去用到feign,此案例还是建议相对自己的项目去抉择吧。二. 视图:展示图:三. 依赖 :有一些特殊的依赖,标注下(也可以不导入,可以手动实现相关,不过比较麻烦)糊涂工具坐标 <!-- 糊涂工具类 --> <dependency>

2020-07-14 17:17:28 5541

原创 sql查询in条件超过1000条解决方案

一 背景:小熙最近做的数据检索比较大,其中会使用到,in的条件会有超过1000条。但是in所支持的条件数量最多只有1000,那怎么办呢,后来小熙采取了分区检索,完成了。二. 代码:使用apache工具类,将条件集合分区List<List<String>> partitionList = ListUtils.partition(Lists.newArrayList("被分区的条件集合"), 500);查询可以使用多次查询也可以分线程查找等,这里小熙由于需求需要,所

2020-07-10 16:21:37 8735 2

原创 java生成二维码和解析内容以及传输

一. 背景:小熙最近项目常用到二维码,但都是前端生成的,所以小熙想是否后端可以替代下。于是小熙特意查找学些相关资料,分享下学习结果。二. 引入依赖和工具类谷歌提供的依赖坐标(可去中央仓库搜索适合自己的版本,搜索:ZXing Core) <!--谷歌二维码提供依赖--> <dependency> <groupId>com.google.zxing</groupId> <

2020-06-30 19:31:17 891

原创 解决mybatisPlus持久化数据库等各种无效,且不报错

一. 前言:小熙上个月也遇到了吧,但是发现的及时所以没有在意也没有记录。而今天临近黄昏,写完臃肿的业务逻辑之后,小熙想测完一遍就回家。二. 描述:在使用mybatisPlus的批量保存哪里,持久化数据库的部分字段无效,没有将值映射进去。小熙马上检查了po类,mybatisPlus的继承实现格式等。发现都没有问题,乃至于连错都不报。这下小熙懵了一下,马上debug查看一番,发现映射前是有值的还是没有问题。在沉思一会之后,想到了问题的存在。三. 解决:在xml文件中不要写,mybatisPlus实现好

2020-06-08 23:06:34 1764

原创 2018年个人总结

时间飞逝,转眼间2018年匆匆离开了,即将而来的是中国的年关了,临此之际小熙觉得也该做点什么,于是回顾下这年,期许下来年吧。仍记得刚接触编程的那份欣喜若狂,仍记得那个初入茅庐的毛头小子对编码的死磕 … 。回首这几年心情是五味杂陈的,但2018年尤为深刻,这一年编程刚刚入门(自我评价),这一年加入了CSDN这个大家庭,这一年终于在GitHub上有了自己的小项目,这一年末拿到了offer,这一年将是...

2020-05-30 19:27:20 12313 45

原创 查询数据库回显时间数值异常

一. 前言小熙的项目是springcould的微服务,采用的是springboot 2.1.12。二. 问题查询数据库,返回到项目中的时间比数据库的时间多了13小时。当时想到是时区问题查询数据库是正常的。项目当前模块的yml时区设置是正常的spring: jackson: time-zone: Asia/Shanghai #设置时区为Asia/Shanghai date-format: yyyy-MM-dd HH:mm:ss经过小熙的查询是连接数据库的JDB

2020-05-30 18:22:15 263

原创 解决IDAE中本地Class类正常,无法引用和异常问题

一. 前言小熙昨天刚把代码写完,于是愉快的回家了,但是回家打开发现,有些类明明存在但是却引用不了(点击进入都进不了),有些模块有对应依赖却引用不了注解,连spring的注解都异常了。想想只是把电脑合上未关机,也许由于时间过长,回家打开发现程序都清空,由此造成的IDEA关闭异常吧。二.解决经过查询,原来IDEA中也是有缓存的,错误的项目缓存,建立了错误的项目索引,导致了这一系列代码正常,引用却不正常的情况。点击项目文件的清除缓存并重启重新导入就好了。如图:初始化缓存2. 初始化并重启三.

2020-05-30 17:58:29 672

原创 Redis详解持久化机制

小熙前段时间时间写了Redis的存储机制,接着再说下持久化机制吧,参考了其他大佬的精华和自己的理解。一. 为什么要持久化redis是非关系型的内存数据库,数据将被存储在内存中,所以Redis服务器进程退出或者运行Redis服务器的计算机停机,Redis服务器中的数据就会丢失。为了避免造成数据丢失,所以数据将被持久化到磁盘上(持久化机制),从而避免了数据的丢失,并且能很快的恢复之前的数据。Redis提供了两种持久化机制: 1. AOF持久化 2. RDB持久化 二. AOF持久化机

2020-05-22 00:24:37 262

原创 解决mybatis plus查询数据库报java.sql.SQLFeatureNotSupportedException错误

一. 前言小熙最近项目使用MybatisPlus,是真的爽,但是毕竟是封装的框架,一些异常是难免的。二. 错误回显在整合druid的时候,查询数据库时间字段,返回LocalDateTime报以下错误:org.springframework.dao.InvalidDataAccessApiUsageException: Error attempting to get column 'fetc...

2020-02-24 17:21:13 5250 2

Maven实战(新排版)【高清】

Maven实战详细讲解了Maven的安装和配置以及其背景,后续还介绍和讲解了其高级使用。

2019-01-14

elasticsearch-6.4.0.tar.gz

官网下载的elasticsearch-6.4.0.tar.gz,用于Linux的版本。

2018-10-20

空空如也

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

TA关注的人

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