Java查漏补缺-高级篇-Java中的常用类:日期时间处理相关API

Java DateTimeException:Unable to obtain LocalTime from TemporalAccessor:{},ISO resolved to xx of问题解决 人生低谷不可怕,可怕的是坚持不到人生转折点的那一天。解决办法:先把'2022-12-12'字符串转换为LocalDate,然后再把LocalDate转换为LocalDateTime。1、不能直接把'2022-12-12'字符串转换为LocalDateTime。旭东怪的个人空间-旭东怪个人主页-哔哩哔哩视频。 阅读详情

JDK 8之前

在这里插入图片描述

java.lang.System静态方法

System类提供的public static long currentTimeMillis(),用于返回当前时间与1970年1月1日0时0分0秒的时间差,以毫秒为单位。

计算世界时间的主要标准有:

  • UTC: Coordinated Universal Time
  • GMT: Greenwich Mean Time
  • CST: Central Standard Time
java.util.Date类

表示特定的瞬间,精确到毫秒

  • 构造器
    • Date() 获取本地当前时间的Date对象
    • Date(long date) 创建指定毫秒数的Date对象
  • 常用方法
    • long getTime() 返回自1970年1月1日0时0分0秒 GMT 以来此Date对象表示的毫秒数,即时间戳
    • String toString() 把此对象转换为以下形式的String:dow(一周中的某一天) mon dd hh:mm:ss zzz(时间标准) yyyy

注意:很多方法已被废弃,因为不易于国际化

//构造器一:Date():创建一个对应当前时间的Date对象
Date date1 = new Date();
System.out.println(date1.toString()); // Mon Jul 05 12:34:45 CST 2021

System.out.println(date1.getTime()); //1625459685618

//构造器二:创建指定毫秒数的Date对象
Date date2 = new Date(1625459685618L);
System.out.println(date2.toString());
java.util.Calendar类

Calendar是一个抽象基类,主要用于完成日期字段之间相互操作的功能。

获取Calendar实例的方法:

  • 调用Calendar.getInstance()
  • 调用子类GregorianCalendar构造器
    在这里插入图片描述

一个Calendar的实例是系统时间的抽象表示,通过get(int field)方法来取得想要的时间信息,e.g.YEAR/MONTH/DAY_OF_WEEK/HOUR_OF_DAY/MINUTE/SECOND

  • void set(int field, int value)
  • void add(int field, int amount)
  • final Date getTime()
  • final void setTime(Date date)

注意:

  • 获取月份时,范围是0-11
  • 获取星期时,以西方为准,即1是周日,7是周六
//1.实例化
//方式一:创建其子类(GregorianCalendar)的对象
//方式二:调用其静态方法getInstance()
Calendar calendar = Calendar.getInstance();
//        System.out.println(calendar.getClass());

//2.常用方法
//get()
int days = calendar.get(Calendar.DAY_OF_MONTH);
System.out.println(days);
System.out.println(calendar.get(Calendar.DAY_OF_YEAR));

//set()
//calendar可变性
calendar.set(Calendar.DAY_OF_MONTH,22);
days = calendar.get(Calendar.DAY_OF_MONTH);
System.out.println(days); // 22

//add()
calendar.add(Calendar.DAY_OF_MONTH,-3);  // 往前数3天
days = calendar.get(Calendar.DAY_OF_MONTH);
System.out.println(days);  // 19

//getTime():日历类---> Date
Date date = calendar.getTime();
System.out.println(date);

//setTime():Date ---> 日历类
Date date1 = new Date();
calendar.setTime(date1);
days = calendar.get(Calendar.DAY_OF_MONTH);
System.out.println(days);
java.text.SimpleDateFormat类

该类是一个不与语言环境有关的方式来格式化和解析日期的具体类。

