sofia

2020年02月08日注册2024年10月27日最后登录

没有个人说明

  • 发表了 552 篇文章

什么是OpenJDK? 我们为什么要使用它?

 sofia
 2022年06月1日
 5752
 0
 0 

OpenJDK是Java的开发工具包,Java有着26年的历史。从任何标准来看,它都不是一种新的语言,尤其是在行业中,每隔几年就会出现新的解决方案,而且通常比以前的解决方案更好。而最流行的Java实例OpenJDK已经有14年的历史了。无论如何,OpenJDK应该已经被替换了很多次了。但它仍然是世界上最流行的开发工具之一!这怎么会发生? 在本文中,我们将尝试回答这个问题,深入研究OpenJDK的不

什么是OpenJDK? 我们为什么要使用它?

你真的了解java.util.Date吗?

 sofia
 2022年05月30日
 404
 0
 0 

很少有类能像java.util.Date那样在堆栈溢出方面引起如此多的类似问题,有四个原因: 日期和时间工作基本上相当复杂,而且充满了拐弯抹角的情况。这是可以管理的,但你确实需要花一些时间来理解它。 java.util.Date类在很多方面都很糟糕(详情如下)。 一般来说,开发人员对它的理解很差。 它被库作者严重滥用,进一步加剧了混乱。 了解java.util.Date最重要的事情为: 如果可能的

你真的了解java.util.Date吗?

Clojure vs Java:少数据结构、多函数胜过多个单独类的优点

 sofia
 2022年05月25日
 263
 0
 0 

在Clojure中,我们一次又一次地使用相同的数据结构,并在其上运行许多函数。另一方面,Java程序员为每一组数据创建一个唯一的类,并使用自己的“API”(getter、setter、return type等)来访问和操作数据。由于被迫在两个这样的“类API”之间进行翻译,我想与大家分享我的经验,从而在实践中证明格言中的真理 请注意,本文谈论的是数据和数据承载类,而不是“业务逻辑”,它将由Java

Clojure vs Java:少数据结构、多函数胜过多个单独类的优点

Java正则表达式API系列三

 sofia
 2022年05月23日
 329
 0
 0 

Boundary Matchers Java regex API还支持边界匹配。如果我们关心在输入文本中匹配的确切位置,那么这就是我们要寻找的。在前面的示例中,我们关心的只是是否找到匹配项。 为了仅在文本开头所需的正则表达式为true时匹配,我们使用插入符号^。 此测试将失败,因为可以在开头找到文本dog: @Test public void givenText_whenMatchesAtBegi

Java正则表达式API系列三

Java 18 Switch语句更强大了

 sofia
 2022年05月18日
 471
 0
 0 

自Java13以来,Switch表达式被添加到Java核心库中。如果您使用的是Java版本13或更高版本,那么您肯定可以将旧Switch转换为新Switch。 本文将讨论它如何在不破坏现有更改的情况下提供某些功能。当然,其他语言用户可能会评论“多年前,它就已经存在于我们的编程语言中了”。但让我们微笑一下,继续用Java编程,好吗?注意,我将在帖子中交替使用“switch expression”和“

Java 18 Switch语句更强大了

Spring Boot Rest常用注解简介

 sofia
 2022年05月16日
 542
 0
 0 

让我们了解一下Spring Boot Rest框架注释。它是如此简单和快速。在本文中,我将尝试解释Spring Boot Rest API的不同注释。这些注释是Spring Boot中REST API所必需的。 开始Spring Boot Rest的先决条件 最需要了解的是Spring容器或IOC。除此之外,还必须具备Java注释的基本知识。因为Spring Boot应用程序充满了注释。最后但并非

Spring Boot Rest常用注解简介

JDK 19:针对Java 19的功能

 sofia
 2022年05月13日
 756
 0
 0 

