自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 3、Java 编程入门

JDK和环境变量配置完成,我们来进行我们第一个代码实现吧。为了更加方便的理解java程序的主要结构,下面针对第一个程序进行完整的解释:提示:关于以后源代码定义问题Java的主方法名称定义非常的长,具体的解释在后续说明,现在我们简称主类,所有的主类都将采用 public class 来定义。

2023-03-31 17:42:26 301 1

原创 1、Java 语言简介

Java是现在最流行的编程语言之一,并且自身拥有庞大且完善的生态系统(但是你不可能要求一门语言实现的功能过多,所以有些时候 Java 不擅长的部分会被其它的语言所顶替)。在国内而言,之所以咱们的 Java 使用广泛。更多的主要原因在于有许多的大户都在使用 Java 实现其各自的核心业务。Java 是由 SUN 公司开发的一套编程语言,其前身并不是 Java。

2023-03-31 17:37:58 810 1

原创 2、Java 环境搭建

JDK(Java Development Kit)是一组实现Java程序开发与运行的本地环境,在实际的项目的开发与运行过程之中,往往都会选择一些比较好用的桌面系统(Windows、MacOS)进行开发,而后在一些稳定的服务器系统(Liniux、UNIX、Windows Sever)上进行项目的部署。所有的三个开发分支的发展,都离不开JDK的支持,所以可以得到如下对应结构关系。

2023-03-31 17:37:39 448

转载 代码审查的流程

来源:代码审查的必要性和最佳实践:https://glory.blog.csdn.net/article/details/117077938。

2023-03-21 18:03:19 2132

原创 Java 实现数据脱敏

Java 实现数据脱敏Java注解实现数据脱敏-与主业务解耦且权限管控关联【小兀军】https://mp.weixin.qq.com/s/RujXqk0MWhmtQKpf_zaTnQSpringboot日志、配置文件、接口数据如何脱敏?老鸟们都是这样玩的【架构师社区】https://mp.weixin.qq.com/s/uKlit0Cu8ZhqM_1I1_N-9Q...

2022-04-16 14:42:32 1224

原创 Logbook HTTP日志框架

Logbook HTTP日志框架GitHub 文档及代码地址:https://github.com/zalando/logbookSpringBoot使用Logbook记录HTTP请求响应日志:https://mp.weixin.qq.com/s/9LITBfpGqTDTLbpfzp7tfASpring Boot的httptrace端口能够记录每次访问的请求和响应信息,但是不能记录body,这样在出问题时就不方便排查,而且httptrace不方便在原有的基础上进行扩展,所以只能寻求其他方式进行

2022-04-16 14:40:25 2535

原创 Log4j2日志框架

Log4j2日志框架1、简介及入门示例1、背景介绍官网地址:https://logging.apache.org/log4j/2.x/、Maven 仓库地址:https://search.maven.org/artifact/org.apache.logging.log4j/log4j-apiLog4j2是对Log4j1x的升级版,同时修复与升级了Logback的不足,被誉为是目前最优秀的Java日志框架。Apache Log4j2日志框架的主要特征:自动重新加载配置:参考了Logback的设计

2022-04-16 14:39:51 5085 2

原创 Logback日志框架

Logback日志框架1、Logback入门案例1、Logback简介官方网站:https://logback.qos.ch/index.html、Maven 仓库地址:https://search.maven.org/artifact/ch.qos.logback/logback-classicLogback日志框架的优势:Logback 是 log4j 框架的作者开发的新一代日志框架(性能比Log4j要好),它效率更高、能够适应诸多的运行环境,同时天然支持SLF4JLogback的定制性更

2022-04-16 14:39:06 3180

原创 日志门面统一技术

日志门面统一技术1、日志门面介绍1、什么是日志门面技术日志门面技术借鉴了 JDBC 的思想,为日志系统也提供了一套门面,开发者就可以面向这些接口规范来开发,避免了直接依赖具体日志框架,因为不同的日志框架有不同的用法,所以导致在更换日志框架时就需要改动大量的代码,所以为了减少开发量,就有了日志门面技术,门面技术简单地理解就是说你的日志框架变了,但是不需要改代码,只修改依赖和配置文件即可,提高了开发效率常见的日志门面: JCL、SLF4J常见的日志实现: JUL、Log4j、Logback、Log4

2022-04-16 14:36:18 1882

原创 Log4j日志框架