它允许进行:

  • 格式化:Date => String

    • SimpleDateFormat() 默认的模式和语言环境创建对象
    • SimpleDateFormat(String pattern) 以pattern指定的格式创建对象
    • 通过SimpleDateFormat的实例调用方法String format(Date date)格式化时间对象date
    //实例化SimpleDateFormat:使用默认的构造器
    SimpleDateFormat sdf = new SimpleDateFormat();
    
    //格式化:日期 --->字符串
    Date date = new Date();
    System.out.println(date);
    
    String format = sdf.format(date);
    System.out.println(format);
    //按照指定的方式格式化:调用带参的构造器
    SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
    //格式化
    String format1 = sdf1.format(date);
    System.out.println(format1);//2021-07-05 10:33:45
    
  • 解析:String => Date

    • Date parse(String source) 将给定字符串进行解析,生成一个日期对象
    //解析:格式化的逆过程,字符串 ---> 日期
    String str = "21-07-05 上午11:43";
    Date date1 = sdf.parse(str);
    System.out.println(date1);
    //解析:要求字符串必须是符合SimpleDateFormat识别的格式(通过构造器参数体现),
    //否则,抛异常
    Date date2 = sdf1.parse("2021-07-05 10:33:45");
    System.out.println(date2);
    
    识别格式

在这里插入图片描述

JDK 8中新的API

JDK 8之前的API面临的问题:

  • 可变性:时间和日期这种类应该是不可变的
  • 偏移性:Date中的年份是从1900开始,而月份都从0开始
  • 格式化:只对Date有用,对Calendar无效
  • 非线程安全
  • 不能处理闰年

在JDK 8中吸收Joda-Time的精华,引入java.time系列API纠正了过去的缺陷,包括:

  • java.time 包含值对象的基础包
  • java.time.chrono 提供对不同的日历系统的访问
  • java.time.format 格式化和解析时间、日期
  • java.time.temporal 包括底层框架和扩展特性
  • java.time.zone 包含时区支持的类

常用的包就是基础包和format包。

常用的类包括:

  • 本地日期LocalDate
  • 本地时间LocalTime
  • 本地日期时间LocalDateTime
  • 时区ZonedDateTime
  • 持续时间Duration

此外,Date类中新增了toInstant()方法,用于把Date转换成新的表示形式。

LocalDate、LocalTime、LocalDateTime

这三个类的实例是不可变的对象,分别表示使用ISO-8601日历系统的日期、时间、日期时间,不包含当前的时间信息,也不包含与时区相关的信息。

ISO-8601日历系统是ISO指定的线代公民的日期和时间的表示法,即公历。

  • LocalDate代表ISO格式(yyyy-MM-dd)的日期,可以存储生日、纪念日等日期
  • LocalTime表示一个时间
  • LocalDateTime表示日期+时间,最常用
常用方法

在这里插入图片描述

/*
    LocalDate、LocalTime、LocalDateTime 的使用
    说明:
        1.LocalDateTime相较于LocalDate、LocalTime,使用频率要高
        2.类似于Calendar
 */
@Test
public void test1(){
    //now():获取当前的日期、时间、日期+时间
    LocalDate localDate = LocalDate.now();
    LocalTime localTime = LocalTime.now();
    LocalDateTime localDateTime = LocalDateTime.now();

    System.out.println(localDate);
    System.out.println(localTime);
    System.out.println(localDateTime);

    //of():设置指定的年、月、日、时、分、秒。没有偏移量
    LocalDateTime localDateTime1 = LocalDateTime.of(2021, 7, 6, 13, 23, 43);
    System.out.println(localDateTime1);


    //getXxx():获取相关的属性
    System.out.println(localDateTime.getDayOfMonth());
    System.out.println(localDateTime.getDayOfWeek());
    System.out.println(localDateTime.getMonth());
    System.out.println(localDateTime.getMonthValue());
    System.out.println(localDateTime.getMinute());

    //体现不可变性,改变属性不改变原有对象,会生成新对象
    //withXxx():设置相关的属性
    LocalDate localDate1 = localDate.withDayOfMonth(22);
    System.out.println(localDate);
    System.out.println(localDate1);


    LocalDateTime localDateTime2 = localDateTime.withHour(4);
    System.out.println(localDateTime);
    System.out.println(localDateTime2);

    //不可变性
    LocalDateTime localDateTime3 = localDateTime.plusMonths(3);
    System.out.println(localDateTime);
    System.out.println(localDateTime3);

    LocalDateTime localDateTime4 = localDateTime.minusDays(6);
    System.out.println(localDateTime);
    System.out.println(localDateTime4);
}
Instant

时间线上的一个瞬时点,可能被用来记录应用程序中的事件时间戳。

