最新文章

用Java代码实现区块链技术

用Java代码实现区块链技术

相关技术 7个月前 (03-16) 浏览: 148 评论: 0

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

Java 8中的Collectors API详解

Java 8中的Collectors API详解

Java系列 7个月前 (03-14) 浏览: 198 评论: 0

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

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

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

相关技术 7个月前 (03-09) 浏览: 251 评论: 0

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

Java 17的一些新特性

Java 17的一些新特性

Java系列 7个月前 (03-07) 浏览: 178 评论: 2

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

Java别名是如何工作的

Java别名是如何工作的

Java系列 7个月前 (03-04) 浏览: 86 评论: 0

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

JIT优化之循环展开

JIT优化之循环展开

jvm 7个月前 (03-02) 浏览: 206 评论: 0

在本文中,我们将讨论一种自动优化,称为循环展开。JIT编译器使用这种技术使循环(例如Java的for或while循环)执行得更快。 因为我们将在这里深入研究JVM,为了便于演示,您有时会遇到C代码,甚至是一些汇编语言,所以请不要着急! 让我们首先考虑以下一段C代码,它为100万个long分配空间,并用100万个long随机数填充空间: int main(int argv, char** argc)

JVM是如何优化代码的

JVM是如何优化代码的

jvm 7个月前 (02-28) 浏览: 91 评论: 0

本文概述了Hotspot JVM用于提高性能的一些优化技术。首先,我将给出一个小例子,说明我在编写一个简单的基准测试时是如何遇到这些优化的。然后用一个简短的例子解释每个优化,最后给出一些如何分析自己代码的指针。 背景 很久以前,我用Java编写了一个简单的度量库,并使用了类似的实现。我希望他们的表现可以与之媲美,尽管有一点优势。在对这两个库进行基准测试后,我发现Java的速度要快得多。对于这样一件

Java日志框架:log4j vs logback vs log4j2

Java日志框架:log4j vs logback vs log4j2

Java系列 7个月前 (02-25) 浏览: 134 评论: 0

如果你曾经不得不分析生产中的问题,我相信你知道良好的日志记录是多么重要。良好的日志记录需要三件事: 日志消息需要提供所需的信息,以了解应用程序在内部执行的操作。 编写日志消息必须尽可能高效,这样才不会影响应用程序的性能。 您需要能够根据不同的部署环境和情况调整日志详细信息。 虽然您仍然需要自己决定应该为每个用例编写哪些日志消息,但您不需要担心需求2和需求3。各种日志框架已经解决了这些技术要求。您只

Spring Security:自定义访问策略

Spring Security:自定义访问策略

相关技术 7个月前 (02-23) 浏览: 81 评论: 0

当根据谁访问哪个域对象做出安全决策时,您可能需要一个自定义的访问决策投票者。幸运的是,Spring Security有很多这样的选项来实现访问控制列表(ACL)约束。 代码可以在GitHub上找到:https://github.com/timtebeek/spring-security-samples/ 实现 我们将探索一个用户共享电子表格的系统,每个电子表格的访问权限单独存储。我们已经尽可能简单

JVM内置函数intrinsics简介

JVM内置函数intrinsics简介

Java系列 7个月前 (02-21) 浏览: 149 评论: 0

在本文中,我们将学习什么是intrinsics(内部/内置函数),以及它们如何在Java和其他基于JVM的语言中工作。 什么是内置? 内置函数是由我们的编程语言的编译器或解释器进行特殊处理的函数。更具体地说,这是一种特殊情况,因为各种原因,编译器或解释器可以用替代实现替换函数。 编程语言通常通过理解一个特定的方法调用是特殊的来处理这个问题,无论何时我们调用这个方法,结果都是不同的。这样一来,我们的

Java中的逃逸分析

Java中的逃逸分析

Java系列 8个月前 (02-11) 浏览: 98 评论: 0

底层的CPU优化对我们的应用有影响。此外,它们证明了大多数程序员的错觉是错误的。是的,你使用的是高级语言。但这并不意味着所有这些抽象层都能完全屏蔽CPU。我在一个Java程序上演示了CPU缓存的效果。 CPU的发展速度比主存快得多。如今,CPU大部分时间都在等待。现代CPU可以在每个CPU周期执行多条指令。但如果它必须访问主内存,绕过三个缓存中的每一个,它必须等待大约100个周期。 Java中的逃

Java演示CPU级的缓存效果

Java演示CPU级的缓存效果

Java系列 8个月前 (02-09) 浏览: 103 评论: 0

