自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

weilin705的博客

渴望回乡下种田的中年油腻男对java的那些事

  • 博客(16)
  • 收藏
  • 关注

原创 Java-背包算法实现

介绍给定 n 种物品和一个容量为 C 的背包,物品 i 的重量是 wiw_iwi​,其价值为 viv_ivi​问:应该如何选择装入背包的物品,使得装入背包中的物品的总价值最大?背包问题是具有许多应用的组合优化问题背包问题在背包问题中,我们有一组物品。每个物品都有重量和价值:我们想将这些物品放入背包。但是,它有一个重量限制:因此,我们需要选择总重量不超过重量限制的物品,并且其总...

2019-11-08 10:38:02 781

原创 数据脱敏大数据架构设计

需求背景系统有数据识别、数据脱敏逻辑,支持可配置规则,自定义等,需要进行异构数据同步,大数据量。现在针对以下几个需求进行讲解1、支持冗余设计2、支持任务自动分发,支持自动负载均衡3、支持随时扩容节点而无需关停原有的系统和业务架构和模块架构图五核心模块及其主要功能调度平台使用Nginx方式来调用数据中心,通过注册中心获取数据中心的服务列表可以合理的根据数据同步的情况,...

2019-03-25 11:25:02 962 1

原创 Spring AOP从零单排-织入时期源码分析

问题:Spring AOP代理中的运行时期,是在初始化时期织入还是获取对象时期织入?织入就是代理的过程,指目标对象进行封装转换成代理,实现了代理,就可以运用各种代理的场景模式。何为AOP简单点来定义就是切面,是一种编程范式。与OOP对比,它是面向切面,为何需要切面,在开发中,我们的系统从上到下定义的模块中的过程中会产生一些横切性的问题,这些横切性的问题和我们的主业务逻辑关系不大,假如不进...

2019-03-11 13:59:34 161

原创 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 201

原创 谁在乎toString的性能?

简介谁在乎toString的性能?没有人!除非你批量处理大量数据,追求算法高性能,否则将使用toString进行大量日常类型转换。然后,你会研究为什么它很慢,认识到toString()主要是使用内部实现的并且可以优化。首先,让我们看一下Javadoc的描述  Object.toString 应该做什么:“ 返回对象的字符串表示形式。通常,该 toS...

2019-11-26 18:03:59 202

原创 现代计算机模型-J.U.C并发系列(1)

系列介绍本系列主要重点介绍Java中的J.U.C并发编程,从原理,理论到实践的过程,带你一步步了解各种知识点,把所有技术点构成一个闭环,形成一个知识体系。希望在J.U.C系列对你有新的了解和认知。第一步,我想从计算机的底层模型来做为我这个系列的开头,因为你只有理解了计算机的原理和结构,才能对于Java的一些设计(J.U.C,Sync,JMM)才有更加深刻的理解和使用。本章节不涉及到Java...

2019-11-13 17:38:20 875

原创 什么是线程、并发-J.U.C并发系列(2)

回顾回顾上一篇的文章,我们主要介绍了现代计算机模型,CPU的缓存一致性协议,CPU和内存的工作原理,这些知识点都是为了更好的去学习我们的Java并发编程。介绍本文,我们来了解一个概念,什么是线程?Java中线程和计算机的线程有什么区别?什么是线程现代操作系统在运行一个程序时,会为其创建一个进程。例如,启动一个Java程序、网页、软件应用等,操作系统就会创建一个进程。现代操作系统调度...

2019-11-13 17:36:01 214

原创 从零单排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 104

原创 Java8的CompletableFuture进阶之道

简介作为Java 8 Concurrency API改进而引入,本文是CompletableFuture类的功能和用例的介绍。同时在Java 9 也有对CompletableFuture有一些改进,之后再进入讲解。Future计算Future异步计算很难操作,通常我们希望将任何计算逻辑视为一系列步骤。但是在异步计算的情况下,表示为回调的方法往往分散在代码中或者深深地嵌套在彼此内部。但是当我们...

2019-04-03 17:19:07 223

原创 检查字符串是否包含多个关键字的高级进阶

简介在本快速教程中,将了解如何检测字符串中的多个单词。我们的例子我们假设我们有字符串:String inputString = "hello there, william";我们的任务是查找inputString 是否包含“hello”和“william”字样。所以,让我们把我们的关键字放到一个数组中:String[] words = {"hello", "william"};...

2019-04-01 17:11:04 1241

原创 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 10061

原创 首发!来自你的Java同行的调查报告

最新国外的一个权威机构对1500多名Java开发人员进行了调查,针对互联网行业展示了他们的一起喜好,我们一起来看下,是不是和你也一样。以下是一些详细的报告关键要点#编程语言你经常使用哪种编程语言? 回答总数:1361主要编程语言你的主要编程语言是什么? 回答总数:1361使用的语言数量你的使用的语言数量有多少种? 回答总数:1361未来是否切换语言你是否...

2019-04-01 10:22:25 300

原创 带你探索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 1156

原创 详解Map.merge()

今天介绍Map的merge方法,让我们来看看它的强大之处。在JDK的API中,这样的一个方法它是很特别的,它很新颖,它是值得我们花时间去了解的,同时也推荐你可以运用到实际的项目代码中,对你们应该帮助很大。Map.merge()。这可能是Map中最通用的操作。但它也相当模糊,几乎很少人会去使用它。背景介绍merge()可以解释如下:它将新的值赋值给到key中(如果不存在)或更新具有给定值的...

2019-03-22 10:58:41 286

原创 空对象模式

概述在这个快速教程中,我们将看一下Null对象模式,这是设计模式的一个特例,一个经常被我们遗忘的特例。我们将描述它的目的以及我们何时应该考虑使用它。像往常一样,我们还将提供一个简单的代码示例。空对象模式在大多数面向对象的编程语言中,我们会考虑不进行null引用,为此我们经常被迫写空检查:Command cmd = getCommand();if (cmd != null) { ...

2019-03-21 14:25:34 107

原创 将多个JSON字段映射到单个Java字段

简介本文中,教大家如何使用Jackson和Gson将不同的JSON字段映射到单个Java字段中。Maven依赖为了使用Jackson和Gson库,我们需要在POM中添加以下依赖项:<dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson&lt...

2019-03-20 16:23:15 1863 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除