![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
油腻的Java
梦想去种田,学无止境
展开
-
32、64位JVM区分不再重要吗?
简介在本文中找到有关于32位JVM和64位JVM之间的区别的一些常见问题的答案。你将学到在这两者之间进行迁移时要考虑的所有事情,将有助于你更好地实施。32位JVM和64位JVM之间存在一些明显的区别和细微差别。我将尝试通过此问答文章来澄清它们。我们是否需要了解32位JVM和64位JVM之间的区别?如果你不是在构建性能型Java服务,则不必了解它们之间的区别。32位JVM和64位JVM之间的...原创 2019-11-29 12:11:33 · 232 阅读 · 0 评论 -
谁在乎toString的性能?
简介谁在乎toString的性能?没有人!除非你批量处理大量数据,追求算法高性能,否则将使用toString进行大量日常类型转换。然后,你会研究为什么它很慢,认识到toString()主要是使用内部实现的并且可以优化。首先,让我们看一下Javadoc的描述 Object.toString 应该做什么:“ 返回对象的字符串表示形式。通常,该 toS...原创 2019-11-26 18:03:59 · 215 阅读 · 0 评论 -
现代计算机模型-J.U.C并发系列(1)
系列介绍本系列主要重点介绍Java中的J.U.C并发编程,从原理,理论到实践的过程,带你一步步了解各种知识点,把所有技术点构成一个闭环,形成一个知识体系。希望在J.U.C系列对你有新的了解和认知。第一步,我想从计算机的底层模型来做为我这个系列的开头,因为你只有理解了计算机的原理和结构,才能对于Java的一些设计(J.U.C,Sync,JMM)才有更加深刻的理解和使用。本章节不涉及到Java...原创 2019-11-13 17:38:20 · 893 阅读 · 0 评论 -
什么是线程、并发-J.U.C并发系列(2)
回顾回顾上一篇的文章,我们主要介绍了现代计算机模型,CPU的缓存一致性协议,CPU和内存的工作原理,这些知识点都是为了更好的去学习我们的Java并发编程。介绍本文,我们来了解一个概念,什么是线程?Java中线程和计算机的线程有什么区别?什么是线程现代操作系统在运行一个程序时,会为其创建一个进程。例如,启动一个Java程序、网页、软件应用等,操作系统就会创建一个进程。现代操作系统调度...原创 2019-11-13 17:36:01 · 223 阅读 · 0 评论 -
Java-背包算法实现
介绍给定 n 种物品和一个容量为 C 的背包,物品 i 的重量是 wiw_iwi,其价值为 viv_ivi问:应该如何选择装入背包的物品,使得装入背包中的物品的总价值最大?背包问题是具有许多应用的组合优化问题背包问题在背包问题中,我们有一组物品。每个物品都有重量和价值:我们想将这些物品放入背包。但是,它有一个重量限制:因此,我们需要选择总重量不超过重量限制的物品,并且其总...原创 2019-11-08 10:38:02 · 790 阅读 · 0 评论 -
从零单排Java 8(3) —— List结合Lambdas对排序的高级用法
简介在本教程中,我们将首先了解Java 8中的Lambda支持,特别是如何利用它来编写Comparator并对Collection进行排序。首先,让我们定义一个简单的实体类:public class Human { private String name; private int age;}List的简单排序在Java 8之前,对集合进行排序将涉及为排序中使用的Co...原创 2019-04-15 12:28:25 · 114 阅读 · 0 评论 -
Java8的CompletableFuture进阶之道
简介作为Java 8 Concurrency API改进而引入,本文是CompletableFuture类的功能和用例的介绍。同时在Java 9 也有对CompletableFuture有一些改进,之后再进入讲解。Future计算Future异步计算很难操作,通常我们希望将任何计算逻辑视为一系列步骤。但是在异步计算的情况下,表示为回调的方法往往分散在代码中或者深深地嵌套在彼此内部。但是当我们...原创 2019-04-03 17:19:07 · 259 阅读 · 0 评论 -
检查字符串是否包含多个关键字的高级进阶
简介在本快速教程中,将了解如何检测字符串中的多个单词。我们的例子我们假设我们有字符串:String inputString = "hello there, william";我们的任务是查找inputString 是否包含“hello”和“william”字样。所以,让我们把我们的关键字放到一个数组中:String[] words = {"hello", "william"};...原创 2019-04-01 17:11:04 · 1368 阅读 · 0 评论 -
Oracle与OpenJDK之间的区别
简介在本文中,我们将探讨Oracle Java Development Kit和OpenJDK之间的差异并进行比较。Oracle JDKOracle JDK由Oracle公司开发,该公司是Sun许可证,基于Java标准版规范实现。它以二进制产品的形式发布。它支持多种操作系统,如Windows,Linux,Solaris,MacOS等。它支持不同的平台,如Intel 32位和64位架构,AR...原创 2019-04-01 16:10:27 · 10128 阅读 · 0 评论 -
首发!来自你的Java同行的调查报告
最新国外的一个权威机构对1500多名Java开发人员进行了调查,针对互联网行业展示了他们的一起喜好,我们一起来看下,是不是和你也一样。以下是一些详细的报告关键要点#编程语言你经常使用哪种编程语言? 回答总数:1361主要编程语言你的主要编程语言是什么? 回答总数:1361使用的语言数量你的使用的语言数量有多少种? 回答总数:1361未来是否切换语言你是否...原创 2019-04-01 10:22:25 · 311 阅读 · 0 评论 -
带你探索JUnit 5.4
Java最受欢迎的测试库JUnit发布了一个新版本5.4。自上一次5.3.2发布以来,这个版本带来了一些值得我们去尝试的地方,本文中,我将介绍最重要的内容,并在适用的地方提供代码示例。你可能知道,JUnit 5.x(Jupiter)是对JUnit 4.x(Vintage)的巨大改进。JUnit 5是一个更优秀的版本,包括Lambda支持,JUnit 5扩展,测试方法参数注入以及许多其他功能。...原创 2019-03-27 14:42:56 · 1178 阅读 · 0 评论 -
详解Map.merge()
今天介绍Map的merge方法,让我们来看看它的强大之处。在JDK的API中,这样的一个方法它是很特别的,它很新颖,它是值得我们花时间去了解的,同时也推荐你可以运用到实际的项目代码中,对你们应该帮助很大。Map.merge()。这可能是Map中最通用的操作。但它也相当模糊,几乎很少人会去使用它。背景介绍merge()可以解释如下:它将新的值赋值给到key中(如果不存在)或更新具有给定值的...原创 2019-03-22 10:58:41 · 298 阅读 · 0 评论 -
空对象模式
概述在这个快速教程中,我们将看一下Null对象模式,这是设计模式的一个特例,一个经常被我们遗忘的特例。我们将描述它的目的以及我们何时应该考虑使用它。像往常一样,我们还将提供一个简单的代码示例。空对象模式在大多数面向对象的编程语言中,我们会考虑不进行null引用,为此我们经常被迫写空检查:Command cmd = getCommand();if (cmd != null) { ...原创 2019-03-21 14:25:34 · 110 阅读 · 0 评论 -
将多个JSON字段映射到单个Java字段
简介本文中,教大家如何使用Jackson和Gson将不同的JSON字段映射到单个Java字段中。Maven依赖为了使用Jackson和Gson库,我们需要在POM中添加以下依赖项:<dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson<...原创 2019-03-20 16:23:15 · 1962 阅读 · 2 评论