解密JavaChassis3:易扩展的多种注册中心支持

本文分享自华为云社区《JavaChassis3技术解密:易扩展的多种注册中心支持》,作者:liubao68。Java Chassis 的早期版本依赖于 Service Center,提供了很多差异化的竞争力: 接口级别...

2024-02-07

Java锁到底是个什么东西

一、java锁存在的必要性要认识java锁,就必须对2个前置概念有一个深刻的理解:多线程和共享资源。对于程序来说,数据就是资源。在单个线程操作数据时,或快或慢不存在什么问题,一个...

2024-02-07

盘点Java集合(容器)概览,Collection和Map在开发中谁用的最多?

写在开头在Java的世界里万物皆对象。但我认为是万物皆数据,世界由各种各样数据构建起来,我们通过程序去实现数据的增删改查、转入转出、加减乘除等等,不同语言的实现方式殊途同...

2024-02-07

由反射引出的Java动态代理与静态代理

写在开头在《深入剖析Java中的反射,由浅入深,层层剥离!》这篇文章中我们讲反射时,曾提到过Java的动态代理中使用了反射技术,那么好,今天我们要就着反射的索引,来学习一下Java中的代...

2024-02-03

spring声明式事务(@Transactional)开发常犯的几个错误及解决办法

目前JAVA的微服务项目基本都是SSM结构(即:springCloud +springMVC+Mybatis),而其中Mybatis事务的管理也是交由spring来管理,大部份都是使用声明式事务(@Transactional)来进行事务一...

2024-02-03

Java浅谈BufferedReader

既然Scanner简单好用,为什么要用BufferedReader呢?主要原因是面对大量的读入显得较慢且不安全,这里体现在三个方面,一方面是解析的问题,好用意味着封装的更复杂,一拖n的接口解析起...

2024-02-03

深入剖析Java中的反射,由浅入深,层层剥离!

写在开头之前更新了不少Java的基础知识,比如Java的类、对象、基础类型、关键字、序列化、泛型、值传递等等,今天要上点深度了,来聊一聊Java中的 反射 !所谓反射,就是在运行时分...

2024-02-02

每日一道Java面试题:说一说Java中的异常

写在开头任何一个程序都无法保证100%的正常运行,程序发生故障的场景,我们称之为:异常,在Java中对于异常的处理有一套完善的体系,今天我们就来一起学习一下。
老样子,用一段简单的...

2024-02-02

Spring Cloud Config核心功能和原理解析

配置管理的前世今生随着技术的发展,配置项管理变得越来越简单,尽管如今它只限于管理业务属性或者配置初始化参数等等,但是当年它可肩负着 Spring IOC 的光荣使命,风光无限。想当...

2024-02-02

Java系列:Java8 新特性:强大的 Stream API(创建 Stream、中间操作、终止操作)

Java8中有两大最为重要的改变。第一个是 Lambda 表达式;另外一个则是 Stream API。 Stream API ( java.util.stream) 把真正的函数式编程风格引入到Java中。这是目前为止对J...

2024-01-30

Spring系列:Spring6简介和基本使用

一、概述1.1 特点Spring 是一款主流的 Java EE 轻量级开源框架 ,Spring 由“Spring 之父”Rod Johnson 提出并创立,其目的是用于简化 Java 企业级应用的开发难度和...

2024-01-30

Spring系列:基于XML的方式构建IOC

目录 一、搭建模块spring6-ioc-xml 二、获取bean的三种方式 三、基于setter注入 四、基于构造器注入 五、特殊值处理 六、为对象类型属性赋值 七、引入外部属性文件 八、基...

2024-01-30

Spring系列:基于注解的方式构建IOC

