简洁高效的Eclipse Collections API

简洁高效的Eclipse Collections API

Java系列 3年前 (2021-09-29) 浏览: 804 评论: 0

在本文中,您将了解Eclipse Collections集合提供的一些有用特性。您是否觉得Java Streams API有时还不够?我认为值得一看Eclipse集合。让我们讨论一下原因。 可变的或不变的 如果你喜欢Kotlin collections API,这个概念会吸引你。您可以创建可变和不可变集合。只有可变集合提供了添加新对象的方法。 Person p1 = new Person("Tes

Java中的逃逸分析

Java中的逃逸分析

Java系列 2年前 (2022-02-11) 浏览: 263 评论: 0

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

提高正则表达式性能的几点建议

提高正则表达式性能的几点建议

Java系列 2年前 (2022-08-22) 浏览: 1490 评论: 0

当正则表达式通常与大型数据集相匹配时它们的编写必须高效。 为什么正则表达式效率很重要? 虽然写得好的正则表达式可能非常有效,但写得不好的正则表达可能需要很长时间才能运行,并且会显著降低系统的速度。编写一个需要数小时或数天才能完成的正则表达式是很有可能的,甚至可以编写一个在宇宙生命周期内无法完成的正则表达,因为它是针对中等大小的字符串运行的。 在实践中已经做了一些改进,使其比以前的版本更能抵抗低效的

Java踩坑记系列之线程池

Java踩坑记系列之线程池

Java系列 4年前 (2020-02-16) 浏览: 4833 评论: 2

线程池大家都很熟悉,无论是平时的业务开发还是框架中间件都会用到,大部分都是基于JDK线程池ThreadPoolExecutor做的封装,比如tomcat的线程池,当然也有单独开发的,但都会牵涉到这几个核心参数的设置:核心线程数,等待队列,最大线程数,拒绝策略等。 先说下我们项目组在使用线程池时踩到的坑: 线程池的参数设置一定要结合具体的业务场景,区分I/O密集和CPU密集,如果是I/O密集型业务,

Java反射的用途系列二

Java反射的用途系列二

Java系列 3年前 (2020-10-24) 浏览: 746 评论: 0

针对字段的Java反射 反射API提供了几种方法来分析类字段并在运行时修改它们的值,在本节中,我们将研究一些常用的方法反射函数。   获取公共字段 在上一篇文章中,我们看到了如何获取类的所有公共字段的列表。反射API还提供了通过getField()方法获取类的特定公共字段的方法。这个方法先在指定的类引用中查找字段,然后在超级接口中查找,然后在超级类中查找。 Field field = C

如何在Windows和Linux上为Java设置classpath

如何在Windows和Linux上为Java设置classpath

Java系列 3年前 (2021-02-06) 浏览: 2254 评论: 0

  Java中的classpath是什么? Java中的classpath类路径是指向目录的路径或目录列表,类加载器用它在Java程序中查找和加载类。可以使用不区分大小写的Classpath环境变量、-cp或-Classpath命令行选项或中的Classpath属性来指定Classpath在JAR文件中的manifest.mf文件。在这篇Java文章中,我们将学习什么是Java中的cla

Error: Could not find or load main class

Error: Could not find or load main class

Java系列 3年前 (2021-04-30) 浏览: 16650 评论: 0

在从系统控制台运行Java类(例如Hello world应用程序)时,我们可能会遇到此错误:Could not find or load main class(找不到或加载主类)。我们得到这个错误是因为我们错误地试图在类中使用java命令运行main() 错误原因-无法找到或加载主类 考虑下面的Java类,它有一个main()方法。我们正在尝试使用命令行执行MainClass这个类。 packag

Java Stream API扩展简介

Java Stream API扩展简介

Java系列 2年前 (2021-10-20) 浏览: 411 评论: 0

Stream API Java8中引入的Stream API可能仍然是Java在过去几年中包含的最重要的新特性。我认为每个Java开发人员在其职业生涯中都有机会使用Java Stream API。或者我更愿意说,你可能每天都在使用它。但是,如果您将函数式编程提供的内置功能与其他一些语言(例如Kotlin)进行比较,您会很快意识到流 Stream API提供的方法数量非常有限。因此,社区创建了几个库

Java正则表达式API系列二

Java正则表达式API系列二

Java系列 2年前 (2022-05-11) 浏览: 142 评论: 0

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

Java里的MethodHandles是什么?它和反射有什么区别?

Java里的MethodHandles是什么?它和反射有什么区别?

Java系列 5个月前 (10-23) 浏览: 85 评论: 0

在本文中,我们将探讨一个重要的API,它是在Java7中引入的,并在以后的jdk版本中得到了增强,即java.lang.invoke.MethodHandles。 特别是,我们将学习什么是方法句柄(method handles),如何创建它们以及如何使用它们。 什么是方法句柄? 如API文件中所述,关于其定义: 方法句柄是对基础方法、构造函数、字段或类似低级操作的类型化、直接可执行的引用,具有参数

Java递归函数讲解

Java递归函数讲解

Java系列 4年前 (2020-10-01) 浏览: 1679 评论: 0

Java中的递归 什么是递归? 函数直接或间接调用自身的过程称为递归,相应的函数称为递归函数。使用递归算法,某些问题可以很容易地解决。这类问题的例子有Hanoi的Towers(TOH)、序/前序/后序树遍历、图的DFS等。 递归中的基本条件是什么? 在递归程序中,给出了基本情况的解,大问题的解用小问题表示。 int fact(int n) { if (n < = 1) // base cas

Java反射替代方案

Java反射替代方案

Java系列 3年前 (2020-11-04) 浏览: 2759 评论: 0

替换反射API调用可以提高性能 有时,作为开发人员,您可能会遇到这样的情况:无法使用new运算符实例化对象,因为它的类名存储在配置XML中的某个位置,或者您需要调用名称指定为注释属性的方法。在这种情况下,您总是有一个答案:使用反射! 您可以通过存储java.lang.reflect.Method实例,并像在许多框架中实现一样调用它们,但我们决定看看其他选项。反射调用有其成本,如果您开发一个生产类框

如何在eclipse中配置tomcat

如何在eclipse中配置tomcat

Java系列 3年前 (2021-02-19) 浏览: 1758 评论: 0

在本文中,我们将了解如何在eclipse中配置Tomcat,以及如何配置Tomcat来部署web应用程序。 Tomcat简介 Tomcat实际上由许多组件组成,包括tomcatjsp引擎和其他连接器,但是主要组件是Catalina,它提供了servlet规范的实现。当启动Tomcat服务器时,实际上是Catalina在启动。变量CATALINA_HOME是存储CATALINA文件位置的配置属性。

JAR、WAR、EAR有什么区别?

JAR、WAR、EAR有什么区别?

Java系列 3年前 (2021-07-17) 浏览: 1264 评论: 0

JAR、WAR和EAR文件的主要区别在于JAR文件是一个包含Java类文件、相关元数据和资源的文件,这些文件组合成一个文件来执行Java应用程序。另一方面,WAR文件是一个包含servlet、JSP、HTML、JavaScript等文件的文件,这些文件是开发web应用程序所必需的,而EAR是一个Java EE文件,它将一个或多个模块打包到单个归档文件中,以便将它们部署到应用程序服务器上。 Java

JNI是什么?

JNI是什么?

Java系列 2年前 (2021-12-20) 浏览: 306 评论: 0

JNI或Java本机接口充当桥梁,允许其他语言编程的支持包,以克服Java平台设置的限制。Java中的这个特性有助于将任何编程语言合并到Java中。JNI以其关键功能而闻名,如JNI有助于提高构建的应用程序的效率、提高应用程序性能、集成其他编程语言的空间、便于将来使用最新编程技术进行升级等。JNI使过于热情的开发人员受益,他们喜欢玩自己的程序,提高自己的编码能力。 理解Java中的JNI 为了理解

Java树遍历简介

Java树遍历简介

Java系列 2年前 (2022-06-29) 浏览: 488 评论: 0

Java树遍历被定义为一种用Java编程语言实现的算法,它将树作为一种数据结构,并结合了通过算法实现访问树的所有节点的基本原理。计算机科学数据结构术语中的遍历表示需要访问数据结构中的所有节点以完成手头的更大任务。树的组件是根节点和子节点,其中一些结束于该特定节点,并命名为叶子,其他组件创建更多子树。在本文中,我们将介绍Java中树遍历的实现,并查看实现相同的树遍历的不同方法。 语法 Java中的类

Java递归函数与算法讲解系列一

Java递归函数与算法讲解系列一

Java系列 4年前 (2020-10-14) 浏览: 619 评论: 0

在计算机程序中描述重复的一种方法是使用循环,如Java的while循环和for循环结构。实现重复的完全不同的方法是通过一个称为递归的过程。 递归是一种方法对自身进行一次或多次调用的技术,在执行期间,或数据结构依赖于同一类型的结构。有很多例子艺术与自然中的递归。例如,分形图案是自然递归的。艺术中使用递归的物理例子是俄罗斯的Matryoshka玩偶。每个玩偶要么是实木做的,要么是空心的,里面装着另一个

Java9的9个新特性

Java9的9个新特性

Java系列 3年前 (2021-01-28) 浏览: 337 评论: 0

Java8发布三年多后,下一个版本即将发布,暂定发布日期为2017年9月21日。您可能听说过Java9的模块系统,但这个新版本还有更多的内容。下面是Java9将提供的9个令人兴奋的新特性。 1. Java平台模块系统 Java9的定义特性是一个全新的模块系统。当代码基变得更大时,创建复杂、纠结的“意大利面代码”的几率就会成倍增加。有两个基本问题:很难真正地封装代码,而且系统的不同部分(JAR文件)

使用JCTools实现Java并发程序

使用JCTools实现Java并发程序

Java系列 3年前 (2021-03-17) 浏览: 1730 评论: 0

  概述 在本文中,我们将介绍JCTools(Java并发工具)库。 简单地说,这提供了许多适用于多线程环境的实用数据结构。 非阻塞算法 传统上,在可变共享状态下工作的多线程代码使用锁来确保数据一致性和发布(一个线程所做的更改对另一个线程可见)。 这种方法有许多缺点: 线程在试图获取锁时可能会被阻塞,在另一个线程的操作完成之前不会取得任何进展—这有效地防止了并行性 锁争用越重,JVM处理

JDK最新高速垃圾收集器概览

JDK最新高速垃圾收集器概览

Java系列 3年前 (2021-09-06) 浏览: 394 评论: 0

ZGC、Shenandoah和对G1的改进使开发人员比以往任何时候都更接近无停顿Java。 在过去的六个月里,JDK的垃圾收集器(GC)出现了一些最令人兴奋的发展。本文介绍了一系列不同的改进,其中许多最早出现在JDK 12中,并在JDK 13中继续介绍。首先,我们将介绍Shenandoah,一种低延迟GC,它主要与应用程序同时运行。我们还将介绍作为JDK 12的一部分发布的ZGC(Java11中引

登录

忘记密码 ?

切换登录

注册