自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(47)
  • 收藏
  • 关注

原创 pgsql使用Do$$语句判断表中数据某个字段里是不是包含固定值,先把原来的值去除最后一个字符后,并给其原来的值拼接赋值

pgsql使用Do$$语句判断表中数据某个字段里是不是包含固定值,先把原来的值去除最后一个字符后,并给其原来的值拼接赋值

2024-05-23 11:51:35 187

原创 JSONArray怎么通过jsonObject中的某个属性值进行分组

Java JSONArray怎么通过jsonObject中的某个属性值进行分组

2024-05-08 11:27:40 538

原创 Java java.util.ConcurrentModificationException异常原因和解决方法

记录一次问题处理日志:Java中直接对使用for-each进行迭代实际上也会出现这种问题。可以先把集合转成iterator,再进行循环,可解决此问题。

2024-05-08 11:24:00 271

原创 java集合中retainAll方法使用注意

retainAll()方法被用来找出两个集合的共同元素,并且只会在交集不为空的情况下返回true。通过比较操作前后集合的大小是否有变化,我们可以确定是否存在共同元素。retainAl()`方法会改变原集合,如果你不想改变原集合,可以先复制一份再进行操作。

2024-05-08 11:13:27 422

原创 记录JVM中Eden区、Survivor from区和Survivor to区及Minor GC和Major GC的理解

记录JVM中Eden区、Survivor from区和Survivor to区及Minor GC和Major GC的理解

2022-06-28 16:45:23 575 1

原创 基本类型对应的缓冲池

基本类型对应的缓冲池

2022-02-22 16:02:57 458

原创 windows下停止【kill】nginx命令

windows下停止【kill】nginx命令

2022-01-28 14:03:39 3397

原创 SpringBoot整合Java 实体映射工具 MapStruct

SpringBoot整合Java 实体映射工具 MapStruct

2022-01-12 21:38:14 450

原创 SpringBoot整合Druid并连接数据源

SpringBoot整合Druid并连接数据源

2022-01-12 21:28:14 288

原创 SpringBoot整合Swagger2

SpringBoot整合Swagger2

2022-01-12 21:26:24 224

原创 MybatisPlus整合pagehelper实现分页

MybatisPlus整合pagehelper实现分页

2022-01-12 21:22:58 581

原创 SpringBoot整合swagger2遇到【Failed to start bean ‘documentationPluginsBootstrapper‘】问题

SpringBoot整合swagger2遇到【Failed to start bean ‘documentationPluginsBootstrapper‘】问题

2022-01-12 21:19:02 328

原创 springboot集成pagehelper启动PageHelperAutoConfiguration自循环依赖问题解决记录

springboot-pagehelper启动PageHelperAutoConfiguration自循环依赖问题解决记录

2022-01-12 21:12:51 606

原创 工具类里面调用service接口或者mapper接口

我们在开发中经常会遇到需要将一些频繁进行的操作抽取封装到工具类中, springboot不支持注入静态属性,所以在工具类中使用@Autowired或者其他注解自动注入会失败,才用如下方法这可以避免注入失败。

2021-12-15 17:20:13 2023 1

原创 对数据库索引的认识及应用

数据库索引的认识及应用

2021-12-01 10:58:05 125

原创 fastjson用java转json时间的格式化

项目中需求遇到需要接收其他应用数据,通过@RequestBody注解接收参数后,到本地利用fastJson把json格式化。需要注意一下几点:需要在调用JSON.toJSONString()的时候加上SerializerFeature.DisableCircularReferenceDetect和SerializerFeature.WriteDateUseDateFormat参数。JSON.toJSONString(dto.getApplyInfos(),SerializerFeature.Dis

2021-11-22 09:20:41 4070

原创 JSON数据转换

1.List list = JSONArray.toList(array, Person.class);// 过时方法2.List<?> list2 = JSONArray.toList(array, new Person(), new JsonConfig());//参数1为要转换的JSONArray数据,参数2为要转换的目标数据,即List盛装的数据3.List applyFormSaveDTOS = JSON.parseArray(applyFormSyncPO.g

2021-11-19 14:54:25 1086

原创 Java清空List方法

1.用list.clear()方法清空list;用此方法,其它引用该list的值也会变成空。2.用list = null来清空list3.new ArrayList()来清空list

2021-11-19 14:51:08 10047

原创 Java中PO、BO、DTO、VO、DAO

一、概念定义1、PO:Persistant Object(持久对象),基本上,PO对象中的属性就是对应着数据库中表的字段,加上一些get和set方法的组成。例:个人信息表中分别有:id,name,age,sex,birthday则PO对象中的属性有:id,name,age,sex,birthday{“id”: 1,“name”: “张三”,“age”: 20,“sex”: “男”,“birthday”: “2000-03-24”}2、BO:Business Object(业务对象),相比于PO

2021-09-06 17:14:59 852

原创 双重校验实现单例模式

public class Singleton{ private volatile static Singleton uniqueInstance; public static Singleton getUniqueInstance(){ //先判断对象是否已经实例化过,没有实例化才进入加锁代码 if(uniqueInstance==null){ //类对象加锁 synchronized(Singleton.class){ if(uniqueInstance==null){

2021-08-09 15:46:11 414

原创 关于大型网站系统架构你不得不懂的 10 个问题

一、你使用过哪些组件或者方法来提升网站性能,可用性以及并发量提高硬件能力、增加系统服务器使用缓存。(本地缓存:本地可以使用JDK自带的 Map、Guava Cache.分布式缓存:Redis、Memcache.本地缓存不适用于提高系统并发量,一般是用在程序中。比如Spring是如何实现单例的呢?大家如果看过源码的话,应该知道,S把已经初始过的变量放在一个Map中,下次再要使用这个变量的时候,先判断Map中有没有,这也就是系统中常见的单例模式的实现。)消息队列(解耦+削峰+异步)采用分布式开发(不同

2021-08-05 20:56:44 313

原创 读写分离&分库分表

一、读写分离何为读写分离读写分离主要是为了将对数据库的读写操作分散到不同的数据库节点上。读写分离会带来什么问题?如何解决?主库和从库的数据存在延迟,比如你写完主库之后,主库的数据同步到从库是需要时间的,这个时间差就导致了主库和从库的数据不一致性问题。这也就是我们经常说的 主从同步延迟 。解决办法:1.强制将读请求路由到主库处理。比如 Sharding-JDBC 就是采用的这种方案。通过使用 Sharding-JDBC 的 HintManager 分片键值管理器,我们可以强制使用主库。

2021-08-05 11:33:45 562

原创 一文搞懂 RabbitMQ 的重要概念以及安装

转载自请点击一 RabbitMQ 介绍1.1 RabbitMQ 简介RabbitMQ 是采用 Erlang 语言实现 AMQP(Advanced Message Queuing Protocol,高级消息队列协议)的消息中间件,它最初起源于金融系统,用于在分布式系统中存储转发消息。RabbitMQ 发展到今天,被越来越多的人认可,这和它在易用性、扩展性、可靠性和高可用性等方面的卓著表现是分不开的。RabbitMQ 的具体特点可以概括为以下几点:可靠性: RabbitMQ使用一些机制来保证消息的

2021-08-04 18:15:49 182

原创 高并发-消息队列

一、消息队列消息队列在分布式系统中主要是为了解耦和削峰。什么是消息队列我们可以把消息队列看作是一个存放消息的容器,当我们需要使用消息的时候,直接从容器中取出消息供自己使用即可。消息队列是分布式系统中重要的组件之一。使用消息队列主要是为了通过异步处理提高系统性能和削峰、降低系统耦合性。我们知道队列 Queue 是一种先进先出的数据结构,所以消费消息时也是按照顺序来消费的。为什么要用消息队列通过异步处理提高系统性能(减少响应所需时间)。削峰/限流降低系统耦合性2.1 通过异步处

2021-08-04 18:10:33 1217

原创 Spring cloud

一、什么是Spring cloudSpring Cloud 就是微服务系统架构的一站式解决方案,在平时我们构建微服务的过程中需要做如 服务发现注册 、配置中心 、消息总线 、负载均衡 、断路器 、数据监控 等操作,而 Spring Cloud 为我们提供了一套简易的编程模型,使我们能在 Spring Boot 的基础上轻松地实现微服务项目的构建。二、Spring Cloud 的服务发现框架——EurekaEureka是基于REST(代表性状态转移)的服务,主要在 AWS 云中用于定位服务,以实现负.

2021-08-04 16:14:15 127

原创 安全-认证授权、数据脱敏

一、认证授权JWT :JWT(JSON Web Token)是一种身份认证的方式,JWT 本质上就一段签名的 JSON 格式的数据。由于它是带有签名的,因此接收者便可以验证它的真实性。SSO(单点登录) :SSO(Single Sign On) 即单点登录说的是用户登陆多个子系统的其中一个就有权访问与其相关的其他系统。举个例子我们在登陆了京东金融之后,我们同时也成功登陆京东的京东超市、京东家电等子系统。认证 (Authentication) 和授权 (Authorization)的区别是什

2021-08-03 19:53:02 956

原创 Netty 常见问题总结

Netty的认识:Netty 基于 NIO (NIO 是一种同步非阻塞的 I/O 模型,在 Java 1.4 中引入了 NIO )。使用 Netty 可以极大地简化并简化了 TCP 和 UDP 套接字服务器等网络编程,并且性能以及安全性等很多方面都非常优秀。我们平常经常接触的 Dubbo、RocketMQ、Elasticsearch、gRPC、Spark、Elasticsearch 等等热门开源项目都用到了 Netty。大部分微服务框架底层涉及到网络通信的部分都是基于 Netty 来做的,比如说 S

2021-08-03 16:23:03 835

原创 Spring 框架中的设计模式

注意:该博客仅是本人对掌握知识的测试,具体内容请移步guide哥网站!!!https://snailclimb.gitee.io/javaguide链接Design Patterns(设计模式) 表示面向对象软件开发中最好的计算机编程实践。一、控制反转(IoC)和依赖注入(DI)IoC(Inversion of Control,控制反转) 是Spring 中一个非常非常重要的概念,它不是什么技术,而是一种解耦的设计思想。它的主要目的是借助于“第三方”(Spring 中的 IOC 容器) 实现

2021-08-01 19:36:49 125

原创 Spring 事务总结

1.什么是事务?事务是逻辑上的一组操作,要么都执行,要么都不执行。事务能否生效数据库引擎是否支持事务是关键。比如常用的 MySQL 数据库默认使用支持事务的innodb引擎。但是,如果把数据库引擎变为 myisam,那么程序也就不再支持事务了!2. 事务的特性(ACID)了解么?原子性(Atomicity): 一个事务(transaction)中的所有操作,或者全部完成,或者全部不完成,不会结束在中间某个环节。事务在执行过程中发生错误,会被回滚(Rollback)到事务开始前的状态,就像这个事

2021-08-01 17:30:28 136

原创 Spring/SpringBoot常用注解

注意:该博客仅是本人对掌握知识的测试,具体内容请移步guide哥网站!!!https://snailclimb.gitee.io/javaguide链接1.@SpringBootApplication可看做是@Configuration、@EnableAutoConfiguration、@ComponentScan注解的集合。这三个注解的作用分别是:@EnableAutoConfiguration:启用SpringBoot的自动配置机制。@ComponentScan:扫描被@Compo

2021-08-01 00:54:44 249

原创 SpringBoot自动装配原理

自动装配可以说是Spring Boot的核心。一、什么是Spring Boot自动装配?通过注解或者一些简单的配置就能在 Spring Boot 的帮助下实现某块功能。SpringBoot 定义了一套接口规范,这套规范规定:SpringBoot 在启动时会扫描外部引用 jar 包中的META-INF/spring.factories文件,将文件中配置的类型信息加载到 Spring 容器(此处涉及到 JVM 类加载机制与 Spring 的容器知识),并执行类中定义的各种操作。对于外部 jar 来说,只

2021-07-31 15:59:53 306

原创 缓存常用的3种读写策略

注意:该博客仅是本人对掌握知识的测试,具体内容请移步guide哥网站!!!https://snailclimb.gitee.io/javaguide链接一、Cache Aside Pattern(旁路缓存模式)适合于读请求比较多的场景。cache Aside Pattern中服务端需要同时维系DB和cache,并且是以DB的结果为准。该策略模式下的读写步骤:写:–先更新DB–然后直接删除cache。读:–从cache中读取数据,读取到就直接返回–cache中读取不到的话,就从D

2021-07-30 15:56:05 269

原创 Java并发二

1.synchronized关键字?synchronized关键字解决的是多个线程之间访问资源的同步性,synchronized关键字可以保证被它修饰的方法或者代码块在任意时刻只能有一个线程执行。1.1说说自己怎么使用synchronized关键字的?1.修饰实例方法: 作用于当前对象实例加锁,进入同步代码前要获得 当前对象实例的锁synchronized void method() { //业务代码}2.修饰静态方法: 也就是给当前类加锁,会作用于类的所有对象实例 ,进入同步代码前要

2021-07-30 15:30:12 129

原创 Redis

1.简单的介绍一下Redis?Redis就是一个使用C语言开发的数据库,不过与传统的数据库不同的是Redis的数据是存在内存中的,也就是它是内存数据库,读写速度快,广泛用于缓存方向。Redis还经常用来做分布式锁,甚至是消息队列。Redis提供多种数据类型支持不同的业务场景。Redis还支持事务、持久化、Lua脚本、多种集群方案。2.分布式缓存常见的技术选型方案有哪些?分布式缓存使用较多的主要是Memcached和Redis。Memcached现在用的比较少,大多数用Redis。分布式缓存只要解

2021-07-30 15:28:30 121

原创 面试题---并发

1.程序计数器为什么是私有的?为了线程切换后能恢复到正确的执行位置。2.虚拟机栈和本地方法栈为什么是私有的?虚拟机栈: 每个 Java 方法在执行的同时会创建一个栈帧用于存储局部变量表、操作数栈、常量池引用等信息。从方法调用直至执行完成的过程,就对应着一个栈帧在 Java 虚拟机栈中入栈和出栈的过程。本地方法栈: 和虚拟机栈所发挥的作用非常相似,区别是: 虚拟机栈为虚拟机执行 Java 方法 (也就是字节码)服务,而本地方法栈则为虚拟机使用到的 Native 方法服务。 在 HotSpot 虚拟机中

2021-07-21 23:02:54 176

原创 面试题---框架阶段

一、Spring框架1.AOP 的代理方式?Spring AOP(Aspect Oriented Programming,面向切面编程)是 OOPs(面向对象编程)的补充, 它也提供了模块化。AOP,一般称为面向切面,作为面向对象的一种补充,用于将那些与业务无关,但却对多个 对象产生影响的公共行为和逻辑,抽取并封装为一个可重用的模块,这个模块被命名为“切 面”(Aspect),减少系统中的重复代码,降低了模块间的耦合度,同时提高了系统的可维 护性。可用于权限认证、日志、事务处理。2.SpringIO

2021-07-20 23:58:43 128

原创 面试题---WEB阶段

一.Cookie和Session区别?Cookie在客户端保持状态的方案,主要包括名字、值、过期时间、路径和域,session是存在服务器的用来存放用户数据的类HashTable结构。区别:1.session能存储任意的java对象,cookie只能存储String类型的对象。2.cookie在客户端,session在服务端。3.Session过多时会消耗服务器资源,大型网站会有专门的session服务器,cookie存在客户端没问题。4.域的支持范围不一样:比方说 a.com的 Cookie

2021-07-20 20:15:49 139

原创 面试题---数据库篇

数据库的三范式?第一范式:每列的原子性:每列都是不可再分的最小数据单元;第二范式:每个表只描述一件事情第三范式:不存在对非主键列的传递依赖索引索引的优点:1.创建唯一性索引,保证数据表中每一行数据的唯一性。2.大大加快数据的检索速度,这也是创建索引的最主要的原因。3.减少磁盘IO(向字典一样可以直接定位)索引的分类:1.普通索引和唯一性索引普通索引:Create Index mycolumn_index on mytable (myclumn)唯一性索引:保证在索引列中..

2021-07-19 23:48:23 164

原创 面试题知识点全纪录---Java 枚举

**枚举优势:以这种方式定义的常量使代码更具可读性,允许进行编译时检查,预先记录可接受值的列表,并避免由于传入无效值而引起的意外行为。public enum PizzaStatus(){ ORDERED, READY, DELIVERED; }...

2021-07-19 21:07:03 142

原创 面试题知识点全纪录---基础题篇

什么是TCP?TCP: 1.面向连接的、可靠的、基于字节流的传输层的通信协议;2.将应用层的数据流分割成报文段并发送给目标节点的TCP层。3.数据包都有序号,对方收到则发送ACK确认,未收到则重传;4.使用校验和来检验数据在传输过程中是否有误;标志确定:1.ACK:确认标志;2.SYN:同步标志;3.FIN:结束标志;4.PSH:推标志;5.RST:复位标志;TCP三次握手过程?过程:1.建立连接时,客户端发送SYN包给服务器,并进入SYN_SEND状态,等待服务器确认;..

2021-07-19 20:57:17 102

空空如也

空空如也

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

TA关注的人

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