电子商务基础概念之SPU、SKU

在从事电子商务行业,或者开发电子商务系统时,通常绕不开两个概念,即SPU和SKU。

对这两个概念的理解和应用,能够在很大程度上简化对商品的管理,提供更好的扩展性。

SPU

SPU指标准化产品单元(Standard Product Unit),是商品信息聚合的最小单位。是一组可复用、易检索的标准化信息的集合,该集合描述了一个产品的特性。 … [阅读文章]

为什么需要布隆过滤器(Bloom Filter)及其产生背景?

在日常工作中,有一个比较常见的需求,就是需要判断一个元素是否在集合中。

例如以下场景:

给定一个IP黑名单库,检查指定IP是否在黑名单中? 在接收邮件的时候,判断一个邮箱地址是否为垃圾邮件? 在文字处理软件中,检查一个英文单词是否拼写正确?

遇到这种问题,通常直觉会告诉我们,应该使用集合这种数据结构来实现。例如,先将IP黑名单库的所有IP全部存储到一个集合中,然后再拿指定的IP到该集合中检查是否存在,如果存在则说明该IP命中黑名单。 … [阅读文章]

布隆过滤器(Bloom Filter)入门介绍

布隆过滤器(Bloom Filter)是一个数据结构,由布隆(Burton Howard Bloom)于1970年提出的。它实际上是一个很长的二进制向量和一系列随机映射函数。

布隆过滤器可以用于高效的检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都远远优于一般的算法,缺点是有一定的误识别率,而且难以删除(一般不支持,需要额外的实现)。 … [阅读文章]

《甲午战争》清末政府腐败无能,北洋水师全军覆灭,大清从此急转而下

清末政府腐败无能。

熙和园,光绪结婚耗光了钱。

军费欠缺,预算买军舰弹药的钱基本没指望。

日本扩军十年,60%的财政建军。

1890年后海军逐渐超过清军,军舰排量更大,速炮舰更灵活。

最后北洋水师全军覆灭,大清从此急转而下,日本从被压迫国转为压迫国。 … [阅读文章]

为什么计算机不是万能的?

人工智能所能解决的问题只是世界上问题的很小一部分。

世界上有很多问题,其中只有一小部分是数学问题; 在数学问题中,只有一小部分是有解的; 在有解的问题中,只有一部分是理想状态的图灵机可以解决的; 在后一类的问题中,又只有一部分是今天实际的计算机可以解决的; … [阅读文章]

了解细菌、病毒、传染病等基础知识,更好的认识2019新型冠状病毒

由于2019新型冠状病毒的影响比较大,近期大家都非常关注事件的发展。作为一名非医护人员,我们能做的,就是尽量多呆在家里,少走亲访友,少去人员密集的地方。而对于可能的携带病毒者,应该及早发现,及早隔离,避免对外传播。 除此之外,我想我们在闲暇之余,也应该多了解一些疾病相关的知识,如什么是细菌、什么是病毒和传染病等等。 … [阅读文章]

计算机虚拟存储器的一点琐碎记录

本篇是关于计算机虚拟存储器的一点琐碎记录。 概述 为了更加有效地管理存储器并且少出错,现代系统提供了一种对主存的抽象概念,叫做虚拟存储器(VM)。 目的 有效地管理存储器。为不同进程合理的分配存储器资源,为每个进程提供一致的、私有的地址空间。 少出错。避免进程间相互写彼此的储存器。 … [阅读文章]

Java安全发布对象(单例)的几种方式

基础知识 类的初始化

JVM在类被加载后,并且被线程使用之前,会进行类的初始化。在初始化期间,JVM将会获取一个锁,以同步多个线程对类的初始化。

根据Java语言规范,在首次发生下列任意一种情况时,一个类或接口类型T将被立即初始化:

T是一个类,而且一个T类型的实例被创建。 … [阅读文章]

汇编语言基础知识和8086 CPU的寻址能力简介

本篇文章,主要简单介绍一下汇编语言的基础知识和8086 CPU的寻址能力。 机器语言 机器语言是用二进制代码表示的、计算机能直接识别和执行的一种机器指令的集合。
机器指令,其实就是一串二进制数。 由于机器语言对于程序员来说不够直观,难于辨别和记忆,生产效率低下,于是汇编语言产生了。 … [阅读文章]

从摩尔斯电码,到开关、继电器和逻辑门,做一个二进制加法器

编码,是用于表示和传递信息的方式。例如,摩尔斯电码,用点和划来表示信息,用于电报机通信。布莱叶盲文,使用凸出和不凸出来表示信息,阅读者通过触摸来理解信息。

对于计算机,底层是使用0和1来表示信息,通过多个0和1的组合,可以表示几乎无穷无尽的信息。 … [阅读文章]

JMH基准测试入门配置及示例

JMH的全称是Java Microbenchmark Harness,即Java微基准测试工具。

JMH是一个用于构建,运行和分析基于Java及其他JVM语言的基准测试工具。它也是OpenJDK项目的一部分。

要运行JMH基准测试,推荐的方法是使用Maven来构建一个测试项目。生成相关的依赖信息,以及简单的测试骨架代码。由于这种方式比较纯粹,项目是全新的、自动生成的,不受其他环境的影响,因此比较可靠。 … [阅读文章]

这个国庆几乎无假期,写了9篇Jackson和4篇Fastjson基础教程

这个国庆八天长假,有人回家有人去旅游。

而我,每天买菜做饭洗碗陪小孩玩,在附近园区玩了一趟,看了部姜子牙。

剩下的时间就是写文章,每天都写,虽然比较简单,但写9篇Jackson和4篇Fastjson教程也不容易。

下面把所有文章整理一下。

Jackson教程 … [阅读文章]