自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(190)
  • 资源 (1)
  • 收藏
  • 关注

原创 VMMap 查看 Process Address Space

使用 VMMap 查看进程地址空间分配VMMapVMMap is a process virtual and physical memory analysis utility.It shows a breakdown of aprocess's committed virtual memory types as well as theamount of physical memory (working set) assigned by the operating system to those ty

2020-11-26 14:36:39 8

原创 如何升级 package.json 中的所有依赖?

1. 更换 npm 的 registry(非必须)npm config set registry https://registry.npm.taobao.org// 配置后可通过下面方式来验证是否成功npm config get registry使用 npm-check-updates 检查所有可升级的依赖npm install -g npm-check-updatesncu -unpm installReferencesupdate-npm-dependencies...

2020-11-23 14:13:03 10

原创 制作 Docker 镜像

通过实例来创建一个Nginx 应用镜像,理解创建镜像步骤。准备好以下文件root@aliyun:example# tree ..├── Dockerfile└── index.html0 directories, 2 filesDockerfile 文件base imagesAll Docker images start from a base image.A base image is the same images from the Docker Registry which

2020-11-07 10:55:00 20

原创 Docker container 是啥?

Containers are just normal Linux Processes with additional configuration applied.容器只是有附加配置的 Linux 进程。以 redis:alpine 镜像为例docker run 运行一个容器$ docker run -d --name=db redis:alpine # --name 指定容器名称$ docker imagesREPOSITORY TAG IM.

2020-10-31 16:56:47 18

原创 Docker image 是啥?

A container image is a tarfile containing tar files.Each of the tar file is a layer.Once all tar files have been extract into the same location then you have the container’s filesystem.容器镜像就是一个 tar 文件集合。每一个 tar 文件就是一层。以 MySQL5.7 的镜像为例探析docker pull .

2020-10-31 11:11:20 120

原创 Linux 查看支持的 File System

/proc/filesystemroot@aliyun:l# cat /proc/filesystemsnodev sysfsnodev rootfsnodev ramfsnodev bdevnodev procnodev cpusetnodev cgroupnodev cgroup2nodev tmpfsnodev devtmpfsnodev configfsnodev debugfsnodev tracefsnodev

2020-10-23 09:07:30 14

原创 InnoDB-Rowformat-Compact 图解

