Java
LarsCheng
没伞的孩子就要努力奔跑
展开
-
Java时间处理5---Java8中时区相关类库介绍
前言在Java8以前,我们对于时区的处理通常是为时间转换类设置指定TimeZone,然后进行时区时间转换。而在Java8中不仅对时间日期进行了细粒度处理,有无时区,时区处理也进行了更加细粒度的优化。在之前我们介绍的新类库中基本都是无时区概念的。本文将引入时区概念。概念介绍时区相关类库前,先来认识下Java中常见的几种时间格式1.世界标准时间(UTC时间),其中T表示时分秒的开始,结尾的Z表示这是一个世界标准时间2020-07-06T11:24:37.081Z2.本地时间(不含时区信息的原创 2020-10-19 09:56:27 · 1027 阅读 · 0 评论 -
Java时间处理4---Java8中LocalDate、LocalTime、LocalDateTime介绍
前言在Java8中,对于日期、时间、时间日期有不同的对象来表示,分别就是LocalDate、LocalTime、LocalDateTime他们都位于java.time包下,并且他们都仅单纯的表示一个不可变的时间对象,无时区等附加信息的出现LocalDate一个不可变的时间对象用来表示一个日期(年月日),仅包含日期,例如2020-06-06它的可表示范围为-999999999-01-01到+999999999-12-31LocalTime一个不可变的时间对象,用来表示一个时间(时分秒),最高精度原创 2020-10-09 09:33:48 · 1207 阅读 · 0 评论 -
Java时间处理3---Java8中Instant、Duration、Period、Clock介绍
前言前面文章对Java中的Date和Calendar类进行了介绍,在Java8以前,Javaer处理时间基本都是使用这两个类。然鹅在使用过程中一个很尴尬的场景就是Date大部分方法废弃,Calendar又有很多不太友好的设计(月份从0开始)终于,Java8中提供了一套全新的时间处理库,源码中的目录为java.time,该包中的类都是不可变且线程安全。看上图感觉新的time包下好像有很多都是新的类,感觉看着很头大啊,不过不用担心新提供的处理类中方法设计具有规律性,并且模块清晰,上手较快。下面对比较原创 2020-10-09 09:32:44 · 3381 阅读 · 0 评论 -
Java时间处理2---时区TimeZone类方法探究
原文:CSDN博主「Gene Xu> 原文链接:https://blog.csdn.net/goodbye_youth/article/details/81807273一、TimeZone 类的定义TimeZone 类位于 java.util 包中,是一个抽象类,主要包含了对于时区的各种操作,可以进行计算时间偏移量或夏令时等操作二、TimeZone 类常用方法getAvailableIDs()获取」Java支持的所有时区 IDSystem.out.println(Arrays.转载 2020-09-28 15:47:49 · 1069 阅读 · 0 评论 -
Java时间处理1----Date和Calendar方法探究(Java8以前)
前言时间的处理在Java中会经常用到,Java中常用的时间处理类有如下两种:Date: 日期类用来表示瞬时时间,精确到毫秒,他表示的是某一刹那的时间。Date不存在时区概念。由于Date类不易于实现国际化,所以逐渐不被推荐使用,并且废弃了大部分方法。Calendar: 日历类,可以理解为计算机历一方面是为了弥补Date的国际化缺陷,另一方面是将时间以日历的形式来表示和处理Calendar包含时区和语言的概念Calendar将时间细分成了年月日时分秒毫秒上午下午夏时令等概念,并提供这原创 2020-09-28 15:46:37 · 516 阅读 · 0 评论 -
FastJson中JSONString与各个对象的的转换关系及API示例
前言JSON作为一种轻量级的数据交换格式,在我们日常的开发中使用十分广泛,就Java后端的开发工作中,JSON字符串与Java对象之间相互转换是常常遇到的操作。虽然平时用到的挺多的,但是因为用于JSON处理的包有很多种,每种工具集的功能和使用方式也都不同,很容易在使用时造成混乱。本文就结合FastJson部分源码,简单整理了下常用的API及其使用示例本文FastJson版本:1....原创 2019-11-22 14:42:39 · 3713 阅读 · 2 评论 -
Java中equals()和HashCode()的关系
前言上一篇文章简单分析了equals()与==的关系,本文我们再来看看equals()与hashcode()的关系。hashcode的使用还是有很多坑的,一起看看吧~本文主要有以下几点来分析:hashCode使用中产生的问题equals/hashcode的渊源产生问题的原因正确的使用姿势hashCode使用中产生的问题注:HashSet是一个无序、不可重复的集合,我们做一个小测...原创 2019-06-21 13:27:06 · 17486 阅读 · 9 评论 -
Java中的自动拆装箱、装箱缓存
前言Java 是一种面向对象的编程语言,Java 中的类把方法与数据类型连接在一起,构成了自包含式的处理单元。但在 Java 中不能定义基本类型对象,为了能将基本类型视为对象处理,并能连接相关方法,Java 为每个基本数据类型都提供了包装类,如 int 型数值的包装类 Integer,boolean 型数值的包装类 Boolean 等。这样便可以把这些基本类型转换为对象来处理了。在Java中包...原创 2019-06-17 10:43:17 · 695 阅读 · 0 评论 -
Java 中==与equals()的分析
前言== 和 equals是经久不衰的面试题,记得刚毕业的时候我也被问到过很多次,从最开始的一脸懵逼到最后的从容回答,本文我们就来分析下这两者之间的区别和联系。为避免阅读疲劳,我这里先放上结论:联系:两者都被用来进行比较操作当equals()未被重写时,两者的用途和比较的内容相同,即都是比较对象的引用地址是否相同区别:==既可以比较基本数据类型,亦可用在对象之间。equals(...原创 2019-06-18 21:15:11 · 1920 阅读 · 4 评论 -
Java中的BigDecimal和8种RoundingMode(舍入模式)分析
前言相信大家对Java中的基本数据类型都已经很熟悉了,每种类型处理不同的数据,但是当有一个特别大的数字需要处理的时候,并且要求准确的精度时,你可能需要用到BigDecimal类。有什么用?先来执行一段代码,看看结果System.out.println(0.2 + 0.1);System.out.println(0.3 - 0.1);System.out.println(0.2 * 0....原创 2019-05-29 15:19:53 · 10433 阅读 · 0 评论 -
Java中的编译、反编译和反编译工具全家桶分享
前言本文介绍到的反编译工具下载地址:反编译工具全家桶编程语言编程语言分为低级语言和高级语言graph LR编程语言-->低级语言编程语言-->高级语言低级语言-->机器语言低级语言-->汇编语言高级语言-->C/C++/Java/Python....最早的程序员都是用机器语言在写代码,那时候应该不叫代码,叫写十六进制串,这样的编程十分复杂不方便...原创 2019-05-31 18:10:56 · 922 阅读 · 1 评论 -
Java中的关键字final、finally与finalize方法
Java中有很多关键字,这些关键字中的final、finally和finalize()方法长相十分相似,其实他们仨并没什么特殊的联系,只是单纯的像,本文就简单介绍下他们仨各自的用途。finalfinal关键字可用于非抽象类、非抽象类的成员方法(构造方法除外)、非抽象类中的变量、参数用于类:表示该类不可被继承,类中的方法默认都是被final修饰的方法(例如String类)用于方法:表示该方...原创 2019-05-23 11:57:50 · 1460 阅读 · 0 评论 -
finalize的生命周期(执行过程)
说明本文转载自 Smina俊 的博客:《java finalize方法总结、GC执行finalize的过程》博文中关于对象复活的示例和生命周期的过程极为精辟,分享给大家。本文的目的并不是鼓励使用finalize方法,而是大致理清其作用、问题以及GC执行finalize的过程。finalize的作用finalize()是Object的protected方法,子类可以覆盖该方法以实现资源清...转载 2019-05-27 09:26:44 · 759 阅读 · 1 评论 -
Java中面向对象的三大特征:继承、封装、多态
面向对象的三大特征继承、封装、多态封装是对象和类概念的主要特征封装:即把客观事物封装成抽象的类,并且类可以对自己的数据和方法进行权限控制,封装就是指利用抽象数据类型将数据和基于数据的操作封装在一起,数据被保护在抽象类型的内部,系统的其他部分只有通过包裹在数据外面的被授权的操作,才能够与这个抽象数据类型交流与交互!封装的优点将变化隔离便于使用提高安全性提高重用性总结封装隐...原创 2019-05-22 09:10:31 · 254 阅读 · 0 评论 -
Java中重写、重载通俗的理解
重写子类继承父类,拥有父类的方法和属性后,子类在保证继承的方法在方法名和参数列不变的情况下,对方法的内部实现进行重新定义,这种现象就是方法重写重写比较侧重于父子差异示例父亲(Father类)名下有一套三层楼房,后来由儿子(Son类)继承,继承之后碰巧拆迁,三层楼房在儿子这里变成了拆迁款,这套房子(house方法)的价值转换就属于重写class Father{ public void ...原创 2019-05-21 15:39:19 · 920 阅读 · 0 评论