Joshua Bloch 在推特上发了一个链接(http://igoro.com/archive/gallery-of-processor-cache-effects/),使用高级编程语言(如C#)演示了CPU缓存的效果。强烈推荐! 那我们能否在Java中演示同样的效果呢?乍一看,这种可能性对我们不利:Java不是编译成本机代码,而是编译成中间字节码,而中间字节码可能会编译成本机代码,也可能不会编

JVM Code Cache代码缓存简介

JVM Code Cache代码缓存简介

Java系列 8个月前 (02-07) 浏览: 149 评论: 0

在本文中,我们将了解JVM的Code Cache 代码缓存。 什么是Code Cache? 简而言之,JVM Code Cache (代码缓存)是JVM存储编译成本机代码的字节码的区域。我们将可执行本机代码的每个块称为nmethod。nmethod可能是一个完整的或内联的Java方法。 即时(JIT)编译器是代码缓存区的最大消费者。这就是为什么一些开发人员将此内存称为JIT代码缓存。 Code C

Java 8–使用Lambda表达式进行比较

Java 8–使用Lambda表达式进行比较

Java系列 8个月前 (01-26) 浏览: 440 评论: 0

在Java 8之前,对集合进行排序需要为排序中使用的比较器Comparator创建一个匿名内部类: new Comparator<Human>() { @Override public int compare(Human h1, Human h2) { return h1.getName().compareTo(h2.getName()); } } 这仅用于对Human实体列表进行排序

Java Dumps

Java Dumps

Java系列 8个月前 (01-24) 浏览: 106 评论: 0

  Java Dumps是在虚拟机由于网络问题、内存错误或用户启动任何类型的按键组合而意外停止时错误创建的一些Java内核。通过调用合并到应用程序源代码中的Java转储API或通过命令行直接提供-Xdump:Java选项,可以轻松创建Java Dumps。Java Dumps通过提供一些有用的信息来帮助最终用户排除故障,并诊断当应用程序意外停止运行时发生的停止的根本原因。 语法 Java

在gRPC中如何正确处理错误

在gRPC中如何正确处理错误

相关技术 8个月前 (01-19) 浏览: 1255 评论: 0

正确处理错误可能很棘手,而且在gRPC中可能更棘手。当前版本的gRPC仅具有基于简单状态代码和元数据的有限内置错误处理。在本文中,我们将看到gRPC错误处理的局限性,以及如何克服和构建健壮的错误处理框架。 代码示例 本文的工作代码示例列在GitHub上。要运行该示例,请克隆存储库:https://github.com/techdozo/grpc/tree/master/grpc-spring-bo

Java中的循环链表

Java中的循环链表

Java系列 8个月前 (01-17) 浏览: 124 评论: 0

与链表相比,循环链表略有不同。在循环链表中,最后一个节点指向第一个节点,从而完成一整圈节点。换句话说,我们也可以说在这个链表中,最后一个元素不是空的。在这种类型的链表中,任何节点都可以作为起点。这意味着可以遍历整个列表,即使我们从任何节点开始。当最后一个节点指向第一个节点时,在循环链表中执行排队和出列操作非常容易。在本文中,我们将通过示例了解循环链表。 Java中循环链表的语法: 以下是语法: 节

Java日志框架:log4j VS logback VS log4j2

Java日志框架:log4j VS logback VS log4j2

相关技术 9个月前 (01-14) 浏览: 167 评论: 0

如果您曾经不得不分析生产中的问题,我相信您知道良好的日志记录是多么重要。良好的日志记录需要三件事: 日志消息需要提供所需的信息,以了解应用程序在内部执行的操作。 编写日志消息必须尽可能高效,这样才能不影响应用程序的性能。 您需要能够根据不同的部署环境和情况调整日志详细信息。 虽然您仍然需要自己决定应该为每个用例编写哪些日志消息,但您不需要担心需求2和需求3。各种日志框架已经解决了这些技术需求。您只

基于Spring Boot的GraphQL项目

基于Spring Boot的GraphQL项目

相关技术 9个月前 (01-13) 浏览: 198 评论: 0

这是一篇面向那些想用Java创建GraphQL服务的人。它需要一些Spring Boot和Java知识,虽然我们简要介绍了GraphQL,但本教程的重点是用Java开发GraphQL服务器。 3分钟内搭建GraphQL GraphQL是一种从服务器检索数据的查询语言。在某种程度上,它是REST、SOAP或gRPC的替代品。 假设我们要从在线商店后端查询特定书籍的详细信息。 使用GraphQL,您向

用lambda表达式进行Java编程

用lambda表达式进行Java编程

Java系列 9个月前 (01-10) 浏览: 166 评论: 0

在JavaOne 2013的技术主题演讲中,Oracle Java平台组首席架构师Mark Reinhold将lambda表达式描述为Java编程模型有史以来最大的一次升级。虽然lambda表达式有很多应用程序,但本文主要关注数学应用程序中经常出现的一个特定示例;也就是说,需要将函数传递给算法。 数学中的许多应用要求函数作为参数传递给算法。大学代数和基础微积分的例子包括解方程或计算函数的积分。15

登录

忘记密码 ?

切换登录

注册