虚拟线程、switch表达式的模式匹配、vector API和Linux/RISC-V端口将用于Java 19,这是标准Java的非LTS版本,将于9月发布。 定于今年9月发布的Java Development Kit 19现在正式提出了五项功能。最近新增的三个功能,一个外部函数和内存API、虚拟线程和模式匹配(所有预览),将之前提到的两个功能、一个vector API(第四个孵化器中)和一个JD

JDK 19:针对Java 19的功能

Java正则表达式API系列二

 sofia
 2022年05月11日
 183
 0
 0 

Predefined字符类 Java正则表达式API也接受预定义的字符类。上面的一些字符类可以用更短的形式表示,尽管这会降低代码的直观性。这个正则表达式的Java版本的一个特殊方面是转义字符。 正如我们将看到的,大多数字符都以反斜杠开头,这在Java中有特殊的意义。对于要由模式类编译的这些,必须转义前导反斜杠,即.\d变为\\d。 匹配的数字,相当于[0-9]: @Test public void

Java正则表达式API系列二

Java9中新增的Collector

 sofia
 2022年05月9日
 317
 0
 0 

Java 8中添加了收集器Collectors,这有助于将输入元素累积到诸如Map、List和Set等可变容器中。 在本文中,我们将探讨Java 9中添加的两个新收集器:Collectors.filtering 和 Collectors.flatMapping。flatMapping与收集器结合使用。通过提供智能元素集合进行分组。 Filtering Collector Collectors.fi

Java9中新增的Collector

Java线程优先级

 sofia
 2022年05月7日
 382
 0
 0 

线程被称为“最小的处理单元”,是一个轻量级的子进程,分配了一些需要执行的工作。线程共享分配给它们的相同内存插槽,并且彼此独立,因此促进了多任务处理。但是,当多个线程在共享内存插槽上运行时,必然会发生资源竞争。为了避免这种竞争,从而实现高吞吐量,引入了线程优先级的概念。当多个任务在同一个系统上运行时,它具有重要意义。“线程调度器根据优先级分配执行线程”。 JVM(JAVA虚拟机)默认或由程序员明确地

Java线程优先级

Java正则表达式API系列一

 sofia
 2022年05月5日
 396
 0
 0 

在本文中,我们将讨论java正则表达式API,以及如何在Java编程语言中使用正则表达式。 在正则表达式的世界中,有许多不同的风格可供选择,比如grep、Perl、Python、PHP、awk等等。 这意味着在一种编程语言中工作的正则表达式可能在另一种编程语言中不工作。Java中的正则表达式语法与Perl中的最相似。 要在Java中使用正则表达式,我们不需要任何特殊设置。JDK包含一个特殊的jav

Java正则表达式API系列一

如何在项目中使用Spring Security

 sofia
 2022年04月29日
 826
 0
 0 

将Spring Security添加到现有应用程序中可能是一个令人望而生畏的前景。仅仅向项目中添加所需的依赖项就会引发一系列事件,这些事件可能会破坏应用程序和测试。 也许你会突然看到一个登录提示,要求在启动时输入生成的密码。 也许你的测试现在得到了可怕的401未经授权,或随后的403被禁止。 在尝试使用身份验证时,可能会遇到ClassCastException#getPrincipal()。 不管

如何在项目中使用Spring Security

Java中的按值调用和按引用调用

 sofia
 2022年04月27日
 456
 0
 0 

为什么按值调用和按引用调用? 方法或函数可以通过两种方式调用。一种是按值调用,另一种是按引用调用,这两种方式通常根据作为输入或参数传递给它们的值的类型来区分。 在我们开始之前,让我澄清一件事,在Java中,只有按值调用(值传递),没有按引用调用。 按值调用 按值调用是一种方法,通过复制给定变量(或常量或任何保存数据的对象)的实际值,将参数传递给函数 这意味着当我们调用一个传递参数值的方法时,这个参

Java中的按值调用和按引用调用

使用Spring Boot和JPA创建GraphQL API

 sofia
 2022年04月25日
 380
 0
 0 

