Java中如何获取当前服务器的IP地址

获取ip的第一反应就是:使用InetAddress这个类:方法如下InetAddress.getLocalHost().getHostAddress();public static void main(String[] args) { try { //...

2023-07-24

基于Java类的加载方式

目录类的生命周期类加载的过程一、加载(Loading)二、验证(Verification)三、准备(Preparation)四、解析(Resolution)五、 初始化类加载器双亲委派机制双亲委派的作用总结类的生命周...

2023-07-24

SpringBoot Maven升级自带的jar包版本问题

目录SpringBoot Maven升级自带的jar包版本Maven自动更新jar包的几种方式现在提供几个思路解决这个问题总结SpringBoot Maven升级自带的jar包版本当SpringBoot自带jar 包版本...

2023-07-24

Netty学习之理解selector原理示例

目录BIO的弊端解决思路epollNIO总结BIO的弊端BIO既是Blocking IO,也叫同步阻塞模型,BIO模型如下如果所示,多个客户端连接一个服务端, 每出现一个客户端就开一个handler(一般对应...

2023-07-24

java并发无锁多线程单线程示例详解

目录前言场景单线程多线程悲观锁无锁最后前言在并发编程中,多线程的共享资源的修改往往会造成严重的线程安全问题,解决这种问题简单暴力的方式就是加锁,加锁的方式使用简单易理...

2023-07-24

Open Feign之非SpringCloud方式使用示例

目录前言OpenFeign是什么原生注解(不推荐)spring注解最佳实践(推荐)1、引入依赖2、定义RPC接口3、自定义Json解码器4、配置HttpClient线程池5、编写调用入口6、RequestIntercept...

2023-07-24

Spring Boot 中的 @HystrixCommand 注解原理及使用方法

目录Spring Boot 中的 @HystrixCommand 注解简介原理如何使用步骤一:添加依赖步骤二:添加注解步骤三:配置属性总结Spring Boot 中的 @HystrixCommand 注解简介在分布式系统中,服...

2023-07-24

Mybatis-plus如何更新Null字段详解

目录一、问题描述二、问题原因三、解决方案1.直接在mapper.xml中写sql:2.设置全局的FieldStrategy3.对指定的字段单独设置field-strategy4.使用update方法结合UpdateWrapper...

2023-07-24

关于springboot中的自定义配置项

目录自定义配置项@valueEnvironment接口@ConfigurationProperties自定义配置项在项目开发的过程中,经常需要自定义系统业务方面的配置文件及配置项,Spring Boot提供了@value注...

2023-07-24

String转BigDecimal,BigDecimal常用操作,以及避免踩坑记录

目录String转BigDecimal,BigDecimal常用操作,以及避免踩坑String如何转成BigDecimal_Java.math.BigDecimal类的使用BigDecimal构造方法BigDecimal的静态方法valueOfBigDecim...

2023-07-24

IDEA项目打包的几种方式总结

目录第一种,最常见的使用maven第二种,使用IDEA将项目打包总结第一种,最常见的使用maven项目的pom文件中引入spring-boot-maven-plugin插件<build> <finalName>文件名称<...

2023-07-24

Java中继承和组合的区别

目录什么是继承什么是组合继承与组合的区别与联系继承与组合的优缺点继承的优缺点组合的优缺点什么是继承继承是面向对象三大基本特征之一(继承,封装,多态),继承就是子类继承父...

2023-07-24

谷歌二维码引擎com.google.zxing二维码生成与解析

目录Google ZXing 概述与下载二进制包下载保存二维码图片在线生成二维码解析二维码图片工具类完整内容总结Google ZXing 概述与下载1、Java 操作二维码的开源项目很多,如 Swe...

2023-07-24

实现一个简单Dubbo完整过程详解

目录Dubbo需求网络服务端代理测试DubboDubbo最早的定位是rpc框架,即远程服务调用,解决的是跨服务之间的方法调用问题,本文还是在这个定位基础上尝试手写一个简单的Dubbo需求首...

2023-07-24

深度剖析Java成员变量、局部变量和静态变量的创建和回收时机

目录Java变量的创建与回收成员变量(实例变量):局部变量:静态变量(类变量):总结:Java变量的创建与回收成员变量(实例变量):成员变量是定义在类中的变量,每个类的实例都会拥有自己的成员变...

2023-07-24

java并发学习之Executor源码解析

目录Runnable && ThreadExecutorExecutorServiceCallableFutureAbstractExecutorServiceFutureTask总结Runnable && ThreadRunnable和Thread都是java.lang包最基本的线程操...

2023-07-24

Java split()方法中的特殊符号举例详解

一、split是什么?在Java中,split()方法用于分隔字符串,可以根据匹配给定的正则表达式来拆分字符串。split()方法可以将一个字符串分割为子字符串,然后将结果作为字符串数组返回;...

2023-07-24

Shiro的运行大致流程详解

目录ShiroShiro的架构ShiroAuthentication:身份认证/登录,验证用户是不是拥有相应的身份;Authorization:授权,即权限验证,验证某个已认证的用户是否拥有某个权限;即判断用户是否能...

2023-07-24

深入解析java中的值传递和引用传递

目录​​​​​辟谣时间实参与形参求值策略为什么说Java中只有值传递Java的求值策略Java中的对象传递值传递和共享对象传递的现象冲突吗?总结​​​​​辟谣时间错误理解一:值...

2023-07-24

MybatisPlus lambdaQueryWrapper中常用方法的使用

目录1.lambdaQueryWrapper中常用方法2.举例 1.lambdaQueryWrapper中常用方法2.举例 用mapper自带方法查询得到list:第一种方式://根据课堂id和用户id(或学期id)查询出用户列表...

2023-07-24

Spring Boot 中的任务执行器基本概念及使用方法

目录Spring Boot 中的任务执行器是什么,如何使用什么是任务执行器如何使用任务执行器1. 添加依赖2. 配置任务执行器3. 创建异步任务4. 调用异步任务5. 运行应用程序总结Sprin...

2023-07-24

SpringMVC使用@Valid注解实现数据验证的代码示例

目录SpringMVC中的数据验证如何使用 @Valid 注解@Valid 注解的作用数据验证的流程如何使用 @Valid 注解数据验证的规则自定义验证规则总结SpringMVC中的数据验证如何使用 @V...

2023-07-24

关于SpringBoot自定义条件注解与自动配置

目录自定义条件注解自定义自动配置Spring Boot的核心功能就是为整合第三方框架提供自动配置,而本文则带着大家实现了自己的自动配置和Starter,一旦真正掌握了本文的内容,就会对...

2023-07-24

Java生成二维码的2种实现方法

目录前言一、自定义工具类二、使用第三方工具类关于生成二维码的一些讨论总结前言本文介绍Java生成二维码的两种方法,这两种方法都依赖于google提供的二维码依赖包。一种是自...

2023-07-24

Spring Boot 中的 Native SQL基本概念及使用方法

目录什么是 Native SQL使用 JdbcTemplate 执行 Native SQL步骤一:添加依赖步骤二:创建 JdbcTemplate 实例步骤三:执行 SQL 语句使用 NamedParameterJdbcTemplate 执行 Native S...

2023-07-24

Java后台接收数据的三种方式(url、form-data与application/json)

目录url传参的方式以form_data方式传输以json数据传输注解@RequestParam@RequestBody@PathVariableformdata和json的区别关于post请求能用@pathVariable注解的尝试url传参的...

2023-07-24

java响应式编程之Reactor使用示例解析

目录前言响应式异步编程callbackFutureReactive StreamReactorRedis异步读取lettuce压测使用前言响应式编程在java编程中并不常见,可能比较近的接触也就是spring-gateway中晦...

2023-07-24

在SpringBoot中更改默认端口的方法总结

目录使用配置文件更改端口使用系统属性更改端口使用命令行参数更改端口使用编程配置更改端口特定于环境的端口更改为随机端口使用配置文件更改端口在 Spring Boot 中更改默...

2023-07-24

Java 动态编译在项目中的实践分享

目录1、什么是动态编译1.1、动态编译的相关概念1.2、如何简单的实现动态编译2、如何结合 springboot 项目使用2.1、动态编译在项目中遇到的问题2.1.1、必须重写类加载器新编...

2023-07-24

Java判断一个实体是不是空的简单方法

目录1、对象是否为null3、集合是否为空4、数组是否为空附:Java 判断实体类对象的全部属性是否空总结在Java中,我们可以使用以下方法来判断一个实体是否为空:1、对象是否为null...

2023-07-24

JAVA各种加密与解密方式总结大全

目录一、凯撒加密二、Base64三、信息摘要算法(MD5 或 SHA)四、对称加密(Des,Triple Des,AES)五、非对称加密1.生成公钥和私钥文件2.使用RSA进行加密、解密六、查看系统支持的算法...

2023-07-24

关于java.math.BigDecimal比较大小问题

目录java.math.BigDecimal比较大小java.math.BigDecimal类解读一、BigDecimal概述二、BigDecimal常用构造函数三、BigDecimal常用方法详解四、BigDecimal格式化五、BigDecim...

2023-07-24

SpringMVC使用自定义验证器进行数据验证的方法

目录SpringMVC 中的数据验证如何使用自定义验证器简介SpringMVC 数据验证机制自定义验证器supports() 方法在 SpringMVC 中使用自定义验证器定义待验证对象编写自定义验证器...

2023-07-24

Idea 同一窗口导入多个项目的实现步骤

目录一、将 git 或者 svn 项目下载到本地二、在idea工具中导入本地项目模块三、对新模块进行配置四、重启idea,让idea帮我们识别spring应用程序上下文五、 总结idea应该是目...

2023-07-24

快速掌握Java8中的Optional

目录什么是 Optional?如何使用Optional?创建Optional对象访问Optional对象的值链式调用Optionalmap 和 flatMapfilter自从Java 8在2014年发布以来,它引入了很多有用的特性,其中...

2023-07-24

Caffeine本地缓存示例详解

目录一. 概述二. 数据加载1. Manual手动2. Loading自动3. Asynchronous Manual异步手动4. Asynchronously Loading异步自动三. 数据驱逐1. 基于容量2. 基于时间3. 基于弱/软...

2023-07-24

Java生成递增流水号(编号+时间+流水号)简单示例

Java编写一个流水号,要求格式【编号】【时间】【流水号】。编号和时间比较简单,直接获取拼接就可以,流水号使用类型转换来实现。获取车间编号,变量为workCenter(例子A1、B2、C3);使...

2023-07-24

MyBatis中的自定义TypeHandler详解

要实现 typeHandler 就需要去实现接口 typeHandler,或者继承 BaseTypeHandler(实际上,BaseTypeHandler 实现了 typeHandler 接口)。自定义String类型的TypeHandler:import java.s...

2023-07-24

Spring常用数据源的xml配置详解

目录Spring自带的数据源(DriverMangerDataSource)数据源配置xml文件:db.properties的配置文件如下:DBCP数据源Maven依赖配置:数据源配置xml文件:C3P0数据源Maven依赖配置:数据源...

2023-07-24

Mybatis-Plus主键插入null值报错问题及解决

目录Mybatis-Plus主键插入null值报错mybatis插入数据传入值为null时提示无效的列类型方法一方法二总结Mybatis-Plus主键插入null值报错Mysql数据库主键对应的实体类属性id只...

2023-07-24

SpringBoot整合redis+Aop防止重复提交的实现

目录1.redis的安装2.SpringBoot整合redis3.整合AOP,防止重复提交一,定义注解二,写一个HttpContextUtil工具类获取HttpServletRequest请求三,定义一个切面四。之前方法上加上我...

2023-07-24

java实现开根号的运算方式

目录java实现开根号的运算java实现一定精度的开根号运算总结java实现开根号的运算面试的时候,偶然被问到,开根号的实现,虽然给面试官讲解了思路,但是没有实际实现过,闲来无事,就把...

2023-07-24

Mybatis实现SQL映射的两种方法(xml文件形式和注解形式)

目录Mybatis实现SQL映射的两种方式一,用XML实现映射器二,注解实现映射总结Mybatis实现SQL映射的两种方式SQL映射是Mybatis中最重要,复杂的组件,它由一个接口和对应的XML文件(或注...

2023-07-24

Maven 版本管理与 flatten-maven-plugin 插件的使用解析

目录1. flatten-maven-plugin 介绍1.1 环境1.2 版本占位符2. 实例分析2.1 先看一下自己构建的项目2.2 再看一下开源项目是怎么进行版本管理的2.3 改造 pointer-pay 先看一下...

2023-07-24

java中BigDecimal类型比较大小和绝对值计算方式

目录BigDecimal类型比较大小和绝对值计算关键方法代码测试将equals()方法和compareTo()作比较常用的BigDecimal的定义和用法BigDecimal在计算中体现出来的精准度1.BigDecima...

2023-07-24

关于弗洛伊德算法求最短路径详解

目录弗洛伊德算法介绍弗洛伊德算法思想算法原理弗洛伊德算法介绍和迪杰斯特拉算法一 样, 弗洛伊德(Floyd)算法也是一种用于寻找给定的加权图中顶点间最短路径的算法。弗洛伊...

2023-07-24

Spring MVC异步上传、跨服务器上传和文件下载功能实现

目录一、异步上传1.1 JSP页面1.2 控制器方法1.3 测试结果二、跨服务器上传2.1 修改tomcat的部分配置2.2 JSP页面2.3 添加依赖2.4 控制器方法2.5 测试结果 三、文件下载3.1...

2023-07-24

Java中的泛型和泛型通配符详解

目录1. 前言2. 泛型的作用3. 泛型通配符3.1 常用的K、V、T、E、?3.2 无界通配符 “?”3.3 上届通配符 <? extend E>3.4 下届通配符 <? supper E>3.5 ?和 T 的区别4....

2023-07-24

Java中如何用Stream分组并求各组数量

比如给了我一个班级的所有人的姓氏和姓名对象集合,根据这个集合求出各姓氏有多少人。直接上代码。User的实体类对象为@Data@NoArgsConstructor@AllArgsConstructorpublic cla...

2023-07-24
返回顶部
顶部