目录 一、搭建子模块spring6-ioc-annotation 二、添加配置类 三、使用注解定义 Bean 四、@Autowired注入 五、@Resource注入 六、全部代码从 Java 5 开始,Java 增加了对注解(A...

2024-01-30

Spring Cloud Seata 系列:Seata-Server (1.7.1)安装与配置(集成 Nacos)

目录 一、简介 术语 事务模式 XA 模式 AT 模式 TCC 模式 Sage 模式 说明 二、Seata Server 存储模式 1、file 模式 ①修改application.xml ②启动...

2024-01-30

Spring Cloud Seata系列:基于AT模式实现分布式事务

目录 前提 Seata的AT模型 流程梳理 一阶段: 二阶段-回滚 二阶段-提交 脏写问题 写隔离 读隔离 优缺点 AT与XA的区别 实现AT模式
https://seata.io/zh-cn/docs/de...

2024-01-30

Spring系列:基于Spring-AOP和Spring-Aspects实现AOP切面编程

目录 一、概念及相关术语 概念 相关术语 ①横切关注点 ②通知(增强) ③切面 ④目标 ⑤代理 ⑥连接点 ⑦切入点 作用 二、基于注解的A...

2024-01-30

Spring系列:基于Spring-Jdbc实现事务

目录 一、事务基本概念 二、编程式事务 三、声明式事务 前期准备 四、基于注解的声明式事务 @Transactional注解标识的位置 事务属性:只读 事务属性:超时 事务属性:回...

2024-01-30

Spring Boot3 系列:Spring Boot3 跨域配置 Cors

目录 什么是CORS? Spring Boot 如何配置CORS? 前端代码 注解配置 全局配置 过滤器配置 注意事项 什么是CORS?CORS,全称是“跨源资源共享”(Cross-Origin Resour...

2024-01-30

MyBatis 系列:MyBatis 源码环境搭建

目录 一、环境准备 二、下载 MyBatis 源码和 MyBatis-Parent 源码 三、创建空项目、导入项目 四、编译 mybatis-parent 五、编译 mybatis 六、测试 总结 一、环境准备jdk:17m...

2024-01-30

Servlet系列:生命周期(init、 service、destroy)详解

Servlet的生命周期是由Web容器(如Tomcat)管理的,包括以下三个阶段: 加载和实例化:当Web应用程序启动时,Web容器会加载和实例化Servlet。加载和实例化过程可以在应用程序启动时自动...

2024-01-30

Spring Cloud 系列:Seata 中TCC模式具体实现

概述https://seata.io/zh-cn/docs/dev/mode/tcc-modehttps://seata.io/zh-cn/docs/user/mode/tccTCC模式与AT模式非常相似,每阶段都是独立事务,不同的是TCC通过人工编码来实现...

2024-01-30

MyBatis 源码系列:MyBatis 体系结构、六大解析器

体系结构MyBatis是一个持久层框架,其体系结构分为三层:基础支持层、核心处理层和接口层。基础支持层包括数据源模块、事务管理模块、缓存模块、Binding模块、反射模块、类型转...

2024-01-30

Spring Cloud系列: OpenFeign 简介和使用以及对比 Feign

目录 一、简介 二、使用 1、创建父工程 2、创建order-service模块 3、创建order-client模块 三、效果 四、配置说明 1、超时配置 全局超时配置 局部超时配置 ...

2024-01-30

Swagger系列:SpringBoot3.x中使用Knife4j

目录 一、简介 二、版本说明 三、使用 四、效果图一、简介官网:https://doc.xiaominfo.com/Knife4j是一个集Swagger2 和 OpenAPI3 为一体的增强解决方案Knife4j 是为 Java MV...

2024-01-30

java.util.ConcurrentModificationException 异常问题详解

环境:JDK 1.8.0_111在Java开发过程中,使用iterator遍历集合的同时对集合进行修改就会出现java.util.ConcurrentModificationException异常,本文就以ArrayList为例去理解和解决...

2024-01-30

详解Java中的字符串

目录 字符串常量池详解 配合反编译代码验证字符串初始化操作. 详解字符串操作类 String, StringBuilder, StringBuffer的底层实现 关于StringBuilder和String之间的讨...

2024-01-30

细说Java主流日志工具库

细说 Java 主流日志工具库 日志框架 java.util.logging (JUL) Log4j Logback Log4j2 Log4j vs Logback vs Log4j2 日志门面 common-logging slf4j common-loggin...

2024-01-30

Java实现简单的RPC框架

一、RPC简介RPC,全称为Remote Procedure Call,即远程过程调用,它是一个计算机通信协议。它允许像调用本地服务一样调用远程服务。它可以有不同的实现方式。如RMI(远程方法调用)...

2024-01-30

java的动态代理机制详解

在学习Spring的时候,我们知道Spring主要有两大思想,一个是IoC,另一个就是AOP,对于IoC,依赖注入就不用多说了,而对于Spring的核心AOP来说,我们不但要知道怎么通过AOP来满足的我们的...

2024-01-30

7000字详解Spring Boot项目集成RabbitMQ实战以及坑点分析

本文给大家介绍一下在 Spring Boot 项目中如何集成消息队列 RabbitMQ,包含对 RibbitMQ 的架构介绍、应用场景、坑点解析以及代码实战。我将使用 waynboot-mall 项目作为代码...

2024-01-30

Java连接kubernates集群最优雅的两种方式

创建maven工程,pom.xml中引入连接k8s的客户端jar包:<properties> <maven.compiler.source>8</maven.compiler.source> <maven.compiler.target>8</maven.compiler.target>...

2024-01-30

JVM(Java虚拟机) 整理

JVM整体结构本文主要说的是HotSpot虚拟机,JVM 全称是 Java Virtual Machine,中文译名:Java虚拟机简化一下:Java字节码文件Class文件本质上是一个以8位字节为基础单位的二进制流,...

2024-01-30

SpringBoot实现动态数据源配置

场景描述:前一阵子接手的新项目中需要使用2个数据源。一个叫行云数据库,一个叫OceanBase数据库。就是说,我有时候查询要查行云的数据,有时候查询要查 OceanBase 的数据,咋办?废话...

2024-01-30

SpringBoot统一结果返回,统一异常处理,大牛都这么玩

引言在开发Spring Boot应用时,我们经常面临着不同的控制器方法需要处理各种不同类型的响应结果,以及在代码中分散处理异常可能导致项目难以维护的问题。你是否曾经遇到过在不...

2024-01-29

新来的一个同事,把SpringBoot参数校验玩的那叫一个优雅

介绍在开发现代应用程序时,数据验证是确保用户输入的正确性和应用程序数据完整性的关键方面。Spring Boot 提供了强大的数据验证机制,使开发者能够轻松地执行验证操作。本文将...

2024-01-29

Spring Cloud 系列:基于Seata 实现 XA模式

https://seata.io/zh-cn/docs/user/mode/xahttps://seata.io/zh-cn/docs/dev/mode/xa-modeXA 规范 是 X/Open 组织定义的分布式事务处理(DTP,Distributed Transaction Process...

2024-01-28

每日一道Java面试题:方法重载与方法重写,这把指定让你明明白白!

这个问题应该是各大厂面试时问的最多的话题之一了,它们几乎贯穿了我们日常的开发工作,在过往的博客中我们多多少少都提到过重载与重写,而今天我们就一起来详细的学习一下这二者...

2024-01-28

SpringBoot中Bean的条件装配

目录 概述 Profile Conditional ConditionalOn ConditionalOnProperty 概述众所周知,SpringBoot最腻害的地方就是容器,开发人员的日常工作就是编写bean,并由框架扫描存到容...

2024-01-28

每日一道Java面试题:Java是值传递还是引用传递?

写在开头Java是值传递还是引用传递?这个问题几乎100%的出现在了各大主流Java面试题中,知识点很小,但很考验面试者对于Java运行的理解,今晚趁着生产投产的空子,过来小聊一下。实参...

2024-01-28

SpringBoot中使用LocalDateTime踩坑记录

前言近日心血来潮想做一个开源项目,目标是做一款可以适配多端、功能完备的模板工程,包含后台管理系统和前台系统,开发者基于此项目进行裁剪和扩展来完成自己的功能开发。本项目...

2024-01-27

两千字讲明白java中instanceof关键字的使用!

写在开头在过往的内容中,我们讲了不少的Java关键字,比如final、static、this、super等等,Java中的关键字非常之多,下图是整理的关键字集合
而我们今天要学习的就是其中的instanc...

2024-01-25

Servlet系列:(HttpServletRequest、HttpServletResponse、ServletContext、ServletConfig)详解

HttpServletRequestHttpServletRequest 对象:主要作用是用来接收客户端发送过来的请求信息,例如:请求的参数,发送的头信息等都属于客户端发来的信息,service()方法中形参接收的是...

2024-01-25

面试官:SpringBoot如何实现缓存预热?

缓存预热是指在 Spring Boot 项目启动时,预先将数据加载到缓存系统(如 Redis)中的一种机制。那么问题来了,在 Spring Boot 项目启动之后,在什么时候?在哪里可以将数据加载到缓存系...

2024-01-24

Spring的@Async使用防坑

很多人会直接只用@Async来执行异步操作。但是这里面有一个问题,如果都是用spring的默认实现,是有坑的。当我们开启 EnableAsync注解 就可以使用@Async注解来执行异步操作了。...

2024-01-24

StringBuilder 线程不安全,到底哪里不安全?

StringBuilder 线程不安全,到底哪里不安全?在Java中,字符串拼接是一个非常常见的操作,而对于频繁变动的字符串内容,使用StringBuilder是一个性能优化的选择。但是,StringBuilder在...

2024-01-24

这应该是java最好用的orm之一了

这应该是java最好用的orm之一了说起orm大家肯定都不会陌生,作者是一个.net菜鸟。并且是在.net繁荣的orm圈子下成长的,所以这次给大家带来的是媲美efcore,freesql,sqlsugar的...

2024-01-24

Spring Boot 整合 Camunda 实现工作流

工作流是我们开发企业应用几乎必备的一项功能,工作流引擎发展至今已经有非常多的产品。最近正好在接触Camunda,所以来做个简单的入门整合介绍。如果您也刚好在调研或者刚开始...

2024-01-24

HanLP — HMM隐马尔可夫模型 -- 维特比(Viterbi)算法 --示例代码 - Java

Viterbi 维特比算法解决的是篱笆型的图的最短路径问题,图的节点按列组织,每列的节点数量可以不一样,每一列的节点只能和相邻列的节点相连,不能跨列相连,节点之间有着不同的距离,距...

2024-01-24

白话文解析LiteFlow的理念是什么?什么时候用该怎么用?干货满满

官网:https://liteflow.cc/Gitee:https://gitee.com/dromara/liteFlowGithub:https://github.com/dromara/liteflowLiteFlow一个现代化的开源规则引擎框架,以下文中简称LF。前...

2024-01-24

让我看看怎么个事儿之SpringBoot自动配置

学习 SpringBoot 自动配置之前我们需要一些前置知识点:Java注解,看完就会用学会@ConfigurationProperties月薪过三千不是银趴~是@Import!@Conditional+@Configuration有没有搞...

2024-01-24
返回顶部
顶部