自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

LarsCheng's Blog

每天一个知识点,每天进步一点点~ 个人博客:https://www.larscheng.com/

  • 博客(42)
  • 收藏
  • 关注

原创 Java时间处理5---Java8中时区相关类库介绍

前言在Java8以前,我们对于时区的处理通常是为时间转换类设置指定TimeZone,然后进行时区时间转换。而在Java8中不仅对时间日期进行了细粒度处理,有无时区,时区处理也进行了更加细粒度的优化。在之前我们介绍的新类库中基本都是无时区概念的。本文将引入时区概念。概念介绍时区相关类库前,先来认识下Java中常见的几种时间格式1.世界标准时间(UTC时间),其中T表示时分秒的开始,结尾的Z表示这是一个世界标准时间2020-07-06T11:24:37.081Z2.本地时间(不含时区信息的

2020-10-19 09:56:27 1006

原创 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 1131

原创 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 3220

转载 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 1005

原创 Java时间处理1----Date和Calendar方法探究(Java8以前)

前言时间的处理在Java中会经常用到,Java中常用的时间处理类有如下两种:Date: 日期类用来表示瞬时时间,精确到毫秒,他表示的是某一刹那的时间。Date不存在时区概念。由于Date类不易于实现国际化,所以逐渐不被推荐使用,并且废弃了大部分方法。Calendar: 日历类,可以理解为计算机历一方面是为了弥补Date的国际化缺陷,另一方面是将时间以日历的形式来表示和处理Calendar包含时区和语言的概念Calendar将时间细分成了年月日时分秒毫秒上午下午夏时令等概念,并提供这

2020-09-28 15:46:37 491

原创 Java中“附近的人”实现方案讨论及代码实现

前言在我们平时使用的许多app中有附近的人这一功能,像微信、qq附近的人,哈罗、街兔附近的车辆。这些功能就在我们日常生活中出现。像类似于附近的人这一类业务,在Java中是如何实现的呢?本文就简单介绍下目前的几种解决方案,并提供简单的示例代码注: 本文仅涉及附近的人这一业务场景的解决方案讨论,并未涉及到相关的技术细节和方案优化,各位看官可以放心阅读。基本套路和方案目前业内的解决...

2019-12-18 20:20:22 1945 1

原创 FastJson中JSONString与各个对象的的转换关系及API示例

前言JSON作为一种轻量级的数据交换格式,在我们日常的开发中使用十分广泛,就Java后端的开发工作中,JSON字符串与Java对象之间相互转换是常常遇到的操作。虽然平时用到的挺多的,但是因为用于JSON处理的包有很多种,每种工具集的功能和使用方式也都不同,很容易在使用时造成混乱。本文就结合FastJson部分源码,简单整理了下常用的API及其使用示例本文FastJson版本:1....

2019-11-22 14:42:39 3631 2

原创 2019.11软考软件设计师归来心得体会及复习备考指南

前言本文文字量比较大,废话比较多????。如果感到不适,建议直接阅读各段标题即可干货和建议都在标题栏,????文末有我整理的2019软件设计师考点思维脑图,以及备考资料大全分享上周六(11.09)参加了软考软件设计师的考试,考试分上午场和下午场。总的来说题型比较常规,但是作为战五渣的我还是很担心能否过线????。(个人感觉这次是下午简单上午难)不过不管结果如何,经过这段时间的备考,已经把自己大学...

2019-11-13 16:24:46 2666 14

原创 你还没用过“约定式提交”吗?那你赶紧来补补知识吧

前言本文为介绍约定式提交,主要从以下几点展开:现状分析约定式提交优点规范commitizenstandard-version本文对应的github项目地址:https://github.com/larscheng/Conventional-Commits-Demo现状分析目前我们的项目在commit时基本上五花八门,各领风骚。虽然不如网上的那些恶搞commit记录...

2019-11-12 09:19:40 1863

原创 萌新入门Github请看这里,学不会远程教

一些废话本文的主旨是为初次接触Github的同学提供一个入门的教程,如果你已经是Github老鸟,可以忽略本文哦,另外本文只是抛砖引玉,其实最好的教程是官方文档!!!Github官网Github使用指南-Web页面Github官方中文版文档-ALLGithub目前虽然十分火热,但是对于第一次接触这一类产品的同学来说,上手还是有一定难度的本文就聊一聊如何使用Githu...

2019-10-14 19:36:06 782

原创 OpenWrite一款博客可一文多发的实用工具

前言许多网友想看一文多发的OpenWrite,今天,它来了!别问落地价,因为内测无价!> 这款实用工具,可支持十大博客平台一键发布,是博主们的发文神器>> 你看它多种平台、一键管理、后台界面优雅、还有签到计划>>> 怎么样,还不来体验一下(编不下去了

2019-08-30 09:04:23 1277 2

原创 Nacos(九):Nacos集群部署和遇到的问题

前言前面的系列文章已经介绍了Nacos的如何接入SpringCloud,以及Nacos的基本使用方式之前的文章中都是基于单机模式部署进行讲解的,本文对Nacos的集群部署方式进行说明环境准备JDK8Centos7.5(ip:10.1.8.27)MySQL 5.6.5 Nacos-server:1.0.1请提前下载Nacos-server:1.0.1压缩包并解压至相应目录...

2019-08-29 09:11:00 16927 12

原创 Nacos(八):Nacos持久化

前言前景回顾:Nacos(七):Nacos共享配置Nacos(六):多环境下如何“管理”及“隔离”配置和服务Nacos(五):多环境下如何“读取”Nacos中相应环境的配置Nacos(四):SpringCloud项目中接入Nacos作为配置中心前面的七篇文章,从Nacos介绍,到Nacos做注册中心、做配置中心,一直都没有提及持久化的问题。我们服务的信息、配置的信息都放在哪的?...

2019-08-12 18:59:58 9364 5

原创 Nacos(七):Nacos共享配置

前言前景回顾:Nacos(六):多环境下如何“管理”及“隔离”配置和服务Nacos(五):多环境下如何“读取”Nacos中相应环境的配置Nacos(四):SpringCloud项目中接入Nacos作为配置中心前几章已经基本介绍了springcloud项目结合Nacos的大部分用法,本文介绍一下Nacos作为配置中心时,如何读取共享配置我的环境Windows10JDK8Sp...

2019-08-09 18:06:13 19865 2

原创 Nacos(六):多环境下如何“管理”及“隔离”配置和服务

前言前景回顾:Nacos(五):多环境下如何“读取”Nacos中相应环境的配置Nacos(四):SpringCloud项目中接入Nacos作为配置中心现如今,在微服务体系中,一个系统往往被拆分为多个服务,每个服务都有自己的配置文件,然后每个系统往往还会准备开发环境、测试环境、正式环境我们来说算一算,假设某系统有10个微服务,那么至少有10个配置文件吧,三个环境(dev\test\pr...

2019-08-07 08:57:07 9658 7

原创 Nacos(五):多环境下如何“读取”Nacos中相应的配置

前言前景回顾:Nacos(四):SpringCloud项目中接入Nacos作为配置中心Nacos(三):Nacos与OpenFeign的对接使用Nacos(二):SpringCloud项目中接入Nacos作为注册中心通过前面几篇介绍,已经基本了解了Nacos做为注册中心和配置中心的基本用法。在实际开发中,通常一个系统会准备开发环境、测试环境、预发环境、正式环境那么如何保证指定环境...

2019-07-25 09:05:39 8852 10

原创 Nacos(四):SpringCloud项目中接入Nacos作为配置中心

前言通过前两篇文章:Nacos(二):Nacos与OpenFeign的对接使用Nacos(三):SpringCloud项目中接入Nacos作为注册中心相信大家已经对Nacos作为注册中心的基本使用已经有了一定的了解。然而,Nacos远远不止于此,本文我们来看一下Nacos作为配置中心在SpringCloud中的使用我的环境Windows10JDK8SpringCloud:F...

2019-07-23 18:37:10 7683 8

原创 Nacos(三):Nacos与OpenFeign的对接使用

前言上篇文章中,简单介绍了如何在SpringCloud项目中接入Nacos作为注册中心,其中服务消费者是通过RestTemplate+Ribbon的方式来进行服务调用的。实际上在日常项目中服务间调用大都用的是OpenFeign, OpenFeign自身整合了Ribbon和Hystrix,为服务调用提供了更优雅的方式那么接入了Nacos之后,服务调用还能用这一套吗?通过我在公司项目上的试...

2019-07-10 17:11:38 34762 6

原创 Nacos(二):SpringCloud项目中接入Nacos作为注册中心

前言通过上一篇文章:Nacos介绍 简单了解了Nacos的发展历程和现状,本文我们开始Nacos试水的第一步: 使用Nacos做注册中心上周末(7.6)Nacos发布了V1.1.0版本,这次更新支持灰度配置、地址服务器模式、配置文件导入导出等其他功能。感觉社区的老哥们都很高产呐…本文主要通过两个项目来完成演示:nacos-provide:服务提供者nacos-consumer:服务...

2019-07-09 17:18:01 171469 32

原创 Nacos(一):Nacos介绍

前言6月份阿里开源的Nacos发布了1.0.1版本,从去年7月份第一个release版本到现在一直在默默关注官方的版本规划为:Nacos从0.8.0开始支持生产可用,1.0版本可大规模生产可用,2.0版本接入k8s、SpringCloud、ServiceMesh、ServerLess公司目前的项目都是Springcloud,由于eureka2.X的断更、以及Nacos面世,所以自然而然最近就...

2019-07-08 19:28:50 25901

原创 Java中equals()和HashCode()的关系

前言上一篇文章简单分析了equals()与==的关系,本文我们再来看看equals()与hashcode()的关系。hashcode的使用还是有很多坑的,一起看看吧~本文主要有以下几点来分析:hashCode使用中产生的问题equals/hashcode的渊源产生问题的原因正确的使用姿势hashCode使用中产生的问题注:HashSet是一个无序、不可重复的集合,我们做一个小测...

2019-06-21 13:27:06 17403 9

原创 Java 中==与equals()的分析

前言== 和 equals是经久不衰的面试题,记得刚毕业的时候我也被问到过很多次,从最开始的一脸懵逼到最后的从容回答,本文我们就来分析下这两者之间的区别和联系。为避免阅读疲劳,我这里先放上结论:联系:两者都被用来进行比较操作当equals()未被重写时,两者的用途和比较的内容相同,即都是比较对象的引用地址是否相同区别:==既可以比较基本数据类型,亦可用在对象之间。equals(...

2019-06-18 21:15:11 1894 4

原创 Java中的自动拆装箱、装箱缓存

前言Java 是一种面向对象的编程语言,Java 中的类把方法与数据类型连接在一起,构成了自包含式的处理单元。但在 Java 中不能定义基本类型对象,为了能将基本类型视为对象处理,并能连接相关方法,Java 为每个基本数据类型都提供了包装类,如 int 型数值的包装类 Integer,boolean 型数值的包装类 Boolean 等。这样便可以把这些基本类型转换为对象来处理了。在Java中包...

2019-06-17 10:43:17 688

原创 Java中的编译、反编译和反编译工具全家桶分享

前言本文介绍到的反编译工具下载地址:反编译工具全家桶编程语言编程语言分为低级语言和高级语言graph LR编程语言-->低级语言编程语言-->高级语言低级语言-->机器语言低级语言-->汇编语言高级语言-->C/C++/Java/Python....最早的程序员都是用机器语言在写代码,那时候应该不叫代码,叫写十六进制串,这样的编程十分复杂不方便...

2019-05-31 18:10:56 886 1

原创 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 10258

转载 finalize的生命周期(执行过程)

说明本文转载自 Smina俊 的博客:《java finalize方法总结、GC执行finalize的过程》博文中关于对象复活的示例和生命周期的过程极为精辟,分享给大家。本文的目的并不是鼓励使用finalize方法,而是大致理清其作用、问题以及GC执行finalize的过程。finalize的作用finalize()是Object的protected方法,子类可以覆盖该方法以实现资源清...

2019-05-27 09:26:44 734 1

原创 Java中的关键字final、finally与finalize方法

Java中有很多关键字,这些关键字中的final、finally和finalize()方法长相十分相似,其实他们仨并没什么特殊的联系,只是单纯的像,本文就简单介绍下他们仨各自的用途。finalfinal关键字可用于非抽象类、非抽象类的成员方法(构造方法除外)、非抽象类中的变量、参数用于类:表示该类不可被继承,类中的方法默认都是被final修饰的方法(例如String类)用于方法:表示该方...

2019-05-23 11:57:50 1439

原创 Java中面向对象的三大特征:继承、封装、多态

面向对象的三大特征继承、封装、多态封装是对象和类概念的主要特征封装:即把客观事物封装成抽象的类,并且类可以对自己的数据和方法进行权限控制,封装就是指利用抽象数据类型将数据和基于数据的操作封装在一起,数据被保护在抽象类型的内部,系统的其他部分只有通过包裹在数据外面的被授权的操作,才能够与这个抽象数据类型交流与交互!封装的优点将变化隔离便于使用提高安全性提高重用性总结封装隐...

2019-05-22 09:10:31 232

原创 Java中重写、重载通俗的理解

重写子类继承父类,拥有父类的方法和属性后,子类在保证继承的方法在方法名和参数列不变的情况下,对方法的内部实现进行重新定义,这种现象就是方法重写重写比较侧重于父子差异示例父亲(Father类)名下有一套三层楼房,后来由儿子(Son类)继承,继承之后碰巧拆迁,三层楼房在儿子这里变成了拆迁款,这套房子(house方法)的价值转换就属于重写class Father{ public void ...

2019-05-21 15:39:19 889

原创 Docker环境下安装Gitlab

前言在Docker中我们同样可以部署自己专属的代码仓库GitLab,下面简单介绍一下安装流程。安装前提内存大于 2G 的linux虚拟机或者云服务器皆可(我用的虚拟机)已安装Docker服务,若未安装可参考博客: Centos7下两种方式安装Docker-CE说明:我的虚拟机ip:10.200.0.230,安装过程中涉及到的ip配置可替换成你的ip地址安装步骤拉取GitLab镜像...

2019-04-30 11:38:26 1099

原创 DockerFile介绍

前言DockerFile文件通常用来构建自定义镜像,举个不恰当的栗子:比如果现在有一个纯净版的windows10镜像,使用这个镜像我安装了一个纯净版的win10到我的电脑,接着我安装了杀毒软件、IDEA、JDK、mysql、Redis、MongoDb、qq、微信等一些基础应用,后来我的系统损坏了(无法修复),需要重装系统,于是我又用纯净版的win10镜像重新装一次系统,然后又重新安装一...

2019-04-30 11:37:09 210

原创 Docker中私有仓库的搭建流程

前言docker中的仓库就像是我们平时用的git一样,git用来存放管理项目代码,而docker仓库则是专门用来存放管理docker镜像,既然git有公有、私有仓库之分,docker仓库同样不例外,本文介绍如何在docker中安装你专属的私有仓库。环境说明Centos7-64位虚拟机环境Docker-CE-18.03.1-ce虚拟机ip地址:10.200.0.204私有仓库搭建拉...

2019-04-25 17:15:51 321

原创 Docker中常用命令介绍

前言对于初学docker的同学,docker命令可能只使用过一部分,今天我们仔细看看docker中一些常用的命令的用法和功能。说明docker命令直接执行`docker`命令,你可以看到docker所支持的所有命令列表Commands: attach Attach local standard input, output, and error streams to a r...

2019-04-25 17:12:16 3707 1

原创 Centos7下两种方式安装Docker-CE

前言Docker 提供了两个版本:社区版 (CE) 和企业版 (EE)。Docker 社区版 (CE) 是开发人员和小型团队开始使用 Docker 并尝试使用基于容器的应用的理想之选。本文介绍下Docker 社区版 (CE) 在CentOS 7系统中的里两种安装方式安装前提64 位版本的 CentOS 7CentOS 系统的内核版本高于 3.10(uname -r命令可查看系统内核版...

2019-04-22 20:27:43 7004 3

原创 SpringBoot项目中实现返回结果和枚举类的国际化

前言什么是国际化呢?国际惯例,来时来一段官方介绍:国际化(internationalization)是设计和制造容易适应不同区域要求的产品的一种方式。它要求从产品中抽离所有地域语言,国家/地区和文化相关的元素。换言之,应用程序的功能和代码设计考虑在不同地区运行的需要,其代码简化了不同本地版本的生产。开发这样的程序的过程,就称为国际化。在我们实际开发中,一个web应用可能要在多个地区使用,面...

2019-04-17 19:26:14 9110 3

原创 Jupyter Notebooks的安装和使用介绍

最近又开始重新学习Python,学习中使用到了一款编辑器Jupyter Notebooks ,非常想安利给初学python的同学。注:本文内容仅针对windows环境下安装和配置Jupyter Notebooks 。1.Jupyter Notebooks 简介国际惯例还是来一段官方的介绍:Jupyter Notebook是一个Web应用程序,允许您创建和共享包含实时代码,方程,可视化和说明...

2018-10-13 13:32:40 152060 28

转载 算法笔试题:1元,5元,10元,20元,50元、100元面值人民币组合给定x元的问题

最近有一道笔试题引起了小伙伴们的激烈讨论。参考博客作为算法菜鸟非常感谢大神的分析和举例。博客地址问题描述目前市面上的纸币主要有1元,5元,10元,20元,50元、100元六种,如果要买一件商品x元,有多少种货币组成方式? 思路一现有6种面额的纸币用来组合成给定的x元金额。那么可以大致推出这个等式sum 表示给定的金额{x1, x2, x3, x4, x5, x6}分别表示1元,...

2018-09-17 20:38:56 28587 2

原创 Quartz学习总结

Quartz学习总结常规需求每天早上的闹钟定时统计数据spring自带支持定时器的任务实现。其可通过简单配置来实现定时任务。@Component@Configurable@EnableSchedulingpublic class ScheduledTasks{ @Scheduled(cron = "0 */1 * * * * ") public ...

2018-08-31 20:58:33 843

原创 SpringBoot2.x集成Redis (StringTemplate与redisTemplate的不同用法)

1.Redis介绍Redis数据库是一个完全开源免费的高性能Key-Value数据库。它支持存储的value类型有五种,包括string(字符串)、list(链表)、set(集合)、zset(sorted set –有序集合)和hash(哈希类型) Redis非常快,每秒可执行大约110000次的设置(SET)操作,每秒大约可执行81000次的读取/获取(GET)操作。2.开发工具...

2018-08-13 11:25:31 9446 3

原创 SpringBoot2.x集成MongoDB

1.开发环境IDEA、Maven、SpringBoot2.0.4、Jdk1.8、MongoDB4.0、MongoDB Compass Community、PostMan 2.MongoDBMongoDB(来自于英文单词“Humongous”,中文含义为“庞大”)是可以应用于各种规模的企业、各个行业以及各类应用程序的开源数据库。基于分布式文件存储的数据库。由C++语言编写。旨在为W...

2018-08-09 21:46:45 20091 19

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除