JAVA学习线路:day04常用API(Object类、DateFormat类)

Jenkins中文显示不全?三步搞定Locale插件+汉化包的正确安装姿势 本文针对Jenkins界面中文显示不全问题,提供从原理到实战的深度解决方案。文章详细解析了Locale插件与中文语言包的核心机制,并分步指导如何通过配置JVM环境、正确安装插件及执行深度排查,彻底解决汉化顽疾,实现Jenkins界面的完美中文显示。 阅读详情

心得:
我是一名正在自学的java的即将毕业的大学生
总结笔记是为了让自己更好的理解和加深印象。可能不是那么美观,自己可以看懂就好
所有的文档和源代码都开源在GitHub: https://github.com/kun213/DailyCode上了。希望我们可以一起加油,一起学习,一起交流。

day04 【Object类、常用API】

Object类

1、可以说出Object类的特点

java.lang.Object类是Java语言中的根类,每个类都使用 Object 作为超类。所有对象(包括数组)都实现这个类的方法。

如果一个类没有特别指定父类,那么默认则继承自Object类。例如:

public class MyClass /*extends Object*/ {
  	// ...
}
2、能够重写Object类的toString方法

由于toString方法返回的结果是内存地址,而在开发中,内存地址并没有实际的应用价值,经常需要按照对象的属性得到相应的字符串表现形式,因此也需要重写它。

public class Person {  
    private String name;
    private int age;
    
    public String toString() {
        return "Person"+name+":"+age;
    }
    // 省略构造器与Getter Setter
}
3、能够重写Object类的equals方法

实际应用中,比较内存地址是否相同并没有意义,我们可以定义对象自己的比较方式,比较对象中成员变量的值是否相同。需要对方法进行重写。

需求:重写equals()方法,比较两个对象中姓名和年龄是否相同,如果姓名和年龄都相同返回true,否则返回false。

public class Person {
    private String name;
    private int age;
    
    public boolean equals(Object obj){
        //判断两个对象地址弱相同,即为同一个对象
        if(this == obj)
            return true;
        //obj对象为空,无需比较,返回false
        if(obj == null)
            return  false;
        //obj如果是Person类型对象,则强制转换
        if(obj instanceof Person){
            Person person = (Person)obj;
            //比较两个对象的name属性和age属性,如果相等,返回true
            return this.name.equals(person.name) && this.age == person.age;
        }
        return false;}}

DateFormat类

使用将日期格式化为字符串的方法

使用将字符串转换成日期的方法

java.text.DateFormat 是日期/时间格式化子类的抽象类,我们通过这个类可以帮我们完成日期和文本之间的转换,也就是可以在Date对象与String对象之间进行来回转换。

  • 格式化:按照指定的格式,把Date对象转换为String对象。

  • 解析:按照指定的格式,把String对象转换为Date对象。

  • String format(Date date)传递日期对象,返回格式化后的字符串。

  • Date parse(String str)传递字符串,返回日期对象。

 public static void main(String[] args) throws ParseException {
     //格式化:从 Date 到 String
     Date d = new Date();
     SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
     String s = sdf.format(d);
     System.out.println(s);
     System.out.println("--------");

     //从 String 到 Date
     String ss = "2048-08-09 11:11:11";
     //ParseException
     SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
     Date dd = sdf2.parse(ss);
     System.out.println(dd);
    }

Calendar日历类

1、日历对象获取方式

Calendar是抽象类,不能创建对象,需要使用子类对象。java.util.GregorianCalendar类是Calendar的子类,但是创建日历对象需要根据本地的时区,语言环境来创建,比较困难,Calendar类提供了静态方法 getInstance()直接获取子类的对象。

public static Calendar getInstance():使用默认时区和语言环境获得一个日历。

Calendar cal = Calendar.getInstance();
2、 常用方法
  • public int get(int field):返回给定日历字段的值。
  • public void set(int field, int value):将给定的日历字段设置为给定值。
  • public abstract void add(int field, int amount):根据日历的规则,为给定的日历字段添加或减去指定的时间量。
  • public Date getTime():返回一个表示此Calendar时间值(从历元到现在的毫秒偏移量)的Date对象。
3、日历字段

Calendar类中提供很多静态成员,直接类名调用,代表给定的日历字段:

