深入浅出 MachO
作者:evilpan原文链接:https://evilpan.com/2020/09/06/macho-inside-out/之前写了一篇深入浅出ELF,作为姊妹篇这次就来聊聊MacOS的可执行文件格式MachO。Mach-O 101在之前的文章中我们说过,可执行文件的使命有两个,一是方便开发者在编译、链接时提供可扩展的封装结构;二是在执行时能给操作系统(内核)提供内...
2024-01-1004.深入浅出索引(上)
简单来说,索引的出现就是为了提高数据查询效率,就像书的目录一样。索引的常见模型索引实现的方式有很多种,所以这里就引入了索引模型的概念,可以用于提高读写效率的数据结构很多,比较常见的数据结果有以下三种:哈希表、有序数组和搜索树。哈希表是一种以键值存储数据的结构,...
2024-01-1005.深入浅出索引(下)
在下面这个表T中,如果我们执行select * from T where k between 3 and 5,需要执行几次树的搜索操作,会扫描多少行?mysql> create table T ( id int primary key, k int not null default 0, name varchar(16) default "", index (k)) engine=InnoDB;mysql>insert into T values(100,1,"aa"),(200,2,"bb"),...
2024-01-10深入浅出学 Vue 开发
课程介绍前端技术日新月异,每一种新的思想出现,都代表了一种技术的跃进、架构的变化,那么对于目前的前端技术而言,MVVM 的思想已经可以代表当今前端领域的前沿思想理念,Angular、React、...
2024-01-10深入浅出Sqoop之迁移过程源码分析
【摘要】Sqoop是一种用于在Apache Hadoop和结构化数据存储(如关系数据库)之间高效传输批量数据的工具 。本文将简单介绍Sqoop作业执行时相关的类及方法,并将该过程与MapReduce的执行结合,分析数据如何从源端迁移到目的端。Sqoop作业执行过程抛开MR的执行过程,Sqoop执行时用到的关键类总共有5个...
2024-01-10DOM 事件的深入浅出(一)
在项目开发时,我们时常需要考虑用户在使用产品时产生的各种各样的交互事件,比如鼠标点击事件、敲击键盘事件等。这样的事件行为都是前端DOM事件的组成部分,不同的DOM事件会有不同的触发条件和触发效果。本文就将带大家深入浅出地了解DOM事件的那些属性和方法。首先在介绍DOM事件之前我们...
2024-01-10【JS】深入浅出浏览器渲染原理
前言浏览器的内核是指支持浏览器运行的最核心的程序,分为两个部分的,一是渲染引擎,另一个是JS引擎。渲染引擎在不同的浏览器中也不是都相同的。目前市面上常见的浏览器内核可以分为这四种:Trident(IE)、Gecko(火狐)、Blink(Chrome、Opera)、Webkit(Safari)。这里面大家最耳熟能详的可能就是 ...
2024-01-10深入浅出理解PHP原理之变量赋值
PHP的变量赋值这个标题估计很多人会不屑一顾,变量赋值?excuse me?我们学开发的第一课就会了好不好。但是,就是这样基础的东西,反而会让很多人蒙圈,比如,值和引用的关系。今天,我们就来具体讲讲。首先,定义变量和赋值这个不用多说了吧$a = 1;$b = '2';$c = [4, 5, 6];$d = new stdClass();四...
2024-01-108分钟带你深入浅出搞懂NGINX
NGINX是一款轻量级的Web服务器、反向代理服务器,由于它的内存占用少,启动极快,高并发能力强,在互联网项目中广泛应用。 架构图 上图基本上说明了当下流行的技术架构,其中NGINX有点入口网关的味道。 反向代理服务器? 经常听人说到一些术语,如反向代理,那么什么是反向代...
2024-01-10跑马灯带你深入浅出TextView的源码世界
一、背景想必大家平时也没那么多时间是单独看源码,又或者只是单纯的看源码遇到问题还是不知道怎么从源码的角度解决。但是大家平时开发过程中肯定会遇到这样或那样的小问题,通过百度、Google搜索都无果,想尝试分析源码又不知道从什么地方开始分析起,导致最终放弃。本篇文章就是通过一个小...
2024-01-10深入浅析SSH的三个组件ssh、sftp、scp
SSH 包含3个组件 (1) ssh 远程登录节点 : ssh 用户名@IP地址 ① 不允许空密码或错误密码认证登录 ② 不允许root用户登录 ③ 有两个版本 ssh,ssh2安全性更高 (2) sftp 文件共享连接 , xftp连接就是 sftp实现的 (3)scp 文件拷贝共享 scp命令 :两节点文件的拷贝...
2024-01-10PostgreSQLVACUUM之深入浅出(二)
AUTOVACUUMAUTOVACUUM 简介PostgreSQL 提供了 AUTOVACUUM 的机制。autovacuum 不仅会自动进行 VACUUM,也会自动进行 ANALYZE,以分析统计信息用于执行计划。在 postgresql.conf 中,autovacuum 参数已默认打开。autovacuum = onautovacuum 打开后,会有一个 autovacuum launcher 进程$ ps -ef|grep postgres|grep autovacuum|grep -v grepp...
2024-01-10PostgreSQLVACUUM之深入浅出(一)
前言VACUUM 是 PostgreSQL MVCC (Multiversion concurrency control) 实现的核心机制之一,是 PostgreSQL 正常运行的重要保证。本文将通过实例演示 PostgreSQL 为什么需要做 VACUUM,以及一步一步精准触发 AUTOVACUUM, 到 VACUUM 优化实战,深入浅出,一看就懂。测试环境准备以下测试是在 PostgreSQL 11 中进行。通过以下 SQL 创...
2024-01-10PostgreSQLVACUUM之深入浅出(四)
VACUUM 参数优化上面已经介绍过了以下设置表级 AUTOVACUUM 相关参数和 autovacuum_max_workers:ALTER TABLE pgbench_accounts SET (autovacuum_vacuum_scale_factor = 0.1, autovacuum_vacuum_threshold = 2000);ALTER TABLE pgbench_accounts SET (autovacuum_analyze_scale_factor = 0.05, autovacu...
2024-01-10PostgreSQLVACUUM之深入浅出(三)
VACUUM 相关参数对 VACUUM 有了一定的了解之后,下面系统介绍下 VACUUM 相关参数。VACUUM 相关参数主要分为三大类。第一类 与资源相关参数#-----------------------------# RESOURCE USAGE (except WAL)#-----------------------------# - Memory -#maintenance_work_mem = 64MB # min 1MB#autovacuum_work_mem = -1 ...
2024-01-10PostgreSQLVACUUM之深入浅出(五)
AUTOVACUUM to prevent wraparoundautovacuum_freeze_max_age 是 AUTOVACUUM 最不常用的参数,也基本不需要优化,但却是 AUTOVACUUM 最重要的一个参数,因为它与 wraparound 有关,即使 AUTOVACUUM 关闭,达到这个阈值,也会强制触发 AUTOVACUUM ,可见它有多重要。#autovacuum_freeze_max_age = 200000000 # maximum XID age before forced va...
2024-01-10深入浅出Java mvc_动力节点Java学院整理
在DRP中终于接触到了MVC,感触是确实这样的架构系统灵活性不少,现在感触最深的就是使用tomcat作为服务器发布比IIS好多了,起码发布很简单,使用起来方便。首先来简单的学习一下MVC的基础知识,MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种...
2024-01-10深入浅出理解HashMap1.8源码设计思想&手写HashMapV1.0
深入浅出学Java——HashMap哈希表(hash table) 也叫散列表,是一种非常重要的数据结构,应用场景及其丰富,许多缓存技术(比如memcached)的核心其实就是在内存中维护一张大的哈希表,本文会对java集合框架中HashMap的实现原理进行讲解。一、什么是哈希表在讨论哈希表之前,我们先大概了解下其他...
2024-01-10浅谈C++ 设计模式的基本原则
先上银行类案例代码如下:#include<iostream> using namespace std; class BankWorker { public: void save() { cout << "存款" << endl; } void moveM() { cout << "取款" << endl; } void jiaofei() { cout << "缴费" << endl; ...
2024-01-10深入解析C++编程中对设计模式中的策略模式的运用
策略模式也是一种非常常用的设计模式,而且也不复杂。下面我们就来看看这种模式。定义:策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。角色: 抽象策略角色(Strategy): 抽象策略类。 具体策...
2024-01-10深入浅出es6模板字符串
本文主要介绍了深入浅出es6模板字符串,分享给大家,具体如下作为前端开发者避免不了根据后台数据的返回,组装html,渲染页面。举个栗子$('#result').append( 'There are <b>' + basket.count + '</b> ' + 'items in your basket, ' + '<em>' + basket.onSale + '</em> are on sale!');有时候还要给标签加一些属性,写起来很不方便...
2024-01-10深入浅出Vue基于“依赖收集”的响应式原理(转)
add by zhj: 文章写的很通俗易懂,明白了Object.defineProperty的用法原文:https://zhuanlan.zhihu.com/p/29318017每当问到VueJS响应式原理,大家可能都会脱口而出“Vue通过Object.defineProperty方法把data对象的全部属性转化成getter/setter,当属性被访问或修改时通知变化”。然而,其内部深层的响应式原理可能很多人都没...
2024-01-10深入解析设计模式中的适配器模式在C++中的运用
适配器模式属于结构型的设计模式,它是结构型设计模式之首(用的最多的结构型设计模式)。适配器设计模式也并不复杂,适配器它是主要作用是将一个类的接口转换成客户希望的另外一个接口这样使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。适配器模式有两种:1.类的适配器 2....
2024-01-10深入解析C++设计模式编程中解释器模式的运用
解释器模式(interpreter),给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。解释器模式需要解决的是,如果一种特定类型的问题发生的频率足够高,那么可能就值得将该问题的各个实例表述为一个简单语言中的句子。这样就可以构建一个解释...
2024-01-10钉钉深色模式和浅色模式在哪? 钉钉设置浅色模式的技巧
钉钉怎样开启浅色模式呢?我们可以选择深色模式和浅色模式,该怎么选择呢?下面我们就来看看详细的教程。阿里钉钉手机版 6.0.12 官方安卓版类型:社交聊天大小:118MB语言:简体中文时间:2021-04-19查看详情首先,点击钉钉的图标打开软件。点击页面左上角的头像图标。点击侧边栏菜单中的设...
2024-01-10JAVA几种设计模式 浅谈并概括
(1)简单工厂模式: 概括:“类工厂”通过“反射机制”生产“产品接口的具体实现产品类” 具体:造车厂 造 汽车(implements for 车) 关键:与普通模式相比,引入了 “产品是由工厂生产的”...
2024-01-10C++中的继承模式深入详解
前言继承是OOP设计中的重要概念。在C++语言中,派生类继承基类有三种继承方式:私有继承(private)、保护继承(protected)和公有继承(public)。一、继承规则继承是C++中的重要特性,派生类可以访问基类中的protected和public成员先上代码:#include<iostream>using namespace std;class Base{ private: void fu...
2024-01-10