自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(76)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 Redis底层设计与源码分析(一)__底层数据结构逻辑分析

最近在工作中接触redis,但实际应用不多,可用场景也不是很明确,所以想借机多多学习下redis相关知识,一下内容都是通过自己找资源学习之后归纳总结的知识,若有相关错误点,请指正。

2023-05-05 17:23:01 540 1

原创 Windows 下部署Redis 主从模式+哨兵模式+JAVA连接方式

之前项目需求部署redis高可用,走了很多弯路以及相关配置来回折腾浪费了很多时间,特地记录下。主从模式:实现多台redis实例进行服务运行,并且数据相互同步;哨兵模式:实现主服务器和从服务器进行监听,当主服务器宕机,会立马进行主服务选举, 选出新的主服务器。

2023-04-13 16:42:28 1718

原创 JUC 并发进阶学习(一)

并发进阶学习

2022-12-30 16:48:10 311

原创 哲学家问题(死锁产生以及解决问题)

哲学家抢筷子的问题,凡是考虑采用进程的时间、优先级解决并发问题全不对

2022-09-21 11:52:14 308

转载 IDEA 中SpringBoot项目实现热部署

一、在springboot项目的pom文件中添加依赖以及插件<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>true</scope> <!--依赖不会进行传递--> <optional>

2022-05-05 10:55:46 330

原创 SpringBoot+Interceptor 实现对接口请求的拦截

一、导入pom.xml依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId></dependency>二、创建拦截器实现不同的拦截功能1.创建拦截器一:登录拦截器import org.springframework.stereotype.Co

2022-05-02 16:43:20 2082

转载 RestTemplate常用请求

