MySQL 索引概述


索引,是数据库内资源定位的一种机制。正如你去一个学校找人,如果你只知道这个人的名字,可能是需要一间教室一间教室的去找。但是如果你还知道他在哪个年级哪个班,直接就找到了。

...More

MySQL 事务处理

Transactions are not a law of nature; they were created with a purpose, namely to simplify the programming model for applications accessing a database. By using transactions, the application is free to ignore certain potential error scenarios and concurrency issues, because the database takes care of them instead (we call these safety guarantees).

...More

再谈数据库隔离

本篇是译文,原文地址

当两个或跟更多的工作单位(它可以是进程、线程、程序或任何可执行体)同时工作,特别是访问或者修改同一个数据,这时,并发问题就发生了。

举个现实中的例子,如果在同一个十字路口两辆车同时行进(非同向),没有停止信号或者交通灯,它们彼此看不到对方,最终它们驶向同一个车道,它们相撞了。

相似的,两个程序更新数据库中的同一行数据,其中一个程序可能就会覆写了另外一个程序的数据(考虑不使用数据库锁这种机制)。

即使两个程序都在单线程环境中可以正确执行,并发问题也会影响结果的正确性。

...More

JDBC 和 MyBatis

JDBC,是一种 SUN 为统一数据库访问而制定的接口规范。数据库厂商只要实现该接口,Java 层就可以通过该接口访问、管理数据库。它们之间,通过 桥接模式 (事物对象和其具体行为、具体特征分离开来,使它们可以各自独立的变化) 实现数据访问。

MyBatis 是 ORM(Object/Relational Mapping,对象-关系映射) 框架。其插入在 JDBC 和应用程序之间完成了对数据库操作的封装,但是同时,由于其支持定制化 SQL。

...More

IoC 容器、Bean 和常用注解

IoC(Inversion of Control) 也被称为 DI (Dependency Injection)。
对象通过构造参数、工厂参数、set方法等,确定了依赖关系,而 IoC 容器在创建这个对象的时候,将自动为这个对象注入其所需要的依赖。这个过程,就是非常基础的控制反转(IoC)。

beans,就是上面所述由 IoC 容器创建并管理的对象。

...More

在 Spring Boot 中使用 Redis 进行缓存

本文是一篇译文,原文地址

系统运行变慢,是一种很普遍的问题。即使代码非常优秀,但是在高负载下,可能也会不堪一击。缓存,是一种快速的、廉价的提升性能以及响应事件的重要方式。

简而言之,缓存是一种性能策略。调用结果被放置在内存中,因此再下次使用时,将不必再重新执行。我们可以看到,如果请求的数据再缓存中(称之为缓存命中),我们将节省很多时间和资源。红色的数据快,代表了一种糟糕的情况,即缓存缺失,这种情况下,就需要加载并重新计算,这也将增加响应时间。

...More

在 Docker 中使用桥接网络

本文是一篇译文,原文地址
在 Docker 中使用的桥接网络是通过软件桥接的方式,允许连接在同一个桥接网络下的容器可以相互访问,同时,隔离没有连接在该桥接网络下的容器。Docker 桥接驱动器自动在宿主设备上安装了协议,因此,不同桥接网络下的容器,无法直接进行相互访问。

桥接网络,适用于通过同一个 Docker 伴随进程宿主的容器之间。不同伴随进程宿主之间,可以通过 OS 层的路由或者通过 overlay network 完成。

当启动 Docker 时,默认桥接网络将会被自动创建。新加进来的容器自动连接到该网络中,除非你指定了不同。当然,你也可以创建用户自定义网络。

...More

Part2 :使用 Java 创建你的第一个区块链[译]

 本篇是该系列的第二篇,你可以在这里找到第一篇。原文链接在此
 在第本篇,我们将

  • 创建一个简单的钱包
  • 在我们的区块链上签发一个交易。

 上面的这些过程,其实就产生了我们自己的加密货币。
 在上一篇文章中,我们有了一个可验证的、基本的区块链。但是,我们的链中仅仅存储了一些无用的信息。今天,我们将把这些无用的信息替换为交易数据。这允许我们可以创建一个简单的加密货币,我们称之为 “NoobCoin”。

...More

Part1 :使用 Java 创建你的第一个区块链[译]

 理解一个新事物,我觉得对于程序员来说,最好的方式就是用尝试用代码着去实现它。当然,区块链并不是一个新事物,2008 年由中本聪提出,至今也有十年了,但是对于我而言,它确实又是新的,这种严重迟到,绝对不是一件好事情。平时没事,还是要多逛逛技术论坛,看看新事物,最起码不会距离这个世界太远。
 回到正题,近来终于找到一篇关于如何使用 Java 创建区块链的入门文章,本意是借此熟练掌握区块链相关概念,原文地址在此,以下是我翻译的内容。
 这个系列的教程,旨在帮助你理解区块链技术的开发。在本教程中,我们将

  • 创建一个非常基本的 区块链
  • 实现一个很简单的 Proof of Work 系统(挖矿)
  • 惊叹这种可行性、可能性

 值得注意的是,这不是一个功能完备的、产品级别的区域链,而是对这些概念实现做了一个验证,以帮助更好的在后续章节中理解区块链。

...More

© 2025 YueGS