自己动手写Promise相信作为一名JSer,大家如今肯定都对Promise的使用非常熟悉了。Promise的出现,大大改善了js代码『回调地狱』的问题,再结合async/await等语法特性,可以让JS书写简洁优美、可读性高的异步代码。在Promise规范化的路上,社区的贡献可谓至关重要。早期各种版本的Promise库最终推动了Promises/A+规范的达成,并最终被纳入语言规范。如今随着as
转载
2023-12-06 21:38:49
31阅读
很久没写技术性的文档,编写此文档的目的一来作为最近学习的总结,二来这里有不少和我一样做WEB开发刚刚开始挨踢生涯的毕业生,希望本文档对大家有所帮助。本文思路来自《疯狂java实战讲义》和网上的无数文章。此文档主要的内容为设计并且实现一个简单的IoC容器,IoC我们每天都在用,但都是借助于第三方框架,我们可以试着自己写一个IoC最简单的容器,什么东西都要拆开了解才好玩。本文档大体分为三个部分。第一部
转载
2023-09-14 15:08:21
45阅读
本文适合对于promise的实现原理感兴趣的同学,由于使用PHP实现promise,故需要具备一定的PHP基础知识。一、背景大家都知道,异步编程在web领域内越来越多地运用,但异步回调代码的写法十分恶心,逐层嵌套,不便于阅读。为了解决这个问题,js实现了promise模式,但大多数开发者只知道promise的表面用法,不知其底层实现逻辑。笔者采用PHP实现了自己的promise,借着此过程,与大家
转载
2023-12-29 09:49:58
49阅读
## 实现MySQL触发器的Java实现
在MySQL数据库中,触发器是与表相关联的一段SQL代码,当表的数据发生变化时(插入、更新、删除),触发器会自动执行。MySQL数据库本身提供了触发器的功能,但有时候我们希望在Java程序中自己实现触发器的逻辑,这样可以更灵活地控制触发器的行为。
### 触发器的实现原理
在Java中实现MySQL触发器的原理是通过监听数据库表的变化事件,当表的数据
原创
2024-04-23 04:08:50
77阅读
# MySQL自关联自己的实现方法
## 1. 概述
在MySQL数据库中,一个表可以与自身建立关联关系,这种关联关系被称为自关联。自关联在一些特定的数据结构中非常有用,比如树形结构。在本文中,我们将介绍如何在MySQL中实现自关联。
## 2. 自关联的步骤
| 步骤 | 描述 |
| --- | --- |
| 1. 创建表 | 创建一个包含自身关联字段的表 |
| 2. 插入数据 |
原创
2023-08-11 17:27:30
867阅读
基于数据库表要实现分布式锁,最简单的方式就是直接创建一张锁表,然后通过操作该表中的数据来实现加锁和解锁。当要锁住某个方法或资源时,就向该表插入一条记录,表中设置方法名为唯一键,这样多个请求同时提交数据库时,只有一个操作可以成功,判定操作成功的线程获得该方法的锁,可以执行方法内容;想要释放锁的时候就删除这条记录,其他线程就可以继续往数据库中插入数据获取锁。创建这样一张表:CREATE TABLE `
转载
2023-08-17 19:53:46
36阅读
# Java 方法自我调用(递归)的实现
在学习 Java 编程语言时,理解方法的自我调用(递归)是一项重要的技能。递归的方法是指一个方法在其内部调用自身。今天,我将教你如何实现这一点,我们将通过一个具体的示例来说明。
## 流程概述
在实现递归方法时,通常需要遵循以下几个步骤:
| 步骤 | 描述 |
|------|------|
| 1 | 定义递归方法。 |
| 2 |
原创
2024-08-25 05:51:14
205阅读
上节课我们自己手动实现了一个ArrayList,底层是用数组实现的。但是,这种实现的缺点显而易见,太浪费空间了。每次扩容直接扩充一倍,浪费的空间太多了,不太好。 这节课我们还是想要实现一个允许动态增删改查元素的容器,只不过这次我们换一种方式。 说到容器,我们可以想一下,我们能不能自己设计一个容器来存放对象而不是使用数组呢?比如下面这种形式: class Node{O...
原创
2021-07-13 14:29:17
114阅读
为什么要自定义starter ?SpringBoot优点之一简化编码,在使用Spring创建项目时,需要在pom文件中添加多个依赖,而SpringBoot则会 帮助开发者快速启动一个web容器,只需要在pom中添加一个starter依赖即可,大大简化了编码,不用一个个导入依赖。所以在开发项目时有时为了方便拓展可以自定义写自己的starter,方便自己的项目特定场景需求。原理:首先,SpringBo
来自维基的代码:const class nullptr_t{public: template<class T> inline operator T*() const //隐式转化 { return 0; } template<class C, class T> //隐式转化 inline operator T C::*() const
原创
2022-12-07 00:14:52
77阅读
我们已经学过了数组了,但我们知道一个事,数组是定长的,定长的数组显然是满足不了我们的需求的,因为我们不知道自己需要多长的数组,所以只能定义的尽可能大,这样就会造成极大的空间浪费。 那么我们可不可以想个办法去实现一个不固定长度的容器呢? 这节课我就来带大家实现一个不固定长度的容器。 Code: /** * 我的数组表 * 用数组来存储数据 */public c...
原创
2021-07-13 15:53:04
91阅读
# 自己实现一个简单的 `javac`
作为一名刚入行的小白,可能会对 Java 的编译过程感到陌生。为了帮助你理解如何自己实现一个简化版的 `javac`,我们将分步骤进行。这篇文章将指导你完成这个简单的编译器,理解代码的运作方式。我们会通过以下几个步骤完成:
| 步骤 | 任务 |
|------|----------------
原创
2024-10-15 07:03:25
40阅读
0. 前言RAII (Resource Acquisition Is Initialization, 资源获取即初始化) 是 C++ 特有的资源管理方式,依托栈和析构函数对所有资源(包括堆)进行管理。实际上就是利用一个类来实现一个来管理资源,将资源和类对象的生命周期进行绑定,这样就可以不用再手动释放资源。1. auto_ptr先看下上一节给出的类:enum class shape_type
{
我们已经学过了数组了,但我们知道一个事,数组是定长的,定长的数组显然是满足不了我们的需求的,因为我们不知道自己需要多长的数组,所以只能定义的尽可能大,这样就会造成极大的空间浪费。 那么我们可不可以想个办法去实现一个
原创
2022-03-10 16:11:07
68阅读
上节课我们自己手动实现了一个ArrayList,底层是用数组实现的。但是,这种实现的缺点显而易见,太浪费空间了。每次扩容直接扩充一倍,浪费的空间太多了,不太好。 这节课我们还是想要实现一个允许动态增删改查元素的容器,只不过这次我们换一种方式。 说到容器,我们可以想一下,我们能不能自己设计一个容器来存放对象而不是使用数组呢?比如下面这种形式: class Node{O...
原创
2022-03-10 16:48:22
77阅读
HTML部分: 有三个div <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>JS Bin</title> </head> <body> <div id="test"> <div class="child">1</div> <d ...
转载
2021-10-25 14:06:00
47阅读
2评论
摘自并整理:http://www.voidcn.com/article/p-acjqpctj-oc.html
转载
2021-08-06 09:27:00
238阅读
1.什么是rpcRPC全称为Remote Procedure Call,翻译过来为“远程过程调用”。目前,主流的平台中都支持各种远程调用技术,以满足分布式系统架构中不同的系统之间的远程通信和相互调用。远程调用的应用场景极其广泛,实现的方式也各式各样。2.从通信协议的层面基于HTTP协议的(例如基于文本的SOAP(XML)、Rest(JSON),基于二进制Hessian(Binary)) 基于TCP
函数功能描述:该函数用来读取指定进程的空间的数据,此空间必须是可以访问的,否则读取操作会失败! 函数原型 BOOL ReadProcessMemory(
HANDLE hProcess, // 目标进程句柄
LPCVOID lpBaseAddress,
// 读取数据的起始地址
LPVOID lpBuffer, // 存
转载
2024-09-27 10:05:17
125阅读
# 如何在MySQL中实现自关联
在数据库设计中,有时候需要在同一表中建立关联,即自关联。自关联可以用于表示层级关系、树状结构等。MySQL中实现自关联可以通过外键来实现,下面我们将详细讨论如何在MySQL中实现自关联,并以一个具体的例子来说明。
## 实际问题
假设我们有一个`employee`表,每个员工的信息包括员工ID、姓名和上级领导的ID。我们需要设计这个表,并实现员工和领导之间的
原创
2024-06-15 05:11:25
130阅读