Java 每半年就会更新一次新特性,再不掌握就要落伍了:Java10 的新特性

Java10 新特性

你好,我是看山。

本文收录在 《从小工到专家的 Java 进阶之旅》 系列专栏中。

从 2017 年开始,Java 版本更新策略从原来的每两年一个新版本,改为每六个月一个新版本,以快速验证新特性,推动 Java 的发展。从 《JVM Ecosystem Report 2021》 中可以看出,目前开发环境中有近半的环境使用 Java8,有近半的人转移到了 Java11,随着 Java17 的发布,相信比例会有所变化。

更多

Mybatis-Plus 版本冲突触发“Could not convert argument value of type [java.lang.String] to required type [java.lang.Class]”的 java.lang.NoClassDefFoundError 异常

Mybatis-Plus 版本冲突触发“Could not convert argument value of type [java.lang.String] to required type [java.lang.Class]”的 java.lang.NoClassDefFoundError 异常

你好,我是看山。

今天项目依赖了一个基础组件之后,启动失败,排查过程走了一些弯路,最终确认是因为依赖组件版本冲突造成了java.lang.NoClassDefFoundError异常。下面是排查过程,希望可以给你提供一些思路。

更多

Java 每半年就会更新一次新特性,再不掌握就要落伍了:Java9 的新特性

Java 每半年就会更新一次新特性,再不掌握就要落伍了:Java9 的新特性

你好,我是看山。

本文收录在 《从小工到专家的 Java 进阶之旅》 系列专栏中。

从 2017 年开始,Java 版本更新策略从原来的每两年一个新版本,改为每六个月一个新版本,以快速验证新特性,推动 Java 的发展。从 《JVM Ecosystem Report 2021》 中可以看出,目前开发环境中有近半的环境使用 Java8,有近半的人转移到了 Java11,随着 Java17 的发布,相信比例会有所变化。

因此,准备出一个系列,配合示例讲解,阐述各个版本的新特性。

更多

微服务架构的陷阱:从单体到分布式单体

微服务架构的陷阱:从单体到分布式单体

你好,我是看山。

前面咱们聊了架构的演进过程,提到单体架构、SOA 架构、微服务架构、无服务架构。整个过程如下图:

架构演进过程:单体架构、早期服务化、SOA 架构、微服务架构

目前无服务架构还未成熟,只能满足一些简单场景。所以大家在设计软件架构时,首选还是微服务架构。然后我们又聊了聊如何把单体架构改造为微服务架构,推荐采用绞杀模式,一步一步的实现系统微服务化。

在这个过程中,我们会碰到微服务架构的一个大坑:分布式错觉,即将分布式当成了微服务的全部(充要条件)。

更多

如何实现单体架构到微服务架构的蜕变?

如何实现单体架构到微服务架构的蜕变?

你好,我是看山。

前文我们聊了介绍了单体架构、SOA 架构、微服务架构、无服务架构。如果原来是单体架构,想要切换到微服务架构,该怎么解决呢?本文来聊聊这个话题,解决“什么时候(WHEN)、怎样做(HOW)”。

更多

除了微服务,我们还有其他选择吗?

除了微服务,我们还有其他选择吗?

你好,我是看山。

前面我们聊了微服务的话题,现在微服务已经是业内通识。但凡系统开发、系统设计,必然采用微服务架构,或者宣称是微服务架构。

但大家有没有想过,微服务架构不是一开始就有的。如果追溯历史,微服务最早在 2005 的云计算博览会,由 Peter Rodgers 博士提出(那时候称为微 Web 服务(Micro-Web-Service))。到了 2014 年,Martin Fowler 与 James Lewis 共同提出微服务(Micron-Service)的概念,算是对概念归纳总结,天下一统。这一年也被称为微服务元年。

看山的小屋

那就要问了,在 2014 年之前呢?大家用啥架构?再往前呢?上次互联网大潮的时候,大家又是用啥?我们今天来聊聊这段历史,可能你会对现在习以为常的架构,产生一些新的看法。在架构上,可以有更多的选择。

更多

Java 每半年就会更新一次新特性,再不掌握就要落伍了:Java8 的新特性

Java8 从 2014 年问世,到现在已是数个年头。这个版本新增了 Stream API、Lambda 表达式、新时间 API 等各种新特性,相比很多新兴语言也不遑多让。今天就来聊聊 Java8 中好玩好使的特性功能

更多

人人都会设计模式:策略模式

人人都会设计模式:策略模式

该图片由daschorschPixabay上发布

你好,我是看山。

本文收录在《一个架构师的职业素养》专栏,日拱一卒,功不唐捐。

更多

Java 进阶:使用 Lambda 表达式实现超强的排序功能

Java 进阶:使用 Lambda 表达式实现超强的排序功能

该图片由Michael KleinsasserPixabay上发布

你好,我是看山。

本文被《Java 进阶》专栏收录,在公众号「看山的小屋」,回复“java”可获取源码。

我们在系统开发过程中,对数据排序是很常见的场景。一般来说,我们可以采用两种方式:

更多

看山聊 Java:从零实现“百度网盘批量重命名”工具

看山聊 Java:从零实现“百度网盘批量重命名”工具

该图片由Roshan BhatiaPixabay上发布

你好,我是看山。

工具的发明能够节省体力,同时也可以减少重复劳动,软件也是工具的一种。今天要说的是,引用 IT 技术,减少大量文件重命名这种重复的劳动。

更多