Java字节码增强库ByteBuddy java-demo

Java字节码增强库ByteBuddy

1.什么是ByteBuddy ? ByteBuddy 是一个强大的 Java 字节码操作库,主要应用场景包括以下几个方面: 动态代理和 AOP(面向切面编程): ByteBuddy 可以用来创建动态代理,替代 Java 自带的 java.lang.reflect.Proxy,并且支持非接口类的代理。 常用于 AOP 框架中,例如在方法执行前后插入逻辑,实现日志记录、事务管理、...
阅读全文
Spring Cloud Config快速入门Demo springcloud-demo

Spring Cloud Config快速入门Demo

1.什么是Spring Cloud Config? Spring Cloud Config项目是一个解决分布式系统的配置管理方案。它包含了Client和Server两个部分,Server提供配置文件的存储以接口的形式将配置文件的内容提供出去,Client通过接口获取数据并依据此数据初始化自己的应用。目前SpringCloud Config的Server主要是通过Git方式做一个配置中心,然后每个...
阅读全文
Java SPI 快速入门Demo java-demo

Java SPI 快速入门Demo

1.什么是Java SPI ? SPI全称Service Provider Interface,在Java中还是一个比较重要的概念,是Java提供的一套用来被第三方实现或者扩展的API,或者换句话说,SPI是一种服务发现机制。 SPI 将服务接口和具体的服务实现分离开来,将服务调用方和服务实现者解耦,能够提升程序的扩展性、可维护性。修改或者替换服务实现并不需要修改调用方。 很多框架都...
阅读全文
如何优雅的处理NPE问题? java-demo

如何优雅的处理NPE问题?

1.什么是NPE? NPE,即NullPointerException,是开发中最常见的问题之一,有必要知道如何正确地处理NPE。 对于 Java 开发者来说,null 是一个令人头疼的类型,一不小心就会发生 NPE (空指针) 问题。也是 Java 语言为人诟病的一个重要原因之一。在我们消除可恶的 NPE 问题之前我们要回顾一下 Java 中 null 的概念。 2.有6种情况下会出现...
阅读全文
java使用ByteBuffer记录文件大小并进行多文件合并和拆分 java-demo

java使用ByteBuffer记录文件大小并进行多文件合并和拆分

1.背景 因为验证证书的需要,需要把证书文件和公钥给到客户,考虑到多个文件交互的不便性,所以决定将2个文件合并成一个文件交互给客户。刚开始采用字符串拼接2个文件内容,但是由于是加密文件,采用字符串形式合并后,拆分后文件不可用,最后采用基于二进制流拆分和合并文件,效果不错! 2.代码工程 实验目的  对文件进行二进制流合并和拆分 合并代码 ByteBuffer.allocate(4).p...
阅读全文
利用反射实现动态代理 java-demo

利用反射实现动态代理

1.什么是反射? Java 反射(Reflection)允许程序在运行时动态获取类的信息、访问类的成员和方法、创建类的实例等。尽管反射的性能不如直接调用高,但其灵活性使得反射在许多场景中非常有用。 2.反射主要应用场景 1. 框架设计与实现 许多 Java 框架利用反射来实现高度的灵活性和动态功能,例如: Spring:Spring 框架使用反射来实现依赖注入、AOP(面向切面编程...
阅读全文
利用ClasserLoader来实现jar包加载并调用里面的方法 java-demo

利用ClasserLoader来实现jar包加载并调用里面的方法

1.ClasserLoader介绍? classloader顾名思义,即是类加载。虚拟机把描述类的数据从class字节码文件加载到内存,并对数据进行检验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。了解java的类加载机制,可以快速解决运行时的各种加载问题并快速定位其背后的本质原因,也是解决疑难杂症的利器。因此学好类加载原理也至关重要。 内置类加载器...
阅读全文
Spring Boot如何解决跨域问题? springboot-demo

Spring Boot如何解决跨域问题?

1.什么是跨域? 跨域请求,就是说浏览器在执行脚本文件的ajax请求时,脚本文件所在的服务地址和请求的服务地址不一样。说白了就是ip、网络协议、端口都一样的时候,就是同一个域,否则就是跨域。这是由于Netscape提出一个著名的安全策略——同源策略造成的,这是浏览器对JavaScript施加的安全限制。是防止外网的脚本恶意攻击服务器的一种措施。 2.代码工程 实验目标 让Spring Bo...
阅读全文
利用Thumbnailator来生成缩略图 博主自留地

利用Thumbnailator来生成缩略图

1.什么是Thumbnailator? Thumbnailator是一个用于Java的缩略图生成库。通过Thumbnailator提供的流畅接口(fluent interface)的方式可以完成复杂的缩略图处理任务,无需访问Image I/O API并通过Graphics2D对象手动操作BufferedImages。 2 缩略图可以做什么? 缩略图是应用极其广泛的,像头像、图片消息、商品图片...
阅读全文
jdk版本管理利器-sdkman 后端

jdk版本管理利器-sdkman

1.什么是sdkman? sdkman是一个轻量级、支持多平台的开源开发工具管理器,可以通过它安装任意主流发行版本(例如OpenJDK、Kona、GraalVM等等)的任意版本的JDK。通过下面的命令可以轻易安装sdkman: 2.安装 curl -s "https://get.sdkman.io" | bash source "$HOME/.sdkman/bin/sdkman-init...
阅读全文
Loading...