java.time包通过值类型Instant提供机器视图,不提供处理人类意义上的时间单位,表示时间线上的一个点,不需要任何上下文信息,精度可以达到纳秒级别。

时间戳是指格林威治时间1970年01月01号0时0分0秒(北京时间1970年01月01号8时0分0秒)起到当前时间的总秒数。(或以毫秒为单位)

1 ns = 10^-9 s

常用方法

在这里插入图片描述

/*
    Instant的使用
    类似于 java.util.Date类
 */
@Test
public void test2(){
    //now():获取本初子午线对应的标准时间
    Instant instant = Instant.now();
    System.out.println("instant = " + instant); // 2021-07-06T06:23:32.658Z

    //添加时间的偏移量
    OffsetDateTime offsetDateTime = instant.atOffset(ZoneOffset.ofHours(8));
    System.out.println("offsetDateTime = " + offsetDateTime); // 2021-07-06T14:26:39.995+08:00

    //toEpochMilli():获取自1970年1月1日0时0分0秒(UTC)开始的毫秒数  ---> Date类的getTime()
    long milli = instant.toEpochMilli();
    System.out.println("milli = " + milli); // 1625552799995

    //ofEpochMilli():通过给定的毫秒数,获取Instant实例  -->Date(long millis)
    Instant instant1 = Instant.ofEpochMilli(1625552799995L);
    System.out.println("instant1 = " + instant1);  // 2021-07-06T06:26:39.995Z
}
DateTimeFormatter

java.time.format.DateTimeFormatter类提供了3种格式化方法,用于格式化与解析日期或时间:

  • 预定义的标准格式:ISO_LOCAL_DATE_TIME 、ISO_LOCAL_DATE、ISO_LOCAL_TIME
  • 本地化相关的格式:ofLocalizedDateTime(FormatStyle.LONG)
    • FormatStyle.FULL / FormatStyle.LONG / FormatStyle.MEDIUM / FormatStyle.SHORT 适用于LocalDate
    • FormatStyle.LONG / FormatStyle.MEDIUM / FormatStyle.SHORT 适用于LocalDateTime
  • 自定义的格式(使用最多):ofPattern("yyyy-MM-dd HH:mm:ss")
常用方法

在这里插入图片描述

/*
    DateTimeFormatter:格式化或解析日期、时间
    类似于SimpleDateFormat
     */

