JAVA
bug_undefine
lie down
展开
-
自定义Java注解
java 注解使用原创 2022-07-08 15:02:18 · 133 阅读 · 0 评论 -
ThreadLocal原理及使用场景
ThreadLocal使用场景及原理原创 2022-07-08 11:15:45 · 152 阅读 · 0 评论 -
Java Class类浅析
Java的Class类浅析原创 2022-07-04 15:55:36 · 100 阅读 · 0 评论 -
Java builder模式一般写法
public final class OpenFlowPackage { private OpenFlowVersionEnum version; private OpenFlowTypeEnum type; private Integer length; private Integer transactionId; OpenFlowPackage(final OpenFlowVersionEnum version, final OpenFlowTypeEnum t原创 2022-05-10 17:03:13 · 262 阅读 · 0 评论 -
postman导入Knife4j生成的openapi
问题描述导入文件时postman报错 Error while importing: format not recognized解决办法在info中添加version即可{ "swagger": "2.0", "info": { "description": "adapter-center", "title": "适配中心接口文档", "version": "2.0.0" } ···...原创 2022-04-24 10:36:10 · 2703 阅读 · 0 评论 -
CommandLineRunner原理
背景总所周知,自定义的类实现了CommandLineRunner接口,在项目启动时,会执行run方法,用来实现类的初始化。原理其实很简单。源码分析从springboot入口分析SpringApplication.run(Application.class, args)进入最终的run方法,可以看到调用了callRunners方法public ConfigurableApplicationContext run(String... args) { long startTime = S原创 2022-04-12 15:18:23 · 404 阅读 · 0 评论 -
通过注解实现工厂方法
一、原理以service的name作为key,value为同类型的产品service实现方式二、demo1、定义接口package mytest.service;public interface AnimalService { void said();}2、不同产品实现方式1) Dogpackage mytest.service;import org.springframework.stereotype.Service;@Service("dog")public clas原创 2022-03-14 15:02:24 · 264 阅读 · 0 评论 -
SPI动态加载jar
动态加载jar背景通过UrlClassloader + SPI机制动态加载第三方jar包代码流程1、UrlClassloader加载指定目录jar public ClassLoader getClassLoader() throws Exception { List<String> filePathList = new ArrayList<>(); filePathList.add("E:\\spi_jar\\openstack-driver原创 2021-12-19 10:26:59 · 1192 阅读 · 0 评论 -
Java 枚举一般用法
Java 枚举一般用法@Getterpublic enum TypeEnum { APPLE("apple"), ORANGE("orange"); TypeEnum (String code) { this.code = code; } private String code; public static TypeEnum get(String code) { Optional<TypeEnum> fir原创 2021-09-16 10:52:21 · 100 阅读 · 0 评论 -
JAVA synchronized
加在方法上与synchronized(this)相同,不同线程调用时不会等待同步synchronized(XXX.class) 该代码块下的代码在不同的调用对象下也会同步原创 2021-09-10 16:26:22 · 74 阅读 · 0 评论 -
java计算两个数相加,解决溢出问题
输入: 包含两个非负数 a和 b,以空格分隔;a和 b保证小于 2^32.输出: 你的输出是对一行数据处理的结果,也即 a+b 的结果。输入样例:233 666 输出样例:899import java.util.Stack;public class mitest { public static String myTest(String line) { ...原创 2019-02-05 11:44:34 · 3022 阅读 · 1 评论 -
java抽象类和接口
在面向对象中,所有对象都是通过类来描述的,但并不是所有类都是用来描述对象的,如果一个类中没有包含足够的信息来描述一个具体的对象,这个类就是抽象类 接口所有东西都是抽象的,所有方法都是抽象方法,没有任何实现。abstract class Fruit { double weight; double volume; abstract String getTaste();}...原创 2019-02-27 21:12:08 · 89 阅读 · 0 评论 -
关于树的知识点
一颗AVL树是其每个节点的左子树和右子树的高度最多相差1的二叉查找树 懒惰删除:当一个元素要被删除时,它仍留在树中,而只时被标记为删除 红黑树遍历时间复杂度O(log n)...原创 2019-03-03 15:47:25 · 542 阅读 · 0 评论 -
找出单独出现的数字
描述给出N个数字。其中仅有一个数字出现过一次,其他数字均出现过两次,找出这个出现且只出现过一次的数字。要求时间和空间复杂度最小。输入输入多个数字,每个数字以空格分开。数字数量 N < 20,输入数字的最大值小于 256.输出输出内容为只出现过唯一一次的数字输入样例10 10 11 12 12 11 16输出样例16代码:...原创 2019-03-05 09:49:28 · 257 阅读 · 0 评论 -
JAVA大数相减
描述两个长度超出常规整形变量上限的大数相减,请避免使用各语言内置大数处理库,如 Java.math.BigInteger 等。输入有 N 行测试数据,每一行有两个代表整数的字符串 a 和 b,长度超过百位。规定 a>=b,a, b > 0。 测试结果可以用 linux 小工具 bc进行测试是否正确。输出返回表示结果整数的字符串。输入样例1...原创 2019-03-05 11:12:55 · 459 阅读 · 0 评论 -
java初始化顺序
Java程序初始化的执行顺序:父类静态变量—>父类静态代码块—>子类静态变量—>子类静态代码块—>父类非静态变量—>父类非静态代码块—>父类构造方法—>子类非静态变量—>子类非静态代码块—>子类构造方法...原创 2019-03-11 08:26:04 · 90 阅读 · 0 评论 -
代码设计学习
代码设计学习单一职责原则含义:一个函数就干一件事。好处:耦合度低,当代码变更时,不会影响其他功能,改动后就不需要复测试其他功能了。开闭原则含义:添加一个新功能时,应该在已有的代码上扩展代码,而非修改原有代码。例如基于接口扩展出新功能...原创 2021-07-28 08:54:24 · 78 阅读 · 0 评论