GraphQL既是API查询语言,也是使用当前数据执行这些查询的运行时。GraphQL让客户能够准确地要求他们所需要的东西,仅此而已,使API随着时间的推移更容易发展,并通过提供API中数据的清晰易懂的描述,支持强大的开发工具。 在本文中,我们将创建一个简单的机场位置应用程序。 生成项目 去https://start.spring.io/并生成一个项目,不要忘记添加Spring Web、H2数据库

使用Spring Boot和JPA创建GraphQL API

Java8接口–默认方法和静态方法

 sofia
 2022年03月29日
 198
 0
 0 

在Java8之前,java中的接口只能有抽象方法。默认情况下,接口的所有方法都是公共和抽象的。Java8允许接口具有默认和静态方法。我们在接口中使用默认方法的原因是,允许开发人员向接口添加新方法,而不会影响实现这些接口的类。 为什么选择默认方法? 例如,如果A、B、C和D等几个类实现了一个接口XYZInterface,那么如果我们向XYZInterface添加一个新方法,我们必须更改实现该接口的所

Java8接口–默认方法和静态方法

用Java代码实现区块链技术

 sofia
 2022年03月16日
 381
 0
 0 

比特币很热门——这是多么轻描淡写的说法啊。虽然加密货币的未来有些不确定,但用于驱动比特币的区块链技术也非常流行。 区块链的应用范围几乎无穷无尽。可以说,它还有可能破坏企业自动化。关于区块链是如何运作的,有很多信息。我们有一份免费白皮书,介绍区块链技术(无需注册)。 本文将重点关注区块链体系结构,特别是演示“不可变、仅附加”分布式账本如何与简化的代码示例一起工作。 作为开发人员,与简单地阅读技术文章

用Java代码实现区块链技术

Java 8中的Collectors API详解

 sofia
 2022年03月14日
 881
 0
 0 

在本文中,我们将介绍Java8的收集器Collectors,它们用于处理流的最后一步。 如果我们想了解如何利用收集器Collectors的能力进行并行处理,我们可以看看这个项目:https://github.com/pivovarit/parallel-collectors Stream.collect() 方法 Stream.collect()是Java 8的流API的终端方法之一。它允许我们对

Java 8中的Collectors API详解

每个程序员都需要知道的IntelliJ IDEA插件

 sofia
 2022年03月9日
 766
 0
 0 

Grep控制台IntelliJ插件 在成千上万行的日志中找到了什么,又累又沮丧?是的,我也是。但我找到了一种结束这种痛苦的方法。介绍Grep Console,帮助您在您搜索的日志. 使用IntelliJ Idea中的Grep控制台插件,您可以轻松地搜索和过滤类似于命令的内容。此外,它还基于下图所示的正则表达式对。 更多关于IntelliJ IDEA插件:Grep控制台(https://plugin

每个程序员都需要知道的IntelliJ IDEA插件

Java 17的一些新特性

 sofia
 2022年03月7日
 500
 2
 0 

Java17将是一个长期支持的LTS版本。 您一定知道Java采用了6个月的发布周期。也就是说,它将每6个月发布一个新版本的Java。每隔3年,LTS版本就会发布一次。目前,Java 11是LTS版本,于2018年9月发布。但在Java17发布后,它将是最新的LTS支持。 许多组织依赖LTS版本,所以他们使用的是Java11。但在Java17发布后,他们将使用Java17(可能)。 自从将Java

Java 17的一些新特性

Java别名是如何工作的

 sofia
 2022年03月4日
 345
 0
 0 

在Java中,当引用(不止一个)链接到同一个对象时,使用Alias(别名)。别名的问题是,当用户写入特定对象时,其他几个引用的所有者不希望该对象发生更改。在这里,包含别名的代码可能会很快变得有点混乱,而且调试起来也非常繁琐。总的来说,别名是一个应该避免或谨慎使用的过程。让我们看看Java Alias是如何工作的。 alias在Java中是如何工作的? 如前所述,当多个引用链接到同一对象时,会使用别

Java别名是如何工作的

登录

忘记密码 ?

切换登录

注册