@Test
public void test3(){
    // 方式一:预定义的标准格式。如:ISO_LOCAL_DATE_TIME;ISO_LOCAL_DATE;ISO_LOCAL_TIME
    DateTimeFormatter formatter = DateTimeFormatter.ISO_LOCAL_DATE_TIME;
    // 格式化:日期-->字符串
    LocalDateTime localDateTime = LocalDateTime.now();
    String str1 = formatter.format(localDateTime);
    System.out.println("localDateTime = " + localDateTime);  // 2021-07-06T14:37:18.147
    System.out.println("str1 = " + str1); // 2021-07-06T14:37:18.147

    // 解析:字符串 -->日期
    TemporalAccessor parse = formatter.parse("2021-07-06T14:36:22.294");
    System.out.println("parse = " + parse);  // {},ISO resolved to 2021-07-06T14:36:22.294

    // 方式二:
    // 本地化相关的格式。如:ofLocalizedDateTime()
    // FormatStyle.LONG / FormatStyle.MEDIUM / FormatStyle.SHORT :适用于LocalDateTime
    DateTimeFormatter formatter1 = DateTimeFormatter.ofLocalizedDateTime(FormatStyle.LONG);
    // 格式化
    String str2 = formatter1.format(localDateTime);
    // LONG:2021年7月6日 下午02时37分18秒
    // MEDIUM:2021-7-6 14:57:05
    // SHORT:21-7-6 下午2:57
    System.out.println("str2 = " + str2);

    // 本地化相关的格式。如:ofLocalizedDate()
    // FormatStyle.FULL / FormatStyle.LONG / FormatStyle.MEDIUM / FormatStyle.SHORT : 适用于LocalDate
    DateTimeFormatter formatter2 = DateTimeFormatter.ofLocalizedDate(FormatStyle.SHORT);
    // 格式化
    String str3 = formatter2.format(LocalDate.now());
    // FULL:2021年7月6日 星期二
    // LONG:2021年7月6日
    // MEDIUM:2021-7-6
    // SHORT:21-7-6
    System.out.println("str3 = " + str3);

    //  重点: 方式三:自定义的格式。如:ofPattern(“yyyy-MM-dd hh:mm:ss”)
    DateTimeFormatter formatter3 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
    // 格式化
    String str4 = formatter3.format(LocalDateTime.now());
    System.out.println("str4 = " + str4); // 2021-07-06 14:37:18

    // 解析
    TemporalAccessor accessor = formatter3.parse("2021-07-06 14:36:22");
    System.out.println("accessor = " + accessor);  // {},ISO resolved to 2021-07-06T14:36:22
}
其他类
  • ZoneId 包含了所有的时区信息,一个时区的ID,格式为{区域}/{城市},e.g.Asia/Shanghai

    • ZoneId.getAvailableZoneIds() 获取所有的时区ID
    • ZoneId.of("xx/xxx") 获取指定时区的时间
  • ZonedDateTime 一个在ISON-8601日历系统时区的日期时间,e.g.2021-07-06T15:04:30+08:00 Asia/Shanghai

    • ZonedDateTime.now() 获取本时区的ZonedDateTime对象
    • ZonedDateTime.now(ZoneId.of("xx/xxx")) 获取指定时区的ZonedDateTime对象
  • Clock 使用时区提供对当前即时、日期和时间访问的时钟

  • Duration 持续时间,用于计算两个时间的间隔

    • static Duration between(LocalTime1/LocalDateTime1, LocalTime2/LocalDateTime2) 返回一个Duration对象,表示两个时间的间隔,可以通过getSeconds()/getNano()/toDays()来获取时间间隔
  • Period 日期间隔,用于计算两个日期的间隔,以年月日衡量

    • static Period between(LocalDate1, LocalDate2),返回一个Period对象,通过getYears()/getMonths()/getDays()来获取日期间隔
  • TemporalAdjuster 时间校正器

    // e.g. 获取当前日期的下一个周日是哪一天
    TemporalAdjuster ta = TemporalAdjusters.next(DayOfWeek.SUNDAY);
    LocalDateTime ldt = LocalDateTime.now().with(ta);
    // e.g. 获取下一个工作日是哪一天
    LocalDate ld = LocalDate.now().with(new TemporalAdjuster() {
       @Override
        public Temporal adjustInto(Temporal t) {
            LocalDate date = (LocalDate) t;
            if (date.getDayOfWeek().equals(DayOfWeek.FRIDAY)) {
                return date.plusDays(3);
            } else if (date.getDayOfWeek().equals(DayOfWeek.SATURDAY)) {
                return date.plusDays(2);
            } else {
                return date.plusDays(1);
            }
        }
    });
    
  • TemporalAdjusters 该类通过静态方法(firstDayOfXXX()/lastDayOfXXX()/nextXXX())提供了大量的常用TemporalAdjuster的实现

新旧API的转换

在这里插入图片描述

参考资料:全网最全Java零基础入门教程(含百道Java真题)

Java官方中文教程2022版:从基础到实战的权威学习指南 Java作为一门广泛应用于企业级开发、后端服务和Android应用的核心编程语言,其官方教程是构建扎实技术根基的关键资源。官方教程系统性地阐述了Java语言的核心概念,包括面向对象编程、集合框架、并发模型和JVM基础原理,这些知识构成了现代Java开发的底层支撑。从技术价值看,掌握官方教程内容不仅能帮助开发者编写高效、健壮的代码,还能深入理解Java生态中各种框架和工具的设计思想。在实际应用场景中,无论是零基础入门、知识体系升级,还是应对技术面试,官方教程都提供了权威的参考路径。特别是对于中文开发者,202 阅读详情

相关推荐

Java零基础自学路线图:15张思维导图带你从入门到进阶

Java作为一门面向对象的编程语言,其核心在于通过类与对象的概念来模拟现实世界,实现代码的封装、继承和多态,从而构建出结构清晰、易于维护的复杂软件系统。掌握Java不仅能够进行桌面应用开发,更是进入企业级Web开发、大数据处理和Android移动开发等广阔领域的基石。对于初学者而言,系统性地学习Java语法、集合框架、多线程和网络编程等核心知识,是构建扎实技术功底的关键。本文围绕一份专为零基础学习者设计的《Java完全自学手册》,通过15张结构化的思维导图,清晰拆解了从环境搭建、核心语法、面向对象思想到高级

