welcome to heavy rain's website

If builders built buildings the way programmers wrote programs, then the first woodpecker that came along wound destroy civilization

java-lambda函数式编程

java-lambda函数式编程

简介java函数式编程可以简单概括: 基本函数 + lambda表达式 + 方法引用 + stream API = java函数式编程 本文介绍java.util.function包下常用的函数式接口及其实战 基本函数完整文档地址 接口 描述 Predicate 表示一个参数的谓词(布尔值函数)。 Consumer 表示接受单个输入参数并且不返回结果的操作。 Func......

mysql日志bingLog,redoLog,undoLog,java监听binlog

mysql日志bingLog,redoLog,undoLog

binlog日志binlog用于记录数据库执行的写入性操作(不包括查询)信息,以二进制的形式保存在磁盘中。binlog是mysql的逻辑日志,并且由Server层进行记录,使用任何存储引擎的mysql数据库都会记录binlog日志。 逻辑日志:可以简单理解为记录的就是sql语句。 物理日志:因为mysql数据最终是保存在数据页中的,物理日志记录的就是数据页变更。 binlog是通过追加的......

java反射获取对象属性实战及工具类

java反射获取对象属性实战及工具类

什么是反射反射就是把Java类中的各个成分映射成一个个的Java对象。即在运行状态中,对于任意一个类,都能够知道这个类的所以属性和方法;对于任意一个对象,都能调用它的任意一个方法和属性。这种动态获取信息及动态调用对象方法的功能叫Java的反射机制。 反射机制的功能Java反射机制主要提供了以下功能: 在运行时判断任意一个对象所属的类。 在运行时构造任意一个类的对象。 在运行时判断任意一个类......

目前常见AI软件国区注册与使用

目前常见AI软件国区注册与使用

国区注册OpenAI账号使用ChatGPT指南前期准备 科学上网,最好是美国IP 外国邮箱,如gmail、outlook、iCloud邮箱等 有一个能收到验证码的外国手机号码,如果你没有,请跳到下一步,注册一个能接验证码的手机号,注意这是收费的! 注册短信平台并充值打开 https://sms-activate.org/ (opens new window)点击右上角注册 输入邮箱和密码......
AI

几种深拷贝方式

利用json转换深拷贝

背景由于业务代码的方法将传递的引用数据类型参数进行了修改,后续业务又需要修改前的参数,所以需要在修改前进行深拷贝保持修改前的对象。 java值传递基本数据类型代码: 123456789101112public class TestJavaPass { public static void main(String[] args) { TestJavaPa......

云计算服务类型IaaS,PaaS,SaaS,BaaS,FaaS

判断inputstream是否为空

前言最近学习AWS遇到了各种云计算服务类型IaaS,PaaS,SaaS,BaaS,FaaS特此记录各种云计算类型。 AWS官方文档介绍:Types of Cloud Computing 下图为本地架构,IaaS,PaaS,SaaS之间的区别 概述: 基础设施即服务 (IaaS): 基础设施即服务有时缩写为 IaaS,包含云 IT 的基本构建块,通常提供对联网功能、计算机(虚拟或专用硬件......

java-function函数式编程+Map实现轻量级的策略模式

java-function函数式编程+Map实现轻量级的策略模式

前言策略模式目的是取代if…else…的写法,但是策略模式一般需要定义一个接口+多个实现类,然后使用枚举类(实现享元模式)或者Map(实现享元模式)来维护type:实现类的关系。但是很给人一种很重的感觉(因为写法有点繁琐,接口类+多个实现类)。 函数式编程轻量级实现借助lambda中Function+Map,使用Map+内部类来实现轻量级的策略模式。 12345678910111213141......

判断inputstream是否为空

判断inputstream是否为空

应用背景 对文件进行格式转换时如word文件转pdf文件,判断流是否为0kb,如果传入0kb的流,Aspose低版本做文件转换时会出现stackoverflow。 后端对0kb文件的判断,进行一系列处理。 解决方案1.InputStream.available 上图为抽象类InputStream及FileInputStream类源码及注释,可以看到注释中使用estimate(估算、估......

java代码性能评估工具库Stalker

java代码性能评估工具库Stalker

Java代码性能评估库Stalker简介文档地址 这是一个简单的用来对Java代码做性能评估的工具库。 特性 轻量级(jar包仅26kb) API简单易用 易于集成或扩展 Maven集成12345<dependency> <groupId>com.blinkfox</groupId> <artifactId>stalker<......

CompletableFuture

CompletableFuture使用

一、简介1.1 概述CompletableFuture是对Future的扩展和增强。CompletableFuture实现了Future接口,并在此基础上进行了丰富的扩展,完美弥补了Future的局限性,同时CompletableFuture实现了对任务编排的能力。借助这项能力,可以轻松地组织不同任务的运行顺序、规则以及方式。从某种程度上说,这项能力是它的核心能力。而在以往,虽然通过Coun......