一 基本配置1 简单使用@Beanpublic RestTemplate restTemplate() { return new RestTemplate();}@Autowiredprivate RestTemplate restTemplate;2 处理中文乱码@Beanpublic RestTemplate getRestTemplate(){ RestTemplate restTemplate = new RestTemplate(); //解决中...

2022-04-24 17:34:08 1535 1

原创 JDK源码分析一 Integer 分析

首先先看下Integer的整体结构:

2022-03-14 15:04:57 769

原创 Java 调用参数类型是application/x-www-form-urlencoded的API

一、分析首先用postman测试对应的接口,测试如下其中请求头中content-type为application/x-www-form-urlencoded参数是:queryParam:{"id":"mobile","userName":"name","mobile":"12345678"}注意:我们进行API调用时,参数需要转为String类型,平时我们调用get请求application/x-www-form-urlencoded参数都是直接拼接在url后面, ...

2022-03-03 20:10:31 12275

原创 Oracle数据库函数汇总(持续更新)

平时自己写需求,涉及到复杂的sql时,很多时候都是百度,之后就会忘记,所以在这记录下各种常用的sql函数。该函数摘自很多地方,我这里只是做了汇总摘自地址:oracle常用函数及示例 - 川哥哥 - 博客园 (cnblogs.com)一.单行函数1.字符函数(1)concat(str1,str2)字符串拼接函数select concat('Hello ','World') from dual;--等价于select 'Hello '||'World' from dual;(2

2022-02-28 15:43:04 2096 2

原创 Linux(Centos)部署 Python项目

前言我的项目不大就是一个main.py,由于上级要求需要部署到Linux中,第一次做linux部署python,很多都不懂,找了很多资料,也走了很多弯路,所以把整个部署过程记录下。首先想要在linux部署python项目,可以两种方式, 第一:直接运行main.py,需要有Python环境 ; ...

2022-02-25 18:06:31 7417

原创 ElaticSearch 学习四(springboot实战仿京东首页)

一、项目准备1.我们还是采用前面的springboot框架进行本次项目开发;2.相关前端的资源放入网盘中自行下载:​​​​​​​百度网盘 请输入提取码3.将下载下来的网盘中前端资源放入springboot中,位置如下:其中application.properties中也配置了对应的项目访问端口,以及关闭thymeleaf,端口号可以自行修改。# 应用服务 WEB 访问端口server.port=8080# 关闭thymeleafspring.thymeleaf.cache=f

2022-02-17 10:28:05 819

原创 ElaticSearch 学习三(springboot 集成ES 7.6.1)

一、创建springboot项目1.此处创建简单的springboot项目,不做过多赘述我的springboot版本是2.4.5,装的ES是7.6.1的二、导入elasticsearch依赖1.pom.xml中添加elasticsearch相关依赖,如下:注意这里依赖的版本与es库版本需要一致<dependency> <groupId>org.elasticsearch.client</groupId> <artifactId

2022-02-11 17:47:01 2017 1

原创 ElaticSearch 学习二(文档基本操作)

准备数据先创建一个索引并且添加三个数据一、基本操作1.创建索引以及数据PUT /excel3/user/1{ "name":"谢月", "age":12, "desc":"她是一位小菜鸟", "tags":["开朗","热情","技术宅"]}PUT /excel3/user/2{ "name":"张三", "age":18, "desc":"法外狂徒", "tags":["活跃","渣男","旅游","爱交友"]}PUT /excel...

2022-02-10 17:46:01 1175

原创 ElaticSearch 学习一(索引基本操作)

一、Rest风格说明1.通过不同的命令实现不同的操作method url地址 描述 PUT localhost:9200/索引名称/类型名称/文档id 创建文档(指定文档id) POST localhost:9200/索引名称/类型名称 创建文档(随机文档id) POST localhost:9200/索引名称/类型名称/文档id/_update 修改文档 DELETE localhost:9200/索引名称/类型名称/文档id

2022-02-10 15:19:15 602

原创 Mysql 在Insert语句时报错Row size too large(>8126).Chaing some columns to TEXT or BLOB or using ROW_FORMA.

报错:Row size too large(>8126).Chaing some columns to TEXT or BLOB or using ROW_FORMAT=DYNAMIC or ROW_FORMAT=COMPRESSED may help. Incurrent row format解决:针对报此错的表进行修改,根据提示,提示中给出两点:表字段修改,ROW_FORMAT修改,由于我用的表不涉及表字段不够长,因为都是text字段,所以不用修改表字段,然后就是修改表的行格式:修改语句是

2021-12-30 20:06:56 512

转载 SQL 查询某个条件下数据是否存在的正确方式

根据某一条件从数据库表中查询 『有』与『没有』,只有两种状态,那为什么在写SQL的时候,还要SELECT count(*) 呢?无论是刚入道的程序员新星,还是精湛沙场多年的程序员老白,都是一如既往的count。目前多数人的写法多次REVIEW代码时,发现如现现象:业务代码中,需要根据一个或多个条件,查询是否存在记录,不关心有多少条记录。普遍的SQL及代码写法如下:// SQL写法:SELECTcount(*)FROMtableWHEREa=1ANDb=2...

2021-12-06 09:59:52 6191

转载 Spring Boot 实现各种参数校验

之前也写过一篇关于Spring Validation使用的文章,不过自我感觉还是浮于表面,本次打算彻底搞懂Spring Validation。本文会详细介绍Spring Validation各种场景下的最佳实践及其实现原理,死磕到底!项目源码:spring-validation:https://github.com/chentianming11/spring-validation简单使用Java API规范 (JSR303) 定义了Bean校验的标准validation-api,但没有提供实现。hi

2021-12-06 09:24:13 213

原创 多线程执行List导入Mysql数据库方法

public static void main(String[] args) { Long time = System.currentTimeMillis(); System.out.println("开始执行"); List<String> list = new ArrayList<>(); for (int i = 0; i < 800; i++) { list.add(i+"");.

2021-10-23 11:23:26 437

转载 不能对List集合进行foreach 删除/新增原因

ArrayList我们先来看看 ArrayList 中如果我们使用了 add 和 remove 会出现什么样子的结果,然后我们分析一下。publicstaticvoidmain(String[]args){List<String>list=newArrayList<>();//把元素放到list里面去for(inti=0;i<10;i++){lis...

2021-10-23 10:34:17 716

原创 List 根据多个属性进行排序

// 创建集合List<BomcItems> itemsList = new ArrayList<>;//省略集合赋值过程.......//排序:根据项目类型升序 Comparator<BomcItems> byProjectType = Comparator.comparing(BomcItems::getProjectType);//排序:根据项目类型降序//Comparator<BomcItems> byProjectType = .

2021-10-19 12:16:59 1527

原创 解决java.util.Date 字段入库没有时分秒问题

解决方式只需要在Dao层参数映射中添加jdbcType=TIMESTAMP即可;

2021-10-15 11:37:55 674

原创 解决Mybatis缓存引发的获取序列始终为同一个值

一、场景复现// 查询序列值Long applyId = archSysInfoApprovalDao.getSequence();while (archSysInfoApprovalDao.findOne(applyId-38) != null) {// 查询序列值 applyId = archSysInfoApprovalDao.getSequence();}问题:第一次获取的序列值为4639,当进入while循环体的时候,获取的序列值依然是4639;结论...

2021-10-13 17:42:52 695 1

原创 Mybatis 采用@Update,@Insert 进行批量提交的方法

一、方式update table_name setdb_filed_name='涨三' where sys_id=1 and sys_name='系统名称'//对以上sql进行批量更新批量执行 @Update("<script>" + " <foreach collection = 'list' item ='item' open='' close='' separator=';'>" + " ...

2021-10-12 15:32:09 1350 2

原创 Json与List之间的相互转化

package com.example.neo4jspringbootjpa.util;import lombok.AllArgsConstructor;import lombok.Data;import lombok.NoArgsConstructor;import java.util.Date;@Data@AllArgsConstructor@NoArgsConstructorpublic class Game { private String gameId; pr.

2021-10-09 10:14:26 898

原创 解决@JsonFomat()@DateTimeFormat不生效的问题

前言最近在项目中,发现出参很神奇现象,若是字段值为null会不显示该字段,并且时间格式已经定义为yyyy-MM-dd HH:mm:ss ,但是还是不行,如下:时间是毫秒的,并且null字段也没有显示。原因翻阅资料,很多人是这是因为项目中添加了拦截器,并且对Json重新配置,后来发现项目中之前集成单点登录确实添加了拦截器,信息如下:主要就是fastJsonHttpMessageConverters方法,这个方法里面配置了json返回的数据一些配置信息。从代码中看serializer.

2021-09-06 18:30:24 2652 1

转载 究竟什么是图数据库,它有哪些应用场景?

前言随着社交、电商、金融、零售、物联网等行业的快速发展,现实社会织起了了一张庞大而复杂的关系网,传统数据库很难处理关系运算。大数据行业需要处理的数据之间的关系随数据量呈几何级数增长,亟需一种支持海量复杂数据关系运算的数据库,图数据库应运而生。世界上很多著名的公司都在使用图数据库。比如: 社交领域:Facebook, Twitter,Linkedin用它来管理社交关系,实现好友推荐 零售领域:eBay,沃尔玛使用它实现商品实时推荐,给买家更好的购物体验 金融领域:摩根...

2021-09-02 15:20:39 9062

转载 JdbcType类型和Java类型的对应关系(解决#{}null值报错)

问题:在进行insert操作时,当传入的值为null时,会报错,报错信息如下:就是当值为null时,不知道变量是什么类型的,所以需要在#{}中添加对应的变量类型。解决:在#{status,jdbcType=VARCHAR}中添加jdbcType属性,描述变量的类型,类型采用数据库的变量类型JDBC Type                 Java TypeCHAR                     StringVARCHAR           ...

2021-08-31 18:09:13 1454

转载 linux环境下的Neo4j安装

一、安装环境操作系统:CentOS7JDK版本:1.8工具:Xshell6、Xftp6二、安装步骤Neo4j是基于Java的图形数据库,运行Neo4j需要启动JVM进程,因此必须安装JAVA SE的JDK。1:下载安装包liunx环境Neo4j下载地址:https://neo4j.com/download/other-releases/#releases(社区版免费)或者直接在服务器上使用命令下载:curl -O http://dist.neo4j.org/ne...

2021-08-25 09:37:00 8850 1

转载 shiro表单拦截器FormAuthenticationFilter如何认证,登录成功后如何继续访问原请求

shiro有几种默认的拦截器,authc,anno,roles,user等 authc就是FormAuthenticationFilter的实例ShiroFilterFactoryBean的配置:private Map<String, Filter> filters; <取名,拦截器地址>,可以自定义拦截器放在这private Map<String, String> filterChainDefinitionMap; <url,拦截器名>哪些路..

2021-08-24 11:05:47 722

转载 字符串转码中文乱码问题的进一步理解 UTF-8 GBK转码

本文转载自:https://www.cnblogs.com/bimingcong/p/9185472.html 首先 要明确指出一点:编码方式是针对字符串转换之后的字节数组的,字符串并没有编码方式的概念,因为字符串不管是在什么编码页面下他只是一个对象,他只有字符的概念,不管页面编码方式是什么,他始终都是那几个字符    众所周知,字符编码很多 像UTF-8、GBK、GB2312、ISO8859-1等等 其中GBK是兼容GB2312的重点是UTF-8编码下的中文占3个字节,GBK、G...

2021-08-19 14:05:13 3044

原创 IDEA 进行commit之后的代码回退

1.idea找到项目commit提交记录列表:项目名右击—Git—Show History或者idea下方的Version Control都可以打开历史提交的记录信息2.选择需要回退到的版本号:例如我最新代码是2021/6/30 17:18提交的,需要回退到上一次2021/6/30 17:17提交的版本选择对应提交的记录右击——Copy Revision Number ; 复制commit的编号3.回退到对应的版本项目名右击——Git——Repository——Reset HE.

2021-06-30 17:59:25 20714 2

转载 Oracle对查询后的数据进行分组排序函数

项目开发中的分组排序需求:一,要求取出按field1分组后,并在每组中按照field2排序;二,要求取出field1中已经分组排序好的前多少行的数据。如下有三个函数可以根据需求选择使用,这里通过一张表的示例和SQL语句阐述下oracle数据库中用于分组排序函数的用法。1.row_number() over()row_number()over(partition by col1 order by col2)表...

2021-06-01 15:22:33 795

原创 IDEA 对web项目进行打包部署到tomcat

一、打包1、FIle——》Project Structure(或者Ctrl+Alt+Shift+S)2、Artifaces——》点击+号 ——》Web Application:Exploded ——》From Modules——》选中项目——》OK——》Apply,完成关闭Project Structure【注意】有些项目没有From Modules选择项,那是因为没有检测到webapp包路劲,查看自己项目的webapp包左下角是否有小蓝点。如有请直接跳至第3步。没有请设置.

2021-05-27 17:42:00 4739

原创 关于Springboot不能自动提交数据库连接问题

一、问题描述之前一直用的公司框架,所以SSM框架不是特别熟悉,然后新项目采用SSM狂架搭建的。在其中一个需求中,我在service层类的方法内部调用了该类的其他方法:并且是采用this调用该类的其他方法。如下:就是这哥操作使得功能一上线就直接抛出异常,数据库连接不够。后经过排查采用this调用的方法不会走spring框架自行提交数据库连接,必须手动提交数据库连接。因此就会使得当访问量达到一定量就会抛出异常。二、修改只需要将用this调用的方式都改如下即可:将实例交由spring管理,

2021-05-27 16:51:01 1481

原创 IDEA+springboot+oracle配置多数据源与数据源的动态切换

一、前言由于公司项目涉及多个数据源,所以也找了很多案例自己写了个小demo,记录下。二、搭建springboot项目1.idea创建springboot 过程就不展示了2.springboot项目结构三.步骤1.创建包:controller、service、dao、entity2.pom.xml配置文件如下:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.a..

2021-05-27 12:49:53 1877

转载 23 种设计模式的通俗解释,看完秒懂

01 工厂方法追 MM 少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是 MM 爱吃的东西,虽然口味有所不同,但不管你带 MM 去麦当劳或肯德基,只管向服务员说「来四个鸡翅」就行了。麦当劳和肯德基就是生产鸡翅的 Factory 工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做相应的修改。如:如何创建及如何向客户端提供。02 建造者模式MM 最爱听的就是「我爱你」这句话了,见到不同地方的 MM...

2021-03-29 10:37:39 127

转载 对于Arrays.asList、ArrayList的subList使用的注意事项

1. 使用Arrays.asList的注意事项1.1 可能会踩的坑先来看下Arrays.asList的使用:List<Integer> statusList = Arrays.asList(1, 2);System.out.println(statusList);System.out.println(statusList.contains(1));System.out.println(statusList.contains(3));输出结果如下图所示:然后,往statu

2021-03-29 10:31:53 110

原创 VMware虚拟机克隆多个Linux 并为其配置固定IP

场景:最近学习HADOOP的分布式环境的搭建,在一个虚拟机下创建多个系统,分别是hadoop101,hadoop102,hadoop103,hadoop104,其中hadoop102,hadoop103,hadoop104由hadoop101克隆创建。但是虚拟机中系统的ip都是会随着网络改变的,所以需要固定IP,下面就说一下如何为4个系统固定IP。步骤一:克隆新的系统hadoop102(被克隆的系统是centos_7_64_hadoop101)1.被克隆对象是hadoop101,该系统是通过ce

2021-03-19 15:34:52 741 1

原创 启动hadoop出现ssh: connect to host hadoop101 port 22: No route to host 问题解决方案

原因:由于我们在配置hadoop时候会有相关的ip配置,但是虚拟机中的ip又是实时变化的,所以导致某些hadoop起不来解决:固定虚拟机IP步骤:1.修改文件:vi /etc/sysconfig/network-scripts/ifcfg-ens33,注意ens33是自己网络名,与图2红框中相对应的,可以先查看自己的网络名再找相应的文件名2.编辑ifcfg-ens33文件,修改:BOOTPRTO=static新增:IPADDR=192.168.119.130 -...

2021-03-18 12:13:47 10173 3

Configuations.java

此文件中是代码生成器的模板,已经通过测试,不同的项目部分需要自行进行删改,整体部分无错

2019-09-17

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

TA关注的人

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