weixin_34357436的博客 317

java LocalDateTime

【代码】java LocalDateTime。

weixin_43735255的博客 1339

Java新手避坑指南:从环境搭建到项目实战的完整学习路线

Java作为一门广泛应用于企业级开发的编程语言,其核心价值在于跨平台特性和强大的生态系统。理解Java虚拟机(JVM)的工作原理是掌握Java编程的基础,它负责字节码的执行和内存管理。在工程实践中,环境配置是初学者面临的首要挑战,特别是JAVA_HOME和Path变量的正确设置。通过系统化的学习路径,从基础语法到集合框架、多线程等核心API,再到Spring Boot等主流框架的应用,能够帮助开发者构建完整的知识体系。本文基于Java环境配置和集合框架等热词,为初学者规划了一条从零基础到项目实战的清晰路线,

weixin_30781107的博客 537

【LocalDateTime常见用法】

简单记录下LocalDateTime常见用法

qq_41027259的博客 9041

从原理到实战:ARS548 4D毫米波雷达数据处理与多模态融合全解析

本文深入解析了4D毫米波雷达ARS548的工作原理与数据处理全流程。从FMCW测距测速、MIMO虚拟天线阵列到点云生成的三步FFT处理,提供了详尽的Python代码实现。文章进一步探讨了与激光雷达、相机的多模态时空对齐与融合策略,并指导如何构建用于自动驾驶感知训练的多模态标注数据集,为相关算法工程师提供了从理论到实践的完整指南。

weixin_29161719的博客 368

魔兽RPG老地图逆向工程:解密三国列传3.0武将招募限制(附JASS实战)

本文详细解析了《三国列传3.0》魔兽RPG地图的武将招募限制机制,通过逆向工程和JASS脚本修改技术,突破SLK加密防线并解密游戏逻辑。文章提供了从工具准备到代码修改的完整实战指南,帮助玩家解除武将数量限制,重温经典游戏的乐趣。

i1j2k的博客 369

java now_Java LocalDateTime now()用法及代码示例

在LocalDateTime类中,根据传递给它的参数,存在三种类型的now()方法。now()LocalDateTime类的now()方法用于从默认时区中的系统时钟获取当前日期时间。此方法将基于具有默认时区的系统时钟返回LocalDateTime以获取当前日期时间。用法:public static LocalDateTime now()参数:此方法不接受任何参数。返回值:此方法使用系统时钟返回当前...

weixin_33416697的博客 9634

体验灵雀云-创建基于Docker的云服务

今天体验了一下灵雀云,创建了第一个基于Docker的云服务。 1.登录灵雀云 2.开始使用 登录之后,从"控制台"进入操作界面,开始创建服务。 首先需要选择一个镜像。灵雀云已经为您提供了一些常用的镜像列表。请在“常用镜像”列表中,选择“其它”,然后找到“alauda/hello-world”镜像,点击它右侧的“选择”按钮,进入服务参数配置页面。 选择完要创建的

tomcat的专栏 3234

Java时间操作

为什么不使用Date 不进行格式化,打印的时间可读性差 SimpleDateFormat线程不安全 操作时间不方便 新时间日期API常用、重要对象介绍 ZoneId: 时区ID,用来确定Instant和LocalDateTime互相转换的规则 Instant: 用来表示时间线上的一个点(瞬时) LocalDate: 表示没有时区的日期, LocalDate是不可变并且线程安全的 LocalTime: 表示没有时区的时间, LocalTime是不可变并且线程安全的 LocalDateTime: 表示没有时

善意的小菜鸟的博客 3127

Word2vec核心模型精讲:CBOW与Skip-gram

