java 基础
文章平均质量分 56
java 基础 主要包含java jdk 等内容
风随心飞飞
因为懒所以要动脑去发明了软件,因为有了软件所以人更懒,只有动脑的程序员才不会被淘汰,社会就是这么现实,这么残酷!!!
展开
-
查询数据转换为树结构
将查询列表循环遍历,有子级的挂上子级,没有子级的单独成顶级。原创 2023-10-09 14:23:03 · 233 阅读 · 0 评论 -
java 实现 AES 加解密
【代码】java 实现 AES 加解密。原创 2023-07-31 10:47:41 · 515 阅读 · 0 评论 -
java是值传递还是引用传递
java是值传递;值传递是指在调用方法时将实际参数拷贝一份传递到方法中,这样在方法中如果对参数进行修改,将不会影响到实际参数;当传的是基本类型时,传的是值的拷贝,对拷贝变量的修改不影响原变量;当传的是引用类型时,传的是引用地址的拷贝,但是拷贝的地址和真实地址指向的都是同一个真实数据,因此可以修改原变量中的值。原创 2023-06-14 09:26:13 · 5298 阅读 · 5 评论 -
java8 LocaDate 和 Date 互转
java8 LocaDate 和 Date 互转原创 2023-03-14 15:27:24 · 240 阅读 · 0 评论 -
Lombok 常用注解
Lombok 常用注解原创 2023-03-09 16:06:15 · 1605 阅读 · 0 评论 -
Lombok使用@Builder无法build父类属性
Lombok使用@Builder无法build父类属性原创 2023-03-09 15:53:10 · 2750 阅读 · 0 评论 -
正则表达式——2.前瞻断言与后瞻断言(java正则表达式校验密码必须是包含大小写字母、数字、特殊符号的8位以上组合))
正则表达式——2.前瞻断言与后瞻断言(java正则表达式校验密码必须是包含大小写字母、数字、特殊符号的8位以上组合))原创 2023-02-22 18:15:23 · 1654 阅读 · 0 评论 -
java 正则表达式 —— 1.基础语法
java 正则表达式 —— 1.基础语法原创 2023-02-22 18:06:02 · 371 阅读 · 0 评论 -
JAVA8 lambda表达式——Collectors.toMap()方法List转Map
JAVA8 lambda表达式——Collectors.toMap()方法List转Map原创 2023-02-16 17:40:04 · 1476 阅读 · 0 评论 -
一个 httpUtil 通用 工具类(支持http 和https 协议无证书)
httpUtil 通用工具类(支持http 和https 协议无证书)原创 2022-11-04 10:18:12 · 416 阅读 · 0 评论 -
SpringBoot2 + Maven 多环境配置及部署
SpringBoot2 +Maven 多环境配置及部署原创 2022-11-05 10:30:43 · 326 阅读 · 0 评论 -
对象 和 json 互转 四种方式 json-lib、Gson、FastJson、Jackson
对象 和 json 互转 四种方式 json-lib、Gson、FastJson、Jackson原创 2022-11-04 15:30:05 · 14190 阅读 · 1 评论 -
requet.getHeader(“token“) 为null
request.getHeader("token") 为null原创 2022-07-28 14:27:33 · 4910 阅读 · 0 评论 -
Lombok @RequiredArgsConstructor examples
Lombok @RequiredArgsConstructorGenerates a constructor with required arguments. Required arguments are uninitialized final fields and fields with constraints such as @NonNull. Default access modifier is public.Make sure you already installed Lombok set.原创 2022-01-13 18:00:35 · 445 阅读 · 0 评论 -
java8新特性——之集合排序
1.JSONArray(1)根据某个属性升序JSONArray jsonArray = result.getJSONArray("data");// 按照上传时间升序排序jsonArray.sort(Comparator.comparing(obj->((JSONObject)obj).getString("time")));(2) 根据某个属性降序jsonArray.sort(Comparator.comparing(obj->((JSONObject)obj).getStrin原创 2021-12-15 17:30:56 · 827 阅读 · 0 评论 -
jvm 内存模型
一、Java内存管理Java程序运行在虚拟机(JVM)上,JVM相当于Java程序和操作系统之间的桥梁,Java程序通过JVM实现了平台无关性,可以跨平台操作。Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干不同的数据区域,这些区域都有各自的用途以及创建和销毁的时间。Java虚拟机所管理的内存会包括以下几个运行时数据区域,如下图所示:这里主要介绍三种内存区:堆内存、栈内存和方法区二、三种内存区堆内存1.JVM只有一个堆区,被所有线程共享,在虚拟机启动时创建,是虚拟机所管理的内原创 2021-08-12 10:25:43 · 78 阅读 · 0 评论 -
SPRINGBOOT 告警未知的枚举常量 JAVAX.ANNOTATION.META.WHEN.MAYBE
在搭建springboot的开发环境时,出现问题:Warning:java: 未知的枚举常量 javax.annotation.meta.When.MAYBE, 找不到javax.annotation.meta.When的类文件原因是找不到默认的 javax.annotation.meta.When的类文件,缺少对应第三方依赖包,在pom.xml 添加对应依赖包即可。具体如下: com.google.code.findbugs annotations 3.0.1...原创 2021-08-06 16:08:59 · 8086 阅读 · 1 评论 -
访问对象的两种方式(句柄和直接指针)
一、简介java 对象访问的方式有两种:句柄访问和直接访问。句柄访问:在堆内存中划分一个区域存放句柄池,java 栈中存储的refrence 指向的就是句柄池的地址,句柄池里存放的是java 对象实例的地址,和java 类型数据的具体信息。直接访问:refrence 里存储的是堆中java 具体实例对象的地址,而堆中java 具体的实例对象自关联到方法区中的类型数据具体信息。二、示意图三、区别与联系句柄访问:优点:垃圾回收时对象时,refrence 引用指针不变,只需改变对象实例数据的指针。原创 2021-08-04 09:46:26 · 1626 阅读 · 3 评论 -
匿名内部类如何访问外部类的成员变量
1.什么是匿名内部类?匿名内部类是没有名字的内部类。2.对局部变量有要求具体如下:(1)内部类里面使用外部类的局部变量时,其实就是内部类的对象在使用它,内部类对象生命周期中都可能调用它, 而内部类试图访问外部方法中的局部变量时,外部方法的局部变量很可能已经不存在了,那么就得延续其生命, 拷贝到内部类中,而拷贝会带来不一致性,从而需要使用final声明保证一致性。说白了,内部类会自动拷贝外部变量 的引用,为了避免:外部方法修改引用,而导致内部类得到的引用值不一致内部类修改引用,而导致外部方法 的参数原创 2021-08-03 15:37:38 · 3790 阅读 · 1 评论 -
java基础——final总结
1. final 修饰类中的变量表示该变量一旦被初始化便不可改变,这里不可改变的意思对基本类型变量来说是其值不可变,而对对象引用类型变量来说其引用不可再变。其初始化可以在两个地方:一是其定义处,也就是说在 final 变量定义时直接给其赋值;二是在构造方法中。这两个地方只能选其一,要么在定义时给值,要么在构造方法中给值,不能同时既在定义时赋值,又在构造方法中赋予另外的值。2. final 修饰类中的方法说明这种方法提供的功能已经满足当前要求,不需要进行扩展,并且也不允许任何从此类继承的类来重写这种方法原创 2021-07-30 10:58:17 · 119 阅读 · 0 评论 -
JVM 之运行时数据区 及 类加载 思维导图
最近在研究java 的jvm 和类加载机制,有一些收货,故简单做下总结,防止遗忘,喜欢的朋友可以关注我一下:1.JVM 运行时数据区2.类加载机制原创 2021-07-20 15:13:18 · 108 阅读 · 0 评论 -
UML 类与类之间关系
1.分类:2.各个关系继承关系:继承关系也称泛化关系(Generalization),用于描述父类与子类之间的关系。父类又称作基类,子类又称作派生类。继承关系中,子类继承父类的所有功能,父类所具有的属性、方法,子类应该都有。子类中除了与父类一致的信息以外,还包括额外的信息。2.实现关系:实现关系(Implementation),主要用来规定接口和实现类的关系。接口(包括抽象类)是方法的集合,在实现关系中,类实现了接口,类中的方法实现了接口声明的所有方法。3.组合关系:组合关系(C原创 2021-07-16 17:04:05 · 2646 阅读 · 0 评论 -
java 设计模式——结构模式——代理模式
最近在研究java 里面的代理模式,有一些自己的感悟,在此跟大家分享一下。一、代理的本质:自己不想做或不放方便做的事情,交给代理来做,这样自己就可以安心做好自己的本质工作了。二、代理的意义:1.代理可以实现代码的松耦合,使各个模块各司其职,方便以后扩展和维护。2.代理还可以,还可以对原有的功能进行扩展和加强,三、代理的分类:代理分为静态代理,动态代理(jdk 动态代理、cglib 动态代理)四、动态代理的应用场景1.统计每个api 的请求耗时。2.统一的日志输出。3.校验被调用的ap原创 2021-07-15 17:02:12 · 99 阅读 · 0 评论 -
BouncyCastle 实现pkcs#7 签名验证
最近一段时间在研究由.net 开发的微软CSP加密系统PKCS#7 格式数字签名,转java ,只实现了解密,加密还没破解,是真难啊…,我暂且先把代码贴出来,以后再研究一下。private final static String SIGN_TYPE_RSA = "RSA"; private final static String SIGN_ALGORITHMS = "SHA1withRSA"; private final static String CHARSETTING = "UTF-8原创 2021-07-08 17:44:16 · 1255 阅读 · 0 评论 -
Aspectj 简单使用Demo
package com.ruoyi.framework.aspectj;import com.ruoyi.common.annotation.DataScope;import com.ruoyi.common.core.domain.BaseEntity;import com.ruoyi.common.utils.StringUtils;import org.aspectj.lang.JoinPoint;import org.aspectj.lang.ProceedingJoinPoint;i原创 2021-07-08 17:24:48 · 309 阅读 · 0 评论 -
java 设计模式之设计原则篇
java 设计模式原则有:开闭原则、 里氏代换原则、依赖倒转原则、接口隔离原则、迪米法特原则、合成复用原则。1. 开闭原则对扩展开放、对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。简言之,是为了使程序的扩展性好,易于维护和升级。2. 里氏代换原则氏代换是指,任何基类可以出现的地方,子类也一定可以出现。可以通俗理解成子类可以扩展父类的功能,但不能改变父类原有的功能。3. 依赖倒转原则高层模块不应该依赖低层模块,两者都应该依赖其抽象;抽象不应该依赖细节,细节应原创 2021-07-08 09:21:13 · 84 阅读 · 0 评论