测试表mysql> show create table keys_order\G*************************** 1. row *************************** Table: keys_orderCreate Table: CREATE TABLE `keys_order` ( `id` int(11) NOT NULL, `name` varchar(10) NOT NULL, `age` int(11) DEFAULT N

2020-10-20 13:46:44 16

原创 Linux - process IDs, parent process IDs, process group IDs and session IDs 之间的关系

实验环境Kernel Version: 4.15.0-109-genericOperating System: Ubuntu 18.04.5 LTSOSType: linuxArchitecture: x86_64gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0概述Before looking at the Linux implementation, first a general Unix description of threads, processes

2020-10-12 16:14:15 20

原创 sql 内连接和外连接

测试表t1 表mysql> show create table t1\G*************************** 1. row *************************** Table: t1Create Table: CREATE TABLE `t1` ( `m1` int(11) DEFAULT NULL, `n1` char(1) DEFAULT NULL) ENGINE=InnoDB DEFAULT CHARSET=latin11 ro

2020-10-11 13:08:51 405

原创 mysql-单表访问方法(访问类型)

测试表mysql> show create table single_table\G*************************** 1. row *************************** Table: single_tableCreate Table: CREATE TABLE `single_table` ( `id` int(11) NOT NULL AUTO_INCREMENT, `key1` varchar(100) DEFAULT NULL,

2020-10-07 19:49:14 38 1

原创 ubuntu-apt 获取 coreutils 源代码

编辑 /etc/apt/sources.list# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to# newer versions of the distribution.deb http://mirrors.cloud.aliyuncs.com/ubuntu/ bionic maindeb-src http://mirrors.cloud.aliyuncs.com/ubuntu/ bionic main

2020-09-22 13:45:57 84

原创 Linux-查看是哪一个发行版?

root@aliyun:~# ls /etc/*release/etc/lsb-release /etc/os-releaseroot@aliyun:~# cat /etc/lsb-releaseDISTRIB_ID=UbuntuDISTRIB_RELEASE=18.04DISTRIB_CODENAME=bionicDISTRIB_DESCRIPTION="Ubuntu 18.04.5 LTS"root@aliyun:~# cat /etc/os-releaseNAME="Ubuntu

2020-09-22 12:53:48 52

原创 MySQL InnoDB 变长列实际使用的字节数到底用几个 Bytes 表示?

max row sizeMariaDB enforces a 65,535 byte limit on a table's maximum row size. The total size of a table's BLOB and TEXT columns do not count towards this limit. Only the pointers for a table’s BLOB and TEXT columns count towards this limit. MariaDB enf

2020-09-10 13:50:02 64

原创 Linux - cpuid 命令查看 TLB 信息

查看 TLB 信息方法1root@aliyun:~# cpuid | grep -i tlb cache and TLB information (2): 0x63: data TLB: 1G pages, 4-way, 4 entries # 数据 0x03: data TLB: 4K pages, 4-way, 64 entries # 数据 0x76: instruction TLB: 2M/4M pages, fully, 8 entries # 指令

2020-09-10 09:23:08 65

原创 浅拷贝 vs 深拷贝

2020-09-08 14:47:08 20

原创 Shell 脚本 2>&1 是咋回事?

I/O redirectionstandard outputroot@aliyun:~# cat foobar # 标准输出流默认绑定的是显示器root@aliyun:~# cat foo > output.txt #把标准输出流重定向到 output.txt 这个文件,不在屏幕上显示。root@aliyun:~# cat output.txtbarstandard errorroot@aliyun:~# cat nonexist.txt > output.txtcat:

2020-09-08 09:53:16 37

原创 wget-理解 HTTP 请求大致过程

root@aliyun:~# wget http://www.zhihu.com--2020-08-28 08:36:22-- http://www.zhihu.com/Resolving www.zhihu.com (www.zhihu.com)... 42.81.92.60, 42.81.85.241Connecting to www.zhihu.com (www.zhihu.com)|42.81.92.60|:80... connected.HTTP request sent, awaiti

2020-08-28 15:09:17 92

原创 一次系统调用耗用时长

实验环境Kernel Version: 4.15.0-66-generic Operating System: Ubuntu 18.04.4 LTS OSType: linux Architecture: x86_64 CPUs: 1 Total Memory: 1.947GiB测试代码创建一个 1M 的文件dd if=/dev/zero of=in.txt bs=1M count=1系统调用测试代码#include <fcntl.h> #include <s

2020-08-09 16:48:53 74

原创 fork-exec-wait 理解重定向

fork 和 exec 分离可知 fork 和 exec 分离,中间过程可以做一些事情。重定向和管道都是在 fork 和 exec 之间做手脚的。重定向#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <string.h>#include <fcntl.h>#include <sys/wait.h>int main(int argc,

2020-08-09 10:53:54 43

原创 Java - IO - InputStream 装饰器模式

InputStream 总结ReferenceJava IO InputStream 装饰器模式pipedInputStream/PipeOutputStream

2020-08-06 10:37:46 42

原创 Linux 查看 CPU 和 Cache 信息

lscpu 命令查看root@aliyun:cache# lscpuArchitecture: x86_64CPU op-mode(s): 32-bit, 64-bitByte Order: Little EndianCPU(s): 1On-line CPU(s) list: 0Thread(s) per core: 1Core(s) per socket: 1Socket(s): 1NUMA n

2020-07-30 15:50:47 110

原创 Web Driver 是啥?

从 JVM 的视角来比对 Web Driver怎样才能为 Chrome、Firefox、IE 这些不同浏览器写自动化的测试代码呢?向上抽象出 Web Driver 这个接口。不同的浏览器各自实现 Web Driver 这个接口。这样就可以写出所谓跨浏览器的测试代码了。ReferenceMDN Web DriverBirth of Web Dirver...

2020-07-27 15:15:19 33

原创 Java-interface-jvm 层面的实现探析

Java 多态 JVM 层面实现 只是解析了类,本篇探析 interface 层面的实现。测试代码interface Eatpackage com.example.demo.invokeinterface;public interface Eat { void eat();}interface Flypackage com.example.demo.invokeinterface;public interface Fly { void fly();}implement

2020-07-22 20:30:54 39

原创 mysql-乱码问题

彻底解决 Mysql 乱码彻底解决 MySQL 中的乱码问题 下图是此文的阅读总结。图解分析涉及到编码的部分终端的编码操作系统使用的编码mysql 数据库使用的一系列编码。不同操作系统终端处理字符方法不同。Reference彻底解决 MySQL 中的乱码问题...

2020-07-06 13:50:17 66

原创 Linux 查看 memory info

通过 meminfo 文件查看root@aliyun:~# ll -h /proc/meminfo-r--r--r-- 1 root root 0 Jun 18 14:11 /proc/meminfo 注意这个内存文件大小为 0root@aliyun:~# cat /proc/meminfoMemTotal: 2041256 kB # 1093M $$$ total MemFree: 221828 kB # 216M

2020-06-18 19:13:10 161

原创 ssh 登录报错 packet_write_wait: Connection to x.x.x.x port 22: Broken pipe

用 fio 测试阿里云的硬盘,结果不知咋回事,把操作系统给整坏了。没办法,只好重置系统。又得配置一大堆软件。又遇到了 ssh Broken pipe 问题。需要修改配置。ssh 双向通信,可以进行 ssh client 配置,ssh server 配置,也可以单独配置某一个 ssh 连接。3 种配置方式法1 配置 ssh server 的 sshd_configClientAliveInterval 6000 添加到 /etc/ssh/sshd_config 末尾法2 配置 ssh client

2020-06-15 14:05:07 88

原创 ubuntu 安装mysql5.7 允许远程连接

使用默认的用户和密码查看 /etc/mysql/debian.cnf# Automatically generated for Debian scripts. DO NOT TOUCH![client]host = localhostuser = debian-sys-maintpassword = yNcxf43lFP3PNPOGsocket = /var/run/mysqld/mysqld.sock[mysql_upgrade]host = localh

2020-06-14 21:09:47 88

原创 x86 架构的计算机如何启动的
原力计划

—title: asm-how-computer-startupdate: 2020-06-08 08:09:12tags: [“asm”,“x86”]—x86 架构计算机是如何启动的?16-bit Processors and Segmentation (1978)The IA-32 architecture family was preceded by 16-bit processors, the 8086 and 8088. The 8086 has 16-bit registers and

2020-06-09 16:35:33 71

原创 Java 运行时多态在 jvm 层面的实现
原力计划

实验环境Window 10java version “1.8.0_191”Java™ SE Runtime Environment (build 1.8.0_191-b12)Java HotSpot™ 64-Bit Server VM (build 25.191-b12, mixed mode)jvm 探测工具Serviceability Agent 使用简介在此。需要先掌握这个工具的使用。sa-jdi.jar 在 C:\Program Files\Java\jdk1.8.0_191\lib

2020-05-30 18:17:58 87

原创 shell-login-session-环境设置流程

shell 登陆型 session, 也就是需要输入 user name 和 password 的 session。起因:最近在看 zookeeper bin 下的一系列 shell 脚本。发现还真有好多东西值得琢磨的。login shell 使用哪些配置文件?一定会使用 /etc/profile 和 /etc/profile.d(这个文件夹有一系列 shell 脚本)如上图一共有三种情况:当前用户 Home 目录找到了 .bash_profile,至此结束。不会执行 2 或者 3。找不到 .

2020-05-29 22:40:19 69

原创 shell-bash-directory-stack

change directorycd - 切换到上一个目录。directory stack目录堆栈默认值有当前目录。pushdpushd dirpath 将目录 push 到目录栈,并切换到该目录。栈顶到栈底编号从 0 开始。栈底到栈顶编号从 -0 开始。pushd +2 将从栈顶开始编号为 2 的 directory path 移到栈顶pushd -2 将从栈底开始编号为 -2 的 directory path 移到栈顶popdpopd 将目录栈顶元素出栈。并切换到栈顶目录。p

2020-05-23 12:50:21 48

原创 chroot 实践

chroot - run command or interactive shell with special root directory以制作一个只有 bash 和 ls 两条命令的隔离环境为例。实践环境 Aliyun ubuntu18.04制作一个 chroot 隔离环境创建一个 new root, 并切换到 jail 目录mkdir jailcd jail在 jail 下创建 bin 目录mkdir bin复制 bin 和 bash 到 jail/bincp -v /bin/.

2020-05-21 10:29:41 60

原创 mysql 连接服务器 ERROR 2002 (HY000)

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111)软件环境ubuntu18.04,mysql5.7起因用 mysqld --default-storage-engine=MyISAM 的方式启动 mysql server。之后用 mysql -uroot -p 登录时出现的错误。错误原因分析经检查 var/run 下并没有 mysqld

2020-05-20 15:37:05 68

原创 win10下 mysql5.7 忘记 root 密码?

这里只记录一种修改的方法。借助 mysql 中的 user 表,来修改。mysql.ini 添加 skip-grant-tables此文件在 C:\ProgramData\MySQL\MySQL Server 5.7启动 mysql servernet start mysql57免密码登录mysql -uroot -p 直接 enteruse mysql;update user set authentication_string=password(‘root’) where user=‘

2020-05-19 20:26:30 78

原创 os-银行家算法
原力计划

银行家算法是什么银行家主要就是通过放贷来赚钱的。那最重要的问题是啥?当然是把钱借给还得起的人咯。试想,银行把钱都借给了还不起的人,那银行就完蛋了。假设有一批人(多个进程)来借钱(将要申请资源),但是银行剩下的钱满足不了任何人,那就直接拒绝借贷。当然了,有一部分已经借出的钱回收之后(回收已经分配的资源),又可以满足一批人中某些人的借贷需求。依次类推,可以银行判定能不能按照某个顺序来给这批人放贷。类似的思路延伸到计算机世界,同理。操作系统给多个进程分配资源,能不能找到一个顺序给这些进程分配资源,并逐渐回收资源

2020-05-13 19:52:13 82

原创 compare and swap ABA 问题和解决方案

CAS ABA 问题图解如上图所示三个线程 T1,T2,T3 更新内存中的值 V。具体执行时刻沿着时间线。T1,T2 同时读取到内存中的值 V,保存到线程私有变量 A 此时 A的值为 100。T1 线程的 A = 100 (也就是当前线程私有保存的 V 的一份拷贝),计算 B = A - 100, 此时比较 A 和 V 相等,将 V 的值更新为 50。T2 被阻塞。T3 读取到 V ...

2020-05-07 11:51:11 96

原创 mysql-索引的创建和删除

MySQL InnoDB 存储引擎会为 primary key 和 unique 列自动创建 B+ 树索引。这两个列无须手动创建索引。索引的添加创建表时指定create table test_demo( id int, name varchar(10), age int, address varchar(50), primary key(id...

2020-04-27 15:29:28 43

原创 python-mysql-为数据库生成测试数据

测试表create table single_table ( id int not null auto_increment, key1 varchar(100), key2 int, key3 varchar(100), key_part1 varchar(100), key_part2 varchar(100), key_part3 va...

2020-03-13 16:00:35 142

原创 VS Code 个人设置

系统级别的设置File => Preferences => Settingswindow.zoom.level 设置缩放级别, 放大导航栏以及editor设置自动保存

2019-12-02 13:58:19 99

原创 python 提取 Excel 特定列 - 带界面

需求 :一个Excel有多个列,需要提取部分的列.生成一个新的Excelpython依赖tkinter,pandas# -*- coding: UTF-8 -*-import tkinter as tkfrom tkinter import filedialog, RIGHT, Scrollbar, Y, LEFTfrom os import walkim...

2019-11-29 14:49:06 1053

the rotation of AVL tree

avl tree 中的各种旋转

2016-08-23

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除