Log4j日志框架1、Log4j 简单入门1、简单介绍Log4j 官方网站: http://logging.apache.org/log4j/1.2/、Maven仓库:https://search.maven.org/search?q=g:log4jLog4j =》Log for java,从时间上讲,Log4j 的产生时间要比JUL早Log4j 很重要的一个缺陷是不支持占位符,但是用户可自己定义实现占位符的功能从官网或者Maven仓库可以发现 Log4j 最后的版本是1.2.17Log4

2022-04-16 14:35:28 630

原创 JUL日志框架

JUL日志框架1、JUL 简单介绍JUL全称Java util logging是Java原生的日志框架,使用时不需要另外引用第三方类库,相对其他日志框 架使用方便,学习简单,能够在小型应用中灵活使用。在JUL中有以下组件:Loggers:被称为记录器,应用程序通过获取Logger对象,调用其API来来发布日志信息。Logger通常时应用程序访问日志系统的入口程序Handlers:也被称为Appenders,每个Logger都会关联一组Handlers,Logger会将日志交给关联的Handler

2022-04-16 14:34:44 719

原创 日志的概念

日志的概念1、日志简介日志是什么日志:记录程序的运行轨迹,方便查找关键信息,也方便快速定位解决问题通常,Java程序员在开发项目时都是依赖Eclipse/IDEA等集成开发工具的Debug 调试功能来跟踪解决Bug,但项目发布到了测试、生产环境怎么办?你有可能会说可以使用远程调试,但实际并不能允许让你这么做。所以,日志的作用就是在测试、生产环境没有 Debug 调试工具时开发和测试人员定位问题的手段。日志打得好,就能根据日志的轨迹快速定位并解决线上问题,反之,日志输出不好,不仅无法辅助定位问题

2022-04-16 14:33:12 3568

原创 Java 时间类汇总

