正文内容加载中...
posted @ 2018-06-01 15:04 北斗玄机 阅读(4) 评论(0) 编辑
摘要: 在面试的时候我们会经常遇到这个问题: MySQL 中,COUNT(*)、COUNT(1)、COUNT(col) 有区别吗? 答案是有区别。 接下来我们分析一下这三者有什么样的区别。 一、SQL Syntax & Semantics 从语义角度看,它们有不同的含义。 COUNT(expr)返回查询到的阅读全文
posted @ 2018-04-16 10:06 北斗玄机 阅读(17) 评论(0) 编辑
摘要: 我们经常会遇到这样的场景:上传/下载文件。 有两种思路可以解决这个问题: (1)将文件存储在服务器的文件系统中; (2)将文件存储在数据库中。 如果我们选择(2),那么我们可以使用MongoDB GridFS 用于存储大小超过 16MB 的文件(文档,压缩文件,音视频,软件)。 一、MongoDB 阅读全文
posted @ 2018-04-10 15:48 北斗玄机 阅读(28) 评论(0) 编辑
摘要: 本文对关系型数据库的相关概念做些解析。 关系型数据库(Relational Database) 由 Edgar.F.Codd 教授于 1969 年提出,是使用遵循一阶逻辑的语言和结构来管理数据的模型。 1970 年,Prof.Codd 提出第一范式(1NF,First Normal Form); 1阅读全文
posted @ 2018-04-02 09:26 北斗玄机 阅读(13) 评论(0) 编辑
摘要: 本文分析的是 spring-data-mongodb-1.9.2.RELEASE.jar 和 mongodb-driver-core-3.2.2.jar。 一、UML Class Diagram 核心类是 MongoTemplate,下面这张 UML 类图涉及了主要的类,省略了次要的类。 涉及的类:阅读全文
posted @ 2018-03-30 17:05 北斗玄机 阅读(127) 评论(0) 编辑
摘要: Studio 3T 是一款对 MongoDB 进行数据操作的可视化工具。 在 Studio 3T 中,我们可以借助 Query Builder 的 Drag & Drop 来构建查询条件。 具体的 Query Builder 使用方式可以阅读 Studio 3T 官方的这篇文章。 注意:在指定某个字阅读全文
posted @ 2018-03-30 13:16 北斗玄机 阅读(83) 评论(0) 编辑
摘要: 在使用 MySQL 时,我们有时会遇到这样的报错:“Deadlock found when trying to get lock; try restarting transaction”。 在 14.5.5.3 How to Minimize and Handle Deadlocks 中有这样一句话阅读全文
posted @ 2018-03-27 17:27 北斗玄机 阅读(23) 评论(0) 编辑
摘要: 我们知道 JDK 1.8 新增了 Lambda Expression 这一特性。 JDK 1.8 为什么要新增这个特性呢? 这个特性给 JDK 1.8 带来了什么好处? 它可以做什么?不可以做什么? 在这篇文章,我打算简单聊聊这些话题。 1. Lambda Expression 是什么? Lambd阅读全文
posted @ 2018-03-16 15:39 北斗玄机 阅读(41) 评论(0) 编辑
摘要: MongoDB 对于数据的 schema 要求很灵活。 与 MySQL 相比,collection 并不会强制文档的结构。(MySQL 在定义表时, 需要指定有哪些字段、类型、展示长度) 因此,插入数据到 MongoDB 非常灵活。同一个 collection 中可以有结构不同(字段不同)的文档(通阅读全文
posted @ 2018-01-14 14:19 北斗玄机 阅读(7) 评论(0) 编辑
摘要: Java Generics 在 JDK 1.5 引入。 它是一种对类型系统的增强,允许一个类型或方法操作多种类型的对象的同时提供了编译时的类型安全,避免了强制转换。 1、Java 泛型仅仅存在于编译期,在运行期会被擦除(erased)。 2、Java 语言中方法签名(method signature阅读全文
posted @ 2018-01-09 10:54 北斗玄机 阅读(22) 评论(0) 编辑