Word2vec是Google提出的词向量模型,通过CBOW和Skip-gram两种神经网络架构将词汇映射到低维向量空间。CBOW通过上下文预测中心词,训练速度快但高频词表现更好;Skip-gram则相反,通过中心词预测上下文,适合处理生僻词。为解决softmax计算效率问题,Word2vec引入基于哈夫曼树的Hierarchical Softmax优化技术,将复杂度从O(V)降至O(logV)。文章详细解析了两种模型的原理差异,并演示了哈夫曼树的构造过程及其在词向量训练中的关键作用,这种结合词频的优

Trisyp的博客 530

使用 Python 爬取 YouTube 视频评论(弹幕)

✅ 如何使用 Python 调用 YouTube Data API v3。✅ 如何爬取指定视频的所有评论信息。✅ 如何对评论数据进行初步分析与可视化。✅ 如何扩展功能,实现评论回复获取和多视频批量爬取。

2201_76125261的博客 645

Java查漏补缺(11)字符串[String]、可变字符串[StringBuffer、StringBuilder]、日期时间API、日期时间API、日期时间API、日期时间API

因为字符串对象设计为不可变,那么所以字符串有常量池来保存很多常量对象。JDK6中,字符串常量池在方法区。JDK7开始,就移到堆空间,直到目前JDK17版本。

一个写湿的程序猿 312

瑞芯微RV1126部署YOLOv8全流程:环境搭建、pt-onnx-rknn模型转换、C++推理代码、错误解决、优化、交叉编译第三方库

瑞芯微RV1126部署YOLOv8全流程:环境搭建、pt-onnx-rknn模型转换、C++推理代码、错误解决、优化、交叉编译第三方库

C/C++、嵌入式开发、深度学习算法、模型部署与推理优化 3106

Java查漏补缺-从入门到精通汇总

Java查漏补缺(01)计算机的硬件与软件、软件相关介绍、计算机编程语言、Java语言概述、Java开发环境搭建、Java开发工具、注释、API文档、JVMJava查漏补缺(02)关键字、标识符、变量、基本数据类型介绍、基本数据类型变量间运算规则、计算机底层如何存储数据、运算符、字符集Java查漏补缺(03)顺序结构、分支语句、循环语句、关键字break和continue的使用、Scanner键盘输入功能的实现、如何获取一个指定范围的随机数Java查漏补缺(04)IDEA安装设置、JDK相关设置、详细设置、

一个写湿的程序猿 582

Android UI 组件系列(二):Button 进阶用法

在这篇博客中,我们深入探讨了 Button 的进阶用法,重点介绍了如何通过 事件处理 来响应用户的操作,如何使用 自定义样式 来提升按钮的外观,并利用 StateListDrawable 来管理按钮在不同状态下的表现。这些技巧能够帮助你打造更具交互性、视觉吸引力和动态响应的按钮,提升用户体验。

weixin_39339407的博客 1625

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

霸榜Github,阿里技术官手打的Java面试核心笔记,查漏补缺冲刺上岸

由于篇幅限制,无法全部展示出来,文中资料已整理打包存放网盘,有需要完整版PDF的朋友可以点击下方的名片自取!

m0_71777195的博客 97

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

常用类库-

本文梳理了Java开发中最常用的五大类库,涵盖字符串处理、集合框架、IO流、日期时间和工具类,每个模块都提供了核心类对比、实战代码和应用场景。这些类库是Java开发的基础,熟练掌握它们的用法能大幅提高开发效率,减少重复编码。建议开发者在实际开发中,根据业务场景选择合适的类库和实现类(如查询优先选ArrayList,增删优先选LinkedList;单线程字符串拼接选StringBuilder等),同时规避常见陷阱(如IO流未关闭、循环字符串拼接等)。若有疑问或补充,欢迎在评论区留言讨论~

2401_89241892的博客 660

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

高级JAVA开发必备技能:java8 新日期时间API((三)JSR-310:格式化和解析)(JAVA 小虚竹(1)

这份《“java高分面试指南”-25分类227页1000+题50w+字解析》同样可分享给有需要的朋友,感兴趣的伙伴们可挑战一下自我,在不看答案解析的情况,测试测试自己的解题水平,这样也能达到事半功倍的效果!(好东西要大家一起看才香)本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录需要这份系统化的资料的朋友,可以点击这里获取oralAccessorUtil{@link TemporalAccessor} 工具类封装]( )其他。

2301_82241883的博客 1029

java 1 2_重学Java - 进阶(1/2)