Java 7 六个时间类时间类的介绍与对比类名称时间格式java.util.Date(父类)年月日时分秒java.sql.Date(子类)年月日java.sql.Time(子类)时分秒java.sql.Timestamp(子类)年月日时分秒毫秒java.util.Calendar(日历类)年月日时分秒毫秒java.text.DateFormat(格式化类)时间格式转换类简单示例(如下显示输出时间08:00:00,是由于CST时区问题,东

2022-02-20 18:16:35 9320 1

原创 SpringData JPA 之疑难杂症

SpringData JPA 之疑难杂症1、JPA自动建表不生成外键SpringBoot项目搭配的JPA使用时候,有一对多的关系注解,那么自动会生成外键。外键在有些时候,会导致代码不能走通,我们不想要怎么做。有两种解决方案.1.1、多表关系映射:一对多情况一:单向一对多/多对一,在@JoinColumn内加上@ForeignKey属性配置即可@OneToMany@JoinColumn(name="cid",foreignKey = @ForeignKey(name = "none",value

2022-02-05 23:27:03 1129

原创 如何优雅的统计代码耗时

原文链接:https://blog.csdn.net/yuanlaijike/article/details/109257825一、前言代码耗时统计在日常开发中算是一个十分常见的需求,特别是在需要找出代码性能瓶颈时。可能也是受限于 Java 的语言特性,总觉得代码写起来不够优雅,大量的耗时统计代码,干扰了业务逻辑。特别是开发功能的时候,有个感受就是刚刚开发完代码很清爽优雅,结果加了一大堆辅助代码后,整个代码就变得臃肿了,自己看着都挺难受。因此总想着能不能把这块写的更优雅一点,今天本文就尝试探讨下“.

2021-10-14 12:43:39 170

原创 JSONPlaceholder 基本使用

一、认识 JSONPlaceholder官网地址:http://jsonplaceholder.typicode.com/JSONPlaceholder 是一个提在线 REST API 的网站,我们在开发时可以使用它获取一些假数据、假图片。其返回的数据为 JSON 格式,且同时支持 HTTP 和 HTTPS 这两种请求类型。JSONPlaceholder 一共有6种通用资源(Resources):URIData Size/posts100 posts/comments5

2021-10-14 12:43:19 4042

原创 Curl 的使用及命令参数说明

转载与参考:https://www.cnblogs.com/cangqiongbingchen/p/10180535.htmlhttps://www.cnblogs.com/fan-gx/p/12321351.htmlCurl 的使用1、URL访问1、访问一个网页时,可以使用curl命令后加上要访问的网址(我们就看到所访问网址的页面源码):[root@CentOS7 ~]# curl itbilu.com <html><head><title>30.

2021-10-14 12:41:08 2682

原创 Window后台启动JAR程序

Windows 后台执行Jar我们都知道Linux下可用命令:nohup /opt/jdk1.8.0_131/bin/java -jar xxx.jar & 来后台执行JAR如果是Windows环境,要如何在后台执行呢新建一个bat文件,输入:普通的启动: java -jar xxx.jar后台启动:javaw -jar xxx.jar系统需要退出的时候,可以查看任务管理器。从命令行中找到你启动的项目(javaw.exe),进而杀掉。引入外部日志配置文件启动引入外部日志配置文件启

2021-10-07 16:15:53 2646

原创 RabbitMQ 面试篇

RabbitMQ 面试篇1、Rabbitmq 为什么需要信道,为什么不是TCP直接通信1、TCP的创建和销毁,开销大,创建要三次握手,销毁要4次分手。2、如果不用信道,那应用程序就会TCP连接到Rabbit服务器,高峰时每秒成千上万连接就会造成资源的巨大浪费,而且==底层操作系统每秒处理tcp连接数也是有限制的,==必定造成性能瓶颈。3、信道的原理是一条线程一条信道,多条线程多条信道同用一条TCP连接,一条TCP连接可以容纳无限的信道,即使每秒成千上万的请求也不会成为性能瓶颈。2:queue队

2021-09-14 12:10:22 1165

原创 RabbitMQ 运维篇

RabbitMQ 运维篇01、持久化机制什么是RibbitMQ持久化:就把信息写入到磁盘的过程。持久消息:把消息默认放在内存中是为了加快传输和消费的速度,存入磁盘是保证消息数据的持久化。非持久消息:是指当内存不够用的时候,会把消息和数据转移到磁盘,但是重启以后非持久化队列消息就丢失。**RabbitMQ的持久化队列分为:**1.队列持久化、2.消息持久化、3.交换机持久化不论是持久化的消息还是非持久化的消息都可以写入到磁盘中,只不过非持久的是等内存不足的情况下才会被写入到磁盘中。1、Ra

2021-09-14 12:07:58 1678

原创 RabbitMQ 集群篇

RabbitMQ 集群篇00、集群架构原理前面我们有介绍到 RabbitMQ 内部有各种基础构件,包括队列、交换器、绑定、虚拟主机等,他们组成了 AMQP 协议消息通信的基础,而这些构件以元数据的形式存在,它始终记录在 RabbitMQ 内部,它们分别是:队列元数据:队列名称和它们的属性交换器元数据:交换器名称、类型和属性绑定元数据:一张简单的表格展示了如何将消息路由到队列vhost 元数据:为 vhost 内的队列、交换器和绑定提供命名空间和安全属性PS:元数据,指的是包括队列名字属性、

2021-09-14 12:07:20 3125

原创 RabbitMQ 属性参数配置详情

RabbitMQ 属性参数配置详情01、SpringBoot 配置参数详解参考:https://www.chihiro.org.cn/archives/20200522150924https://blog.csdn.net/girlgolden/article/details/979153681、application.ymlspring: rabbitmq: host: 127.0.0.1 #ip port: 5672 #端口 username: gu

2021-09-14 12:06:07 4723

原创 RabbitMQ 延迟队列+死信队列

RabbitMQ 延迟队列+死信队列延迟队列:https://www.cnblogs.com/mfrank/p/11260355.html死信队列:https://www.cnblogs.com/mfrank/p/11184929.html延迟队列+死信队列 大致流程图:01、延迟队列 TTL01-1、什么是延迟队列讨论什么是延迟队列之前我们得先知道什么是TTL:time to live 消息存活时间。延迟队列:实际上不存在真正意义上的延迟队列(简单说就是在普通队列上加过期时间就是延迟队

2021-09-14 12:05:19 496

原创 RabbitMQ 消息可靠性投递+消费

RabbitMQ 消息可靠性投递+消费任何消息中间件发消息投递的可靠性都是开发者选择的重要参考依据。我们希望的是发送的每一条消息都是可以被消费者正确处理的。但是没有哪个消息中间件可以保证消息一定 100% 投递成功,那么如果消息投递失败我们该如何处理呢?本文消息靠性介绍比较浅,深入可参考:消息可靠投递(上):https://www.cnblogs.com/mfrank/p/11380102.html消息可靠投递(下):https://www.cnblogs.com/mfrank/p/1144270

2021-09-14 12:04:40 1874 1

原创 RabbitMQ-SpringBoot 案例

RabbitMQ-SpringBoot 案例00、环境搭建1、IDEA创建生产者工程:springboot-rabbitmq-producer2、IDEA创建消费者工程:springboot-rabbitmq-consumer3、生产者和消费者分别引入spring-boot-rabbitmq的依赖和配置连接信息4、进行消息的分发和测试5、查看和观察web控制台的状况1、首先使用IDEA创建SpringBoot项目(步骤略)2、同时引入如下依赖 <parent>

2021-09-14 12:03:44 567

原创 RabbitMQ-Java 入门案例

RabbitMQ-Java 入门案例参考非常详细的博主教程:https://www.cnblogs.com/dtdx/p/14362760.htmlSpringBoot+Java 版教程:https://blog.csdn.net/lgl782519197/article/details/11377556900、环境搭建实现步骤:1、IDEDA内构建一个maven工程(jdk1.8)2:导入rabbitmq的maven依赖3:启动rabbitmq-server服务4:定义生产者、定义消

2021-09-14 12:03:06 637

原创 RabbitMQ-AMQP 简介

RabbitMQ-AMQP 简介01、RabbitMQ 概述官网:https://www.rabbitmq.com什么是RabbitMQ,官方给出来这样的解释:RabbitMQ is the most widely deployed open source message broker.With tens of thousands of users, RabbitMQ is one of the most popular open source message brokers. From T-M

2021-09-14 12:02:04 417

原创 RabbitMQ 安装及管理

RabbitMQ 安装及管理01、Win10 安装安装步骤:1.安装Erlang=》2.安装RabbitMQ=》3.激活RabbitMQ's Management Plugin可视化插件RabbitMQ是采用Erlang语言开发的,所以系统环境必须提供Erlang环境Erlang和RabbitMQ版本的按照比较: https://www.rabbitmq.com/which-erlang.html1、安装Erlang官网下载地址:https://www.erlang.org/downlo

2021-09-14 12:00:32 1017

原创 SpringData JPA 数据表映射

SpringData JPA 数据表映射1、映射注解说明1.配置多表联系注解介绍@OneToOne 一对一映射 targetEntityClass: 指定另一方类的字节码 cascade: 级联操作 CascadeType.MERGE 级联更新 CascadeType.PERSIST 级联保存

2021-09-09 19:11:47 1785

原创 SpringData JPA 接口查询

SpringData JPA 接口查询1、SpringData 接口继承结构Repository:最顶层的接口,是一个空的接口,目的是为了统一所有Repository的类型,且能让组件扫描的时候自动识别。CrudRepository :是Repository的子接口,提供CRUD的功能PagingAndSortingRepository:是CrudRepository的子接口,添加分页和排序的功能JpaRepository:是PagingAndSortingRepository的子接口,增加了一

2021-09-09 19:10:06 1185

原创 SpringData JPA 快速入门

SpringData JPA 快速入门1、SpringData JPA 简介1、Spring Data JPA 认识,官网:https://spring.io/projects/spring-data-jpaSpringData:其实SpringData就是Spring提供了一个操作数据的框架。而SpringData JPA 只是 SpringData 框架下的一个基于JPA标准操作数据的模块,简化操作持久层的代码。只需要编写接口就可以。Spring Data JPA:是 Spring 基于 ORM

2021-09-09 19:07:16 158

原创 Hibernate JPA 关联关系

Hibernate JPA 关联关系关联关系从整体上分为单向关联和双向关联:单向关联:只需从一端访问另一端,如教师Teacher可访问学生Student,则Teacher实体需要包含类型为Student的属性双向关联:两端均可互相访问,如教师Teacher可访问学生Student,学生Student也可访问教师Teacher,两个实体均需要包含类型为对方的属性1、一对一关联映射1.1、单向一对一单向1-1:需要在控制关系的一方实体中使用注解 @OneToOne 和 @JoinColumn 标

2021-09-09 18:47:55 372

原创 Hibernate JPA 锁机制

Hibernate JPA 锁机制当数据库并发访问的时候为了保证操作的统一性,那么往往会对并发数据的访问做出限制,例如:只允许一个会话处理,这样的机制就称为锁机制,而在JPA之中也支持锁机制的处理,而JPA支持两类锁:悲观锁:假设数据的访问一直都存在有并发,所以悲观锁一直都会存在,主要依靠的是数据库的锁机制乐观锁:假设不会进行并发访问(不会出现同时的数据更新处理)主要是依靠算法来实现的,设置版本号,通过版本号来判断当前的Session能否进行更新在JPA里面专门提供有一个锁的处理模式:javax

2021-09-09 18:47:33 947

原创 Hibernate JPA 缓存配置

Hibernate JPA 缓存配置1、一级缓存一级缓存指的是 EntityManager 级的缓存,对于这样的缓存几乎是一直存在的,也就是说只要用户进行JPA的操作,那么就永远都会存在有一级缓存新建数据库视图类和初始化数据@Data@Builder@NoArgsConstructor@AllArgsConstructor@Entity@Table(name = "tb_cache")public class CacheEntity { @Id @GeneratedV

2021-09-09 18:46:21 1398 1

原创 Hibernate JPA 主键策略

Hibernate JPA 主键策略Hibernate JPA 生成主键主要通过:@Id 和 @GeneratedValue 注解实现,其生成规则由 @GeneratedValue 设定@GeneratedValue的源码:@Target({METHOD,FIELD})@Retention(RUNTIME)public @interface GeneratedValue{ GenerationType strategy() default AUTO; String gene

2021-09-09 18:44:29 1456

原创 Hibernate JPA 注解分析

Hibernate JPA 注解分析1、常用注解@Entity(必须)应用于实体类,并且使用默认的ORM规则,即 Class 名对应数据库表中表名,Class 字段名即表中的字段名(如想改变这种默认的ORM规则,就要使用 @Table 来改变 Class 名与数据库中表名的映射规则,@Column 来改变 Class 字段名与DB中表的字段名的映射规则)元数据属性说明:name(可选):表名下面的代码说明,Customer类对应数据库中的Customer表,其中name为可选,缺省类名即表名

2021-09-09 18:40:05 826

原创 Hibernate JPA 复杂查询

Hibernate JPA 复杂查询1、JPQL 语句JPQL全称:Java Persistence Query Language在 EJB2.0 中引入的 EJB 查询语言 (EJB QL),Java 持久化查询语言 (JPQL) 是一种可移植的查询语言,旨在以面向对象表达式语言的表达式,将 SQL 语法和简单查询语义绑定在一起,使用这种语言编写的查询是可移植的,可以被编译成所有主流数据库服务器上的 SQL。在使用 JPQL 的时候整体的处理效果与SQL的语法形式是几乎相同的,而后在JPA执行

2021-09-09 18:39:00 1129

原创 Hibernate JPA 快速入门

Hibernate JPA 快速入门1、ORM 的介绍1、什么是 ORM?ORM(Object-Relational Mapping) 表示对象关系映射。在面向对象的软件开发中,通过ORM,就可以把对象映射到关系型数据库中。只要有一套程序能够做到建立对象与数据库的关联,操作对象就可以直接操作数据库数据,就可以说这套程序实现了ORM对象关系映射。简单的说:ORM 就是建立实体类和数据库表之间的关系,从而达到操作实体类就相当于操作数据库表的目的(就是说ORM会把数据表映射成一个Java对象,使开发人员可以

2021-09-09 18:37:41 468

原创 Swagger3.x-2.x

API管理系统介绍前后端都分离了,该搞个好用的API管理系统了!参考文献:https://mp.weixin.qq.com/s/Ahs6fnIfFVVPOn3NZpIsNASwagger: https://swagger.io/YApi:http://yapi.demo.qunar.com/eolinker:https://www.eolinker.com/易文档:https://easydoc.xyz/Swagger 3.XOpenApi规范接口文档谁产生:接口开发人员,后端工程

2021-04-11 15:53:20 675

原创 Java工具—Lombok

Lombok的介绍和安装参考:https://www.cnblogs.com/ooo0/p/12448096.htmlhttps://www.cnblogs.com/pascall/p/10281169.html官网:https://projectlombok.org/Lombok介绍:Lombok是一个优秀的Java代码库,简化了Java的编码,为Java代码的精简提供了一种方式每个JavaBean都会写getter、setter、equals、hashCode、toString等代

2021-04-10 16:28:43 1025

openjdk-12-windows-x64-bin

openjdk-12-windows-x64-bin

2023-05-05

openjdk-10-windows-x64-bin

openjdk-10-windows-x64-bin

2023-05-05

openjdk-9.0.4-windows-x64-bin

openjdk-9.0.4-windows-x64-bin

2023-05-05

openjdk-8u342-b07-windows-x64

openjdk-8u342-b07-windows-x64

2023-05-05

Java日志框架整合详情

Java日志框架整合详情

2022-06-02

PMBOK第六版-划重点思维导图

PMBOK第六版-划重点思维导图

2022-06-02

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

TA关注的人

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