字段值含义
YEAR年
MONTH月(从0开始,可以+1使用)
DAY_OF_MONTH月中的天(几号)
HOUR时(12小时制)
HOUR_OF_DAY时(24小时制)
MINUTE分
SECOND秒
DAY_OF_WEEK周中的天(周几,周日为1,可以-1使用)

代码使用简单演示:

public static void main(String[] args) {
    // 创建Calendar对象
    Calendar cal = Calendar.getInstance();
    // 获取年
    int year = cal.get(Calendar.YEAR);
    //设置年份为2020年
    cal.set(Calendar.YEAR, 2020);
    //将年份修改为2000年
    cal.add(Calendar.YEAR,-20)     
    //将日历对象转换为日期对象
    Date d = cal.getTime();
    System.out.println(d);
}    

冒泡排序

冒泡排序法是采用数组中相邻元素进行比较换位。

冒泡排序图解

代码实现

public static void main(String[] args) {
    public static void main(String[] args) {
        //定义一个数组
        int[] arr = {7, 6, 5, 4, 3};
        System.out.println("排序前:" + arrayToString(arr));
        // 这里减1,是控制每轮比较的次数
        for (int x = 0; x < arr.length - 1; x++) {
            // -1是为了避免索引越界,-x是为了调高比较效率
            for (int i = 0; i < arr.length - 1 - x; i++) {
                if (arr[i] > arr[i + 1]) {
                    int temp = arr[i];
                    arr[i] = arr[i + 1];
                    arr[i + 1] = temp;
                }
            }
        }
        System.out.println("排序后:" + arrayToString(arr));
    }

数组的二分查找法

所谓数组的二分查找法,对于一个有序数组,查找一个元素是否存在于数组中,如果存在就返回出现的索引,如果不存在就返回负数。

二分查找法原理

取数组中间的元素和被查找的元素进行比较,如果被查找元素大于数组中间元素,就舍去数组元素的一半,对另一半继续进行查找。

代码实现

 public static void main(String[] args) {
        int[] arr = {5,13,19,21,37,56,64,75,80,88,92};
        int key = 21;
        int index = binarySearch(arr, key);
        System.out.println(index);

    }
    public static int binarySearch(int[]arr,int key){
        //最小索引
        int min = 0;
        //最大索引
        int max = arr.length - 1;
        //初始化中间索引
        int mid = 0;
        //循环折半,最小索引小于等于最大索引时,才能折半
        while (min <= max){
            //折半,计算中间索引
            mid = (min + max) / 2;
            if(key > arr[mid]){
                //元素大于数组中间索引元素,移动最小索引
                min = mid + 1;
            }else if(key < arr[mid]){
                //元素小于数组中间索引元素,移动最大索引
                max = mid - 1;
            }else{
                //查询到元素,返回索引
                return mid;
            }
        }
        //循环查找结束后,找不到元素,返回-1
        return - 1;
    }

正则表达式

(1) 正则规则-字符类

规则写法规则含义
[abc]a、b 或 c(简单类)
[^abc]任何字符,除了 a、b 或 c(否定)
[a-zA-Z]a 到 z 或 A到 Z,两头的字母包括在内(范围)
[0-9]0到9,两头的数字包括在内(范围)
[a-zA-Z0-9]a 到 z 或 A到 Z或0-9

(2) 正则规则-预定义字符类

规则写法规则含义
.任何字符
\d数字[0-9]
\D非数字 [^0-9]
\w单词字符 [a-zA-Z0-9_]
\W非单词字符[^a-zA-Z0-9_]

(3 )正则规则-数量词

规则写法规则含义
X{?}一次或一次也没有
X{*}零次或多次
X{+}一次或多次
X{n}恰好 n 次
X{n,}至少 n 次
X{n,m}至少 n 次,但是不超过 m 次

1、 正则练习-String类matches方法

方法:boolean matches(String regex)传递正则表达式规则,检测字符串是否匹配正则表达式规则,匹配返回true。

需求:检查手机号,检查邮件地址。

分析:

  • 手机号:只能1开头,第二位可以是345678任意一个,第三位开始全数字,总长11位。
  • 邮件地址:@前面可以是数字,字母,下划线。@后面是字母和.。
public static void main(String[] args){
    //验证手机号码
    String tel = "13800138000";
    String telRegex = "1[345678][0-9]{9}";
    boolean flag = tel.matches(telRegex);
    System.out.println(flag);
    //验证邮件地址
    String email = "s_123456@sina.com.cn.";
    String emailRegex = "[a-zA-Z0-9_]+@([a-z]+\\.[a-z]+)+";
    flag = email.matches(emailRegex);
    System.out.println(flag);
}

2、 正则练习-String类split方法

方法:String[] split(String regex)传递正则表达式规则,以正则规则对字符串进行切割。

public static void main(String[] args){
    String str1 = "ab  a   bbb  abc   aa      c";
    //对空格进行切割
    String[] strArr =str1.split(" +");
    System.out.println(Arrays.toString(strArr));

    String str2 = "192.168.22.123";
    strArr = str2.split("\\.");
    System.out.println(Arrays.toString(strArr));
}

注意:输出数组元素时会看到存在一个多余空格,Arrays.toString()方法源码中追加的空格。


这是我的公众号,希望大家可以关注,让我们一起做最好的自我。
我也会把我自学视频分享在上面,供大家一起学习。

CodeBull

Python 爬虫实战:共享单车数据采集全流程与市场洞察深度剖析 本文介绍了如何利用Python爬虫技术获取和分析共享单车运营数据。文章从项目背景出发,详细阐述了系统架构设计,包括数据抓取、清洗存储、分析和可视化模块。通过Scrapy、BeautifulSoup等工具实现数据采集,使用Pandas进行数据清洗,并借助Matplotlib进行可视化分析。实战部分展示了爬虫代码示例和城市分布、使用频率等分析案例。最终指出数据驱动分析有助于了解行业现状和市场趋势,未来可结合机器学习等方法进行深入洞察。该技术方案为共享单车行业研究提供了有效的数据支持。 阅读详情

相关推荐

HFSS 3D Layout一键导入PCB,高效搞定微带线损耗仿真

在高速PCB设计中,信号完整性与电磁仿真是确保链路质量的关键环节。传统的HFSS手动建模流程繁琐且极易出错,尤其面对微带线、带状线等高频结构时,叠层参数、铜箔粗糙度等细节难以精准还原,导致仿真结果与实测偏差较大。HFSS 3D Layout模块提供了从EDA工具直接导入PCB文件的能力,完整保留走线、过孔、叠层及材料属性,结合精确的介质损耗模型与端口设置,大幅缩短建模时间并提升仿真精度。该技术广泛应用于DDR、SerDes等高速数字链路的设计验证,以及SI/PI工程师对PCB损耗性能的快速评估。本文从导入操

weixin_29191081的博客 254

JAVA学习线路:day01面向对象(继承、抽象类)

day01面向对象【继承、抽象类】 今日学习内容-2020.9.16 继承 方法重写 this/super关键字 抽象类 类与对象 1、什么是类 类是现实事物的抽象,将现实事物描述成对应的类,其行为封装为方法,属性封装为成员变量。 2、什么是对象 对象是从类中得到的具体实例!在定义Person类并没有一个具体的人出现,而创建对象后,就会出现一个具体的人 继承 1、说出继承的概念 当要定义一个类(讲师)时,发现已有类(员工)和要定义的类相似,并且要定义的类属于已有类的一种时,可以将要定义类定义为已有类的子

CodeBull_K的博客 803

STM32CubeMx搭建LWIP程序

  使用STM32CubeMx5.21,在stm32f745平台上搭建ethernet通信程序,PHY选用KSZ8081RNB。(LAN8742/DP83848使用一样) 1、系统时钟设置   RCC设置,勾选外部高速时钟源。   系统时钟配置。写入外部晶振频率、HSE提供PLCCLK、HCLK,其他参数自动生成。 2、ETH设置   勾选设置NVIC。   根据硬件设置对应GPIO引脚。   参数设置默认   根据硬件设置PHY地址,其他参数默认。 3、LWIP设置   勾选使能,通用参数设置

Gandalf94的博客 3237

JAVA学习线路:day06集合[1]

心得: 我是一名正在自学的java的即将毕业的大学生 总结笔记是为了让自己更好的理解和加深印象。可能不是那么美观,自己可以看懂就好 所有的文档和源代码都开源在GitHub: https://github.com/kun213/DailyCode上了。希望我们可以一起加油,一起学习,一起交流。 day06【集合】 今日学习内容-2020.9.23-9.25day06【集合】对象数组Collection集合1、说出集合与数组的区别2、使用Collection集合的常用功能迭代器(Iterator接口)1、使.

CodeBull_K的博客 766

STM32 Proteu直流电机正反转控制系统限位开关-0035

硬件组成:STM32F103C6单片机 +L298N电机控制电路+直流电机+3个按键(正转、反转、停止)+LED指示灯(正转、反转、停止)+限位开关(正限位 反限位) 1.通过3个按键(正转、反转、停止)控制电机的正转、反转、停止。 2.有3个LED指示灯,正转时正转指示灯亮。反转停止对应反转停止指示灯亮。 3.有自动正转反转停止功能,正转时当正限位按键按下时说明正转到最大距离。此时自动停止。反转一样。

zhaxiaobian_er的博客 2002

手把手教你用STM32的ADC读取PT100模块,实现高精度温度采集(附完整代码)

本文详细介绍了如何利用STM32的ADC模块读取PT100温度传感器信号,实现高精度温度采集系统。从硬件选型、ADC配置校准到温度计算算法和软件滤波技术,提供完整的实现方案和优化技巧,帮助工程师快速构建稳定可靠的温度监测系统。

weixin_29185199的博客 343

JAVA学习线路:day13-JDK8新特性

心得: 我是一名正在自学的java的即将毕业的大学生 总结笔记是为了让自己更好的理解和加深印象。可能不是那么美观,自己可以看懂就好 所有的文档和源代码都开源在GitHub: https://github.com/kun213/JavaNotes上了。希望我们可以一起加油,一起学习,一起交流 day13 JDK8新特性【Lambda、函数式接口、Stream流】 今日学习内容-2020.10.13day13 JDK8新特性【Lambda、函数式接口、Stream流】一、Lambda表达式1.1 理解函数式.

CodeBull_K的博客 722

一个固定翼飞机仿真程序带你系统性上手如何实现配平(工具箱+脚本)

老规矩,该博客所用的模型和脚本已上传至百度网盘,名字为“固定翼配平训练例子”,自己自取。

zouxu634866的博客 2566

JAVA学习线路:day14-网络编程

心得: 我是一名正在自学的java的即将毕业的大学生 总结笔记是为了让自己更好的理解和加深印象。可能不是那么美观,自己可以看懂就好 所有的文档和源代码都开源在GitHub: https://github.com/kun213/JavaNotes上了。希望我们可以一起加油,一起学习,一起交流 day14 【网络编程】 今日学习内容-2020.10.16day14 【网络编程】一、网络编程入门1.1 可以说出软件的结构1.2 可以说出UDP和TCP协议特点二、TCP通信协议2.1 可以说出TCP协议下两个常.

CodeBull_K的博客 662

VTK:受约束的 Delaunay 2D用法实战

VTK:受约束的 Delaunay 2D用法实战程序输出程序完整源代码 程序输出 程序完整源代码 #include <vtkActor.h> #include <vtkCellArray.h> #include <vtkDelaunay2D.h> #include <vtkMath.h> #include <vtkMinimalStandardRandomSequence.h> #include <vtkNamedColors.h>

希望我的博客,能帮上你解决学习中工作中所遇到的问题 940

华为OD机试 - 不含101的数(Python/JS/C/C++ 双机位C卷 100分)

本专栏收录于《华为OD机试真题(Python/JS/C/C++)》。刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加入华为OD刷题交流群,每一题都有详细的答题思路、详细的代码注释、3个测试用例、为什么这道题采用XX算法、XX算法的适用场景,发现新题目,随时更新。小明在学习二进制时,发现了一类不含101的数,也就是:现在给定一个正整数区间,请问这个区间内包含了多少个不含101的数?输入的唯一一行包含两个正整数。输出的唯一一行包含一个整数,表示在区间内一共有几个不含101的数。8 1668 → “1000”

学Java,找哪吒 1250

JAVA学习线路:day03面向对象(修饰符、内部类、参数传递)

day03 面向对象【修饰符,内部类,参数传递】 今日学习内容-2020.9.18day03 面向对象【修饰符,内部类,参数传递】final关键字1、final修饰的类的特点2、final修饰的方法的特点3、final修饰的变量的特点static关键字1、static关键字修饰的变量调用方式2、static关键字修饰的方法调用方式3、静态代码块的格式权限修饰符内部类1、内部类的概念2、成员内部类3、匿名内部类4、匿名内部类实现重写抽象方法引用类型传递1、类名作为方法参数和返回值2、抽象类作为形参和返回值3、

CodeBull_K的博客 612

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

JAVA学习线路:day02面向对象(接口与多态)

day02面向对象【接口,多态】 今日学习内容-2020.9.17 文章目录day02面向对象【接口,多态】今日学习内容-2020.9.17接口1、接口的定义格式2、接口的实现3、接口中的成员特点4、接口的多实现5、接口的多继承6、抽象类和接口的区别多态1、说出多态的前提2、引用类型转换向上转型向下转型为什么要转型转型的异常 接口 1、接口的定义格式 public interface 接口名称 { // 抽象方法 // 默认方法 // 静态方法 } 2、接口的实现 类与接口的关系为

CodeBull_K的博客 475

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

JAVA学习线路:day16-枚举_xml

心得: 我是一名正在自学的java的即将毕业的大学生 总结笔记是为了让自己更好的理解和加深印象。可能不是那么美观,自己可以看懂就好 所有的文档和源代码都开源在GitHub: https://github.com/kun213/JavaNotes上了。希望我们可以一起加油,一起学习,一起交流 day16 【枚举、XML】 今日学习内容-2020.10.19day16 【枚举、XML】一、枚举1.1 如何自定义枚举常量二、XML2.1 可以说出XML的作用2.2 知道XML的组成元素三、XML约束3.1 可.

CodeBull_K的博客 426

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

JAVA学习线路:day15-注释_反射

心得: 我是一名正在自学的java的即将毕业的大学生 总结笔记是为了让自己更好的理解和加深印象。可能不是那么美观,自己可以看懂就好 所有的文档和源代码都开源在GitHub: https://github.com/kun213/JavaNotes上了。希望我们可以一起加油,一起学习,一起交流 day15 【注解、反射、lombok】 今日学习内容-2020.10.17day15 【注解、反射、lombok】一、类的加载器1.1 可以说出类加载器的双亲委派二、反射2.1 如何通过反射技术获取Class字节码.

CodeBull_K的博客 408

JAVA学习线路:day09多线程[1]

心得: 我是一名正在自学的java的即将毕业的大学生 总结笔记是为了让自己更好的理解和加深印象。可能不是那么美观,自己可以看懂就好 所有的文档和源代码都开源在GitHub: https://github.com/kun213/DailyCode上了。希望我们可以一起加油,一起学习,一起交流。 day09【多线程】 今日学习内容-2020.10.6day09【多线程】一、多线程和进程的概念1、说出进程的概念2、说出线程的概念进程与线程的区别二、多线程的创建-继承方式1、能够使用继承类的方式创建多线程2、问.

CodeBull_K的博客 377

JAVA学习线路:day08集合[3]

心得: 我是一名正在自学的java的即将毕业的大学生 总结笔记是为了让自己更好的理解和加深印象。可能不是那么美观,自己可以看懂就好 所有的文档和源代码都开源在GitHub: https://github.com/kun213/DailyCode上了。希望我们可以一起加油,一起学习,一起交流。 day08【集合】 今日学习内容-2020.10.5day08【集合】Map集合1、说出Map集合特点2、使用Map集合添加方法保存数据3、使用”键找值”的方式遍历Map集合4、使用”键值对”的方式遍历Map集合5.

CodeBull_K的博客 295

JAVA学习线路:day11-IO流[1]

心得: 我是一名正在自学的java的即将毕业的大学生 总结笔记是为了让自己更好的理解和加深印象。可能不是那么美观,自己可以看懂就好 所有的文档和源代码都开源在GitHub: https://github.com/kun213/DailyCode上了。希望我们可以一起加油,一起学习,一起交流。 day11【IO流】 今日学习内容-2020.10.10day11【IO流】一、File类1、能够说出File对象的创建方式2、能够使用File类常用方法3、能够辨别相对路径和绝对路径4、能够遍历文件夹二、方法递归.

CodeBull_K的博客 255

JAVA学习线路:day05API-异常(API、异常)

day05【API、异常】 今日学习内容-2020.9.22day05【API、异常】Math类常用方法BigInteger类会使用常用方法BigDecimal类会使用除法计算基本类型包装类1、能说出自动装箱与自动拆箱的概念2、可以将基本类型转换为对应的字符串类型(String)3、将字符串转换为对应的基本类型异常1、如何辨别程序中异常和错误2、说出异常的分类3、说出常用的几个运行期异常4、能够使用try...catch关键字处理异常5、能够使用throws关键字处理异常 Math类 常用方法 方法

CodeBull_K的博客 245

JAVA学习线路:day10多线程[2]

心得: 我是一名正在自学的java的即将毕业的大学生 总结笔记是为了让自己更好的理解和加深印象。可能不是那么美观,自己可以看懂就好 所有的文档和源代码都开源在GitHub: https://github.com/kun213/DailyCode上了。希望我们可以一起加油,一起学习,一起交流。 day10【多线程】 今日学习内容-2020.10.9day10【多线程】一、Lock接口1、能够说出Lock接口的特点2、能够使用Lock接口的方法二、线程通信,等待与唤醒1、能够理解等待唤醒案例2、能够说出sl.

CodeBull_K的博客 243

JAVA学习线路:day12-IO流[2]

心得: 我是一名正在自学的java的即将毕业的大学生 总结笔记是为了让自己更好的理解和加深印象。可能不是那么美观,自己可以看懂就好 所有的文档和源代码都开源在GitHub: https://github.com/kun213/JavaNotes上了。希望我们可以一起加油,一起学习,一起交流 day12【IO流】 今日学习内容-2020.10.13day12【IO流】一、常用的编码表1.1 可以说出常用的编码表二、转换流2.1 如何使用OutputStreamWriter写数据到文件2.1.1 构造方法2.

CodeBull_K的博客 240

Spring AI + GPT-5.5 + Ollama 配置教程:Base URL、超时与流式调用

由于不同 Spring AI、Spring Boot 小版本之间仍可能存在差异,创建项目时应检查 Spring Initializr、Spring AI BOM 和官方兼容矩阵,不要直接复制旧教程中的 Starter 名称和版本号。多人项目最好隔离不同客户端,并在脱敏前提下记录最终 URL、状态码、请求耗时、请求 ID 和模型 ID。Spring AI 接入模型 API,至少要同时确认 Starter、Base URL、请求路径、API Key、模型 ID、连接超时、读取超时和流式客户端这 8 项。

2601_95893075的博客 219

V8 机制、手写核心函数与 TypeScript 类型体操

或固定初始化(如数组先定长、对象先给全字段)保持类型与形状稳定;这些都比"换框架"更基础。只能处理纯数据(丢函数、Date、RegExp、循环引用报错)。生产级深拷贝要处理:原始值短路、循环引用、V8(Chrome / Node 的 JS 引擎)不是"解释一行跑一行"那么简单,它用。图:V8 执行流程——解释执行 + 热点优化,优化失败会 Deopt 回退。JS 内存自动管理,但"自动"不等于"不会漏"。是"固定间隔最多执行一次"。手写 Promise 是"懂异步"的试金石。是"停下后才执行最后一次",

qq_38468358的博客 328

【JVM】对象内存布局

HotSpot JVM 中,Java 对象内存布局由对象头(12字节,含Mark Word与压缩Klass Pointer)、实例数据及对齐填充构成,总大小为8字节倍数。对象头支持锁状态动态复用,指针压缩使引用仅4字节,但堆超32GB时失效。实例字段按类型优先级重排序以减少间隙,最小对象大小为16字节。通过JOL工具可精准验证布局,理解锁机制、GC、伪共享等底层行为。

2301_79732484的博客 148

Java EE 进阶:8.MyBatis 操作数据库(入门)(第一弹)

Java EE 进阶:8.MyBatis 操作数据库(入门)(第一弹)

要努力去发光,而不是被照亮~ 114

Spring Boot 数据源与 MyBatis(-Plus) 自定义配置详解

本文详解 Spring Boot 中单数据源环境下 HikariCP 与 MyBatis-Plus 的自定义配置。通过手动声明 SqlSessionFactory,实现下划线转驼峰、日志输出、一级缓存策略等精细化控制。结合 HikariCP 核心参数调优(如最大连接数、连接生命周期),确保高性能与稳定性。适用于仅需访问单一数据库的场景,避免多数据源复杂性,兼顾性能与可维护性。

BADAO_LIUMANG_QIZHI的博客 192
上一篇: JAVA学习线路:day03面向对象(修饰符、内部类、参数传递)
下一篇: JAVA学习线路:day05API-异常(API、异常)
CodeBull码牛
博客等级 码龄6年 14粉丝 18原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值