引言【因内容较多,将拆分为两篇博文,此为篇一】本篇博文为 Java 的一些高级特性的常见概念及相关细节梳理,意在重学 Java 查漏补缺。博文随时会进行更新,补充新的内容并修正错漏,该系列博文旨在帮助自己巩固扎实 Java 基础。毕竟万丈高楼,基础为重,借此督促自己时常温习回顾。一、多线程1.1、概念1.1.2、程序、进程、线程程序(Program):为完成特定任务,使用某种编程语言编写的一组指令...

weixin_36210904的博客 338

重学Java - 进阶(1/2)

引言 【因内容较多,将拆分为两篇博文,此为篇一】 本篇博文为 Java 的一些高级特性的常见概念及相关细节梳理,意在重学 Java 查漏补缺。 博文随时会进行更新,补充新的内容并修正错漏,该系列博文旨在帮助自己巩固扎实 Java 基础。 毕竟万丈高楼,基础为重,借此督促自己时常温习回顾。 一、多线程 1.1、概念 1.1.2、程序、进程、线程 程序(Program): 为完成特定任务,使用某种编程语言编写的一组指令的集合。即指一段静态的代码,静态对象 进程(Process): 指程序的一次执行过程,或是正在

weixin_52358523的博客 132

Java 全面知识点总结|从入门到进阶,一篇覆盖基础核心知识点

本文系统介绍了Java编程语言的核心知识点,从基础语法到高级特性,涵盖以下主要内容:1. Java基础:环境配置、数据类型、运算符、流程控制;2. 面向对象:类与对象、封装/继承/多态、抽象类与接口;3. 核心API:String、集合框架、IO流、日期时间;4. 高级特性:异常处理、多线程、反射机制;5. 面试重点:面向对象三大特性、集合底层实现、线程安全等。文章采用"理论+代码示例"的方式,特别标注了面试高频考点,适合不同基础的开发者学习参考。建议读者按顺序学习,并通过实际项目巩固知

m0_75223236的博客 1494

新手小白半年入门JAVA(Al回答)

**目标:** 梳理知识体系,明确下一步方向,学会如何在实际工作中应用所学。* **安排:*** **全面复习:** 回顾整个学习路线,绘制知识脑图,串联起Java基础 -> Web后端 (Servlet/Spring Boot) -> 数据库 (JDBC/MyBatis) -> 前端基础 (HTML/CSS/JS) -> AJAX/JSON -> 分层架构 -> 测试/日志 这条主线。**核心是理解一个HTTP请求从浏览器发出,到后端处理、操作数据库,再返回数据/页面给浏览器的完整流程。**

2503_91297473的博客 922

告别手敲样板代码:用快马AI高效生成Java面试核心考点模块

总的来说,面对Java面试中大量的“样板代码”,主动利用工具将它们模块化、模板化,是解放生产力、聚焦核心能力的有效方法。更重要的是,我把节省下来的时间,都用在了对比不同排序算法的优劣、分析缓存方案的选择、理解事务隔离级别等更深层次的问题上,面试准备的“质”和“量”都得到了提升。目标很明确:把那些高频、重复的代码模块提前准备好,做成一个结构清晰、即拿即用的项目,这样复习时就能直接聚焦在核心逻辑和原理理解上,效率肯定能提升不少。它的AI对话区能很好地理解我的自然语言描述,给出可运行的代码块。

SapphireOwl29的博客 199

从能用变好用:7大核心原则打造卓越API设计与开发者体验

应用程序编程接口(API)是现代软件架构中实现服务间通信与集成的关键技术。其设计质量直接决定了系统的可维护性、开发效率与协作成本。优秀的API遵循约定优于配置、向后兼容等核心原则,通过统一的命名、分页、错误处理规范,降低开发者认知负荷。在工程实践中,API设计需兼顾安全认证、输入验证与速率限制,并借助OpenAPI规范实现文档自动化,从而提升开发者体验(DX)。本文聚焦如何将API从功能可用的基础层面,提升至高效、可靠且易于集成的生产级标准,涵盖从设计哲学到可观测性建设的全流程实践。

weixin_33782386的博客 491
上一篇: Java查漏补缺-高级篇-Java中的常用类:StringBuffer和StringBuilder
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值