【nodejs 源码解读】【threejs舞台源码】【查找jvm源码】q绑查询反查源码_q绑查询系统源码

2024-11-07 20:35:40 来源:牛魔王 捕鱼源码 分类:焦点

1.idea格式化代码设置(idea的绑q绑格式化)
2.windows系统文件中各种扩展名分别是什么意思?
3.深入分析redis之listpack,取代ziplist?查询查询

q绑查询反查源码_q绑查询系统源码

idea格式化代码设置(idea的格式化)

       1. idea的格式化

       代码保存成文件 需要经过预处理,编译,反查汇编,源码源码链接

       一:预处理

       预处理主要是系统处理源代码中以#开始的预编译指令,比如#include,#define

       将所有的#define删除,展开宏定义

       处理所有的绑q绑nodejs 源码解读条件编译指令#if,#ifdef,#elif,#else,#endif

       处理#include预编译指令,将被包含的查询查询头文件插入该预编译指令的位置,是反查个递归的过程

       删除所有的注释 //与/**/

       添加行号与文件名表示,用于调试符号与编译错误或警告报错

       保留#pragma编译指令,源码源码改指令 编译器需要使用

       二:编译

       编译过程就是系统把预编译生成的文件进行一系列词法分析(也叫扫描),语法分析,绑q绑语义分析,查询查询源代码优化,反查汇编代码生成,源码源码目标代码优化

       词法分析:根据分隔符,系统将代码分割成一系列的记号

       比如: int a = (a+3)*(2+5);

       将会 变成以下记号: int,a,=,(,a,+,3,),(,2,+,5,)

       词法分析产生的记号可以分为:关键字,标识符,字面量(数字,字符串,即常量),特殊符号(加号,等号等),在识别记号时,会将标识符放入符号表,字面量放入文字表

       语法分析:根据记号进行语法分析,产生语法树,整个分析过程采用上下文无关语法(语法树就是以表达式为节点的树),仅仅是完成对表达式的语法层面进行分析

       语义分析:语义分析对语法树中的表达式标识类型,对于类型不匹配,编译器将会报错,如果有些类型需要做隐式转换,将会在语法树中插入对应的节点

       源代码优化生成汇编代码:int a = (a+3)*(2+5); 将会被优化为int a = (a+3)*(7)

       三:汇编

       汇编即根据汇编指令翻译为机器指令

       四:链接

       链接主要包含 地址和空间分配,符号决议,重定位

       2. idea如何调整代码格式

       java源代码是txt格式的.java文件,用记事本就可以打开。 用eclipse打开java文件的方式是: 如果java文件是一个eclipse工程(根目录带有.project文件),用file/import/general/exist java project/(大概是)然后找到你的目录。 否则需要自己新建一个工程file/new/java project 然后把java文件拷贝到.src目录下。

       .class文件是直接的编译好的文件,可以用jad把.class文件反编译成java文件,不过反编译的threejs舞台源码代码和原来的代码不一定完全一样。

       3. idea中如何格式化代码

       IntelliJ Idea 常用快捷键列表

       Alt+Insert,可以新建文件、生成构造器、生成Getter/Setter等

       Shift+F6,重构 – 重命名

       Ctrl+X,剪切行

       Ctrl+D,复制行

       Ctrl+Alt+V,可以引入变量。例如:new String(); 自动导入变量定义

       Ctrl+P,可以显示参数信息

       Ctrl+F,可以显示当前文件的结构

       Ctrl+Alt+T,可以把代码包在一个块内,例如:try/catch

       Ctrl+Alt+L,格式化代码

       Ctrl+Alt+O,优化导入的类和包

       Ctrl+Shift+Space,自动补全代码

       Ctrl+空格,代码提示(与系统输入法快捷键冲突)

       Alt+Shift+Up/Down,上/下移一行

       Ctrl+/或Ctrl+Shift+/,注释(//或者/**/)

       Ctrl+J,自动代码(例如:serr)

       Ctrl+H,显示类结构图(类的继承层次)

       Ctrl+Q,显示注释文档

       Alt+F1,查找代码所在位置

       Alt+1,快速打开或隐藏工程面板

       Ctrl+Alt+left/right,返回至上次浏览的位置

       Alt+left/right,切换代码视图

       Alt+Up/Down,在方法间快速移动定位

       Ctrl+Shift+Up/Down,向上/下移动语句

       F2 或 Shift+F2,高亮错误或警告快速定位

       Tab,代码标签输入完成后,按 Tab,生成代码

       Ctrl+Shift+F7,高亮显示所有该文本,按 Esc 高亮消失

       Alt+F3,逐个往下查找相同文本,并高亮显示

       Ctrl+Up/Down,查找jvm源码光标中转到第一行或最后一行下

       Ctrl+B/Ctrl+Click,快速打开光标处的类或方法(跳转到定义处)

       Ctrl+Alt+B,跳转到方法实现处

       Ctrl+Shift+Backspace,跳转到上次编辑的地方

       Ctrl+O,重写方法

       Ctrl+Alt+Space,类名自动完成

       Ctrl+Alt+Up/Down,快速跳转搜索结果

       Ctrl+Shift+J,整合两行

       Alt+F8,计算变量值

       Ctrl+Shift+V,可以将最近使用的剪贴板内容选择插入到文本

       Ctrl+Alt+Shift+V,简单粘贴

       Shift+Esc,不仅可以把焦点移到编辑器上,而且还可以隐藏当前(或最后活动的)工具窗口

       F,把焦点从编辑器移到最近使用的工具窗口

       Shift+F1,要打开编辑器光标字符处使用的类或者方法 Java 文档的浏览器

       Ctrl+W,可以选择单词记忆语句继续行继而函数

       Ctrl+Shift+W,取消选择光标所在词

       Alt+F7,查找整个工程中使用的某一个类、方法或者变量的位置

       Ctrl+I,实现方法

       Ctrl+Shift+U,大小写转化

       Ctrl+Y,删除当前行

       Shift+Enter,向下插入新行

       psvm/sout,main/System.out.println(); Ctrl+J,查看更多

       Ctrl+Shift+F,全局查找

       Ctrl+F,查找/Shift+F3,向上查找/F3,向下查找

       Ctrl+Shift+S,高级搜索

       Ctrl+U,转到父类

       Ctrl+Alt+S,打开设置对话框

       Alt+Shift+Inert,开启/关闭列选择模式

       Ctrl+Alt+Shift+S,打开当前项目/模块属性

       Ctrl+G,定位行

       Alt+Home,跳转到导航栏

       Ctrl+Enter,明帝影视源码上插一行

       Ctrl+Backspace,按单词删除

       Ctrl+”+/-”,当前方法展开、折叠

       Ctrl+Shift+”+/-”,全部展开、折叠

       调试部分、编译

       Ctrl+F2,停止

       Alt+Shift+F9,选择 Debug

       Alt+Shift+F,选择 Run

       Ctrl+Shift+F9,编译

       Ctrl+Shift+F,运行

       Ctrl+Shift+F8,查看断点

       F8,不过

       F7,步入

       Shift+F7,智能步入

       Shift+F8,步出

       Alt+Shift+F8,强制步过

       Alt+Shift+F7,强制步入

       Alt+F9,运行至光标处

       Ctrl+Alt+F9,强制运行至光标处

       F9,恢复程序

       Alt+F,定位到断点

       Ctrl+F8,切换行断点

       Ctrl+F9,生成项目

       Alt+1,项目

       Alt+2,收藏

       Alt+6,TODO

       Alt+7,结构

       Ctrl+Shift+C,复制路径

       Ctrl+Alt+Shift+C,复制引用,必须选择类名

       Ctrl+Alt+Y,同步

       Ctrl+~,快速切换方案(界面外观、代码风格、快捷键映射等菜单)

       Shift+F,源码分析入口还原默认布局

       Ctrl+Shift+F,隐藏/恢复所有窗口

       Ctrl+F4,关闭

       Ctrl+Shift+F4,关闭活动选项卡

       Ctrl+Tab,转到下一个拆分器

       Ctrl+Shift+Tab,转到上一个拆分器

       重构

       Ctrl+Alt+Shift+T,弹出重构菜单

       Shift+F6,重命名

       F6,移动

       F5,复制

       Alt+Delete,安全删除

       Ctrl+Alt+N,内联

       查找

       Ctrl+F,查找

       Ctrl+R,替换

       F3,查找下一个

       Shift+F3,查找上一个

       Ctrl+Shift+F,在路径中查找

       Ctrl+Shift+R,在路径中替换

       Ctrl+Shift+S,搜索结构

       Ctrl+Shift+M,替换结构

       Alt+F7,查找用法

       Ctrl+Alt+F7,显示用法

       Ctrl+F7,在文件中查找用法

       Ctrl+Shift+F7,在文件中高亮显示用法

       4. idea 格式化代码

       1、编辑

       Ctrl + Space 基本的代码完成(类、方法、属性)

       Ctrl + Alt + Space 快速导入任意类

       Ctrl + Shift + Enter 语句完成

       Ctrl + P 参数信息(在方法中调用参数)

       Ctrl + Q 快速查看文档

       F1 外部文档

       Shift + F1 外部文档,进入web文档主页

       Ctrl + Shift + Z --> Redo 重做

       Ctrl + 鼠标 简介/进入代码定义

       Ctrl + F1 显示错误描述或警告信息

       Alt + Insert 自动生成代码

       Ctrl + O 重新方法

       Ctrl + Alt + T 选中

       Ctrl + / 行注释/取消行注释

       Ctrl + Shift + / 块注释

       Ctrl + W 选中增加的代码块

       Ctrl + Shift + W 回到之前状态

       Ctrl + Shift + ]/[ 选定代码块结束、开始

       Alt + Enter 快速修正

       Ctrl + Alt + L 代码格式化

       Ctrl + Alt + O 优化导入

       Ctrl + Alt + I 自动缩进

       Tab / Shift + Tab 缩进、不缩进当前行

       Ctrl+X/Shift+Delete 剪切当前行或选定的代码块到剪贴板

       Ctrl+C/Ctrl+Insert 复制当前行或选定的代码块到剪贴板

       Ctrl+V/Shift+Insert 从剪贴板粘贴

       Ctrl + Shift + V 从最近的缓冲区粘贴

       Ctrl + D 复制选定的区域或行

       Ctrl + Y 删除选定的行

       Ctrl + Shift + J 添加智能线

       Ctrl + Enter 智能线切割

       Shift + Enter 另起一行

       Ctrl + Shift + U 在选定的区域或代码块间切换

       Ctrl + Delete 删除到字符结束

       Ctrl + Backspace 删除到字符开始

       Ctrl + Numpad+/- 展开/折叠代码块(当前位置的:函数,注释等)

       Ctrl + shift + Numpad+/- 展开/折叠所有代码块

       Ctrl + F4 关闭运行的选项卡

       2、查找/替换(Search/Replace)

       F3 下一个

       Shift + F3 前一个

       Ctrl + R 替换

       Ctrl + Shift + F 或者连续2次敲击shift 全局查找{ 可以在整个项目中查找某个字符串什么的,如查找某个函数名字符串看之前是怎么使用这个函数的}

       Ctrl + Shift + R 全局替换

       3、运行(Running)

       Alt + Shift + F 运行模式配置

       Alt + Shift + F9 调试模式配置

       Shift + F 运行

       Shift + F9 调试

       Ctrl + Shift + F 运行编辑器配置

       Ctrl + Alt + R 运行manage.py任务

       4、调试(Debugging)

       F8 跳过

       F7 进入

       Shift + F8 退出

       Alt + F9 运行游标

       Alt + F8 验证表达式

       Ctrl + Alt + F8 快速验证表达式

       F9 恢复程序

       Ctrl + F8 断点开关

       Ctrl + Shift + F8 查看断点

       5、导航(Navigation)

       Ctrl + N 跳转到类

       Ctrl + Shift + N 跳转到符号

       Alt + Right/Left 跳转到下一个、前一个编辑的选项卡

       F 回到先前的工具窗口

       Esc 从工具窗口回到编辑窗口

       Shift + Esc 隐藏运行的、最近运行的窗口

       Ctrl + Shift + F4 关闭主动运行的选项卡

       Ctrl + G 查看当前行号、字符号

       Ctrl + E 当前文件弹出,打开最近使用的文件列表

       Ctrl+Alt+Left/Right 后退、前进

       Ctrl+Shift+Backspace 导航到最近编辑区域

       Alt + F1 查找当前文件或标识

       Ctrl+B / Ctrl+Click 跳转到声明

       Ctrl + Alt + B 跳转到实现

       Ctrl + Shift + I 查看快速定义

       Ctrl + Shift + B 跳转到类型声明

       Ctrl + U 跳转到父方法、父类

       Alt + Up/Down 跳转到上一个、下一个方法

       Ctrl + ]/[ 跳转到代码块结束、开始

       Ctrl + F 弹出文件结构

       Ctrl + H 类型层次结构

       Ctrl + Shift + H 方法层次结构

       Ctrl + Alt + H 调用层次结构

       F2 / Shift + F2 下一条、前一条高亮的错误

       F4 / Ctrl + Enter 编辑资源、查看资源

       Alt + Home 显示导航条F书签开关

       Ctrl + Shift + F 书签助记开关

       Ctrl + #[0-9] 跳转到标识的书签

       Shift + F 显示书签

       6、搜索相关(Usage Search)

       Alt + F7/Ctrl + F7 文件中查询用法

       Ctrl + Shift + F7 文件中用法高亮显示

       Ctrl + Alt + F7 显示用法

       7、重构(Refactoring)

       F5复制F6剪切

       Alt + Delete 安全删除

       Shift + F6 重命名

       Ctrl + F6 更改签名

       Ctrl + Alt + N 内联

       Ctrl + Alt + M 提取方法

       Ctrl + Alt + V 提取属性

       Ctrl + Alt + F 提取字段

       Ctrl + Alt + C 提取常量

       Ctrl + Alt + P 提取参数

       8、控制VCS/Local History

       Ctrl + K 提交项目

       Ctrl + T 更新项目

       Alt + Shift + C 查看最近的变化

       Alt + BackQuote(’)VCS 快速弹出

       9、模版(Live Templates)

       Ctrl + Alt + J 当前行使用模版

       Ctrl +J 插入模版

       、基本(General)

       Alt + #[0-9] 打开相应的工具窗口

       Ctrl + Alt + Y 同步

       Ctrl + Shift + F 最大化编辑开关

       Alt + Shift + F 添加到最喜欢

       Alt + Shift + I 根据配置检查当前文件

       Ctrl + BackQuote(’) 快速切换当前计划

       Ctrl + Alt + S 打开设置页

       Ctrl + Shift + A 查找编辑器里所有的动作

       Ctrl + Tab 在窗口间进行切换

       Mac快捷键大全

       Mac键盘符号和修饰键说明

Command

Shift

Option

Control

Return/Enter

Delete

向前删除键(Fn+Delete)

       ↑ 上箭头

       ↓ 下箭头

       ← 左箭头

       → 右箭头

Page Up(Fn+↑)

Page Down(Fn+↓)

       Home Fn + ←

       End Fn + →

右制表符(Tab键)

左制表符(Shift+Tab)

Escape (Esc)

       Editing(编辑)

Space 基本的代码补全(补全任何类、方法、变量)

Space 智能代码补全(过滤器方法列表和变量的预期类型)

自动结束代码,行末自动添加分号

P 显示方法的参数信息

J, Mid. button click 快速查看文档

F1 查看外部文档(在某些代码上会触发打开浏览器显示相关文档)

+鼠标放在代码上 显示代码简要信息

F1 在错误或警告处显示具体描述信息

N, N 生成代码(getter、setter、构造函数、hashCode/equals,toString)

O 覆盖方法(重写父类方法)

I 实现方法(实现接口中的方法)

T 包围代码(使用if.else, try.catch, for, synchronized等包围选中的代码)

/ 注释/取消注释与行注释

/ 注释/取消注释与块注释

↑ 连续选中代码块

↓ 减少当前选中的代码块

Q 显示上下文信息

显示意向动作和快速修复代码

L 格式化代码

O 优化import

I 自动缩进线

/ ? 缩进代码 / 反缩进代码

X 剪切当前行或选定的块到剪贴板

C 复制当前行或选定的块到剪贴板

V 从剪贴板粘贴

V 从最近的缓冲区粘贴

D 复制当前行或选定的块

删除当前行或选定的块的行

J 智能的将代码拼接成一行

智能的拆分拼接的行

开始新的一行

U 大小写切换

] / ?[ 选择直到代码块结束/开始

删除到单词的末尾(?键为Fn+Delete)

删除到单词的开头

+ / ?- 展开 / 折叠代码块

+ 展开所以代码块

- 折叠所有代码块

W 关闭活动的编辑器选项卡

       Search/Replace(查询/替换)

       Double ? 查询任何东西

F 文件内查找

G 查找模式下,向下查找

G 查找模式下,向上查找

R 文件内替换

F 全局查找(根据路径)

R 全局替换(根据路径)

S 查询结构(Ultimate Edition 版专用,需要在Keymap中设置)

M 替换结构(Ultimate Edition 版专用,需要在Keymap中设置)

       Usage Search(使用查询)

F7 / ?F7 在文件中查找用法 / 在类中查找用法

F7 在文件中突出显示的用法

F7 显示用法

       Compile and Run(编译和运行)

F9 编译Project

F9 编译选择的文件、包或模块

R 弹出 Run 的可选择菜单

D 弹出 Debug 的可选择菜单

R 运行

D 调试

R, ?D 从编辑器运行上下文环境配置

       Debugging(调试)

       F8 进入下一步,如果当前行断点是一个方法,则不进入当前方法体内

       F7 进入下一步,如果当前行断点是一个方法,则进入当前方法体内,如果该方法体还有方法,则不会进入该内嵌的方法中

F7 智能步入,断点所在行上有多个方法调用,会弹出进入哪个方法

F8 跳出

F9 运行到光标处,如果光标前有其他断点会进入到该断点

F8 计算表达式(可以更改变量值使其生效)

R 恢复程序运行,如果该断点下面代码还有断点则停在下一个断点上

F8 切换断点(若光标当前行有断点则取消断点,没有则加上断点)

F8 查看断点信息

       Navigation(导航)

O 查找类文件

O 查找所有类型文件、打开文件、打开目录,打开目录需要在输入的内容前面或后面加一个反斜杠/

O 前往指定的变量 / 方法

← / ?→ 左右切换打开的编辑tab页

       F 返回到前一个工具窗口

从工具窗口进入代码文件窗口

隐藏当前或最后一个活动的窗口,且光标进入代码文件窗口

F4 关闭活动run/messages/find/… tab

L 在当前文件跳转到某一行的指定处

E 显示最近打开的文件记录列表

← / ?→ 退回 / 前进到上一个操作的地方

跳转到最后一个编辑的地方

F1 显示当前文件选择目标弹出层,弹出层中有很多目标可以进行选择(如在代码编辑窗口可以选择显示该文件的Finder)

B / ? 鼠标点击 进入光标所在的方法/变量的接口或是定义处

B 跳转到实现处,在某个调用的方法名上使用会跳到具体的实现处,可以跳过接口

Space, ?Y 快速打开光标所在方法、类的定义

B 跳转到类型声明处

U 前往当前光标所在方法的父类的方法 / 接口定义

↓ / ?↑ 当前光标跳转到当前文件的前一个/后一个方法名位置

] / ?[ 移动光标到当前所在代码的花括号开始/结束位置

F 弹出当前文件结构层,可以在弹出的层上直接输入进行筛选(可用于搜索类中的方法)

H 显示当前类的层次结构

H 显示方法层次结构

H 显示调用层次结构

       F2 / ?F2 跳转到下一个/上一个突出错误或警告的位置

       F4 / ?↓ 编辑/查看代码源

Home 显示到当前文件的导航条

       F3选中文件/文件夹/代码行,添加/取消书签

F3 选中文件/文件夹/代码行,使用助记符添加/取消书签

0.9 定位到对应数值的书签位置

F3 显示所有书签

       Refactoring(重构)

       F5 复制文件到指定目录

       F6 移动文件到指定目录

在文件上为安全删除文件,弹出确认框

F6 重命名文件

F6 更改签名

N 一致性

M 将选中的代码提取为方法

V 提取变量

F 提取字段

C 提取常量

P 提取参数

       VCS/Local History(版本控制/本地历史记录)

K 提交代码到版本控制器

T 从版本控制器更新代码

C 查看最近的变更记录

C 快速弹出版本控制器操作面板

       Live Templates(动态代码模板)

J 弹出模板选择窗口,将选定的代码使用动态模板包住

J 插入自定义动态代码模板

       General(通用)

1.9 打开相应编号的工具窗口

S 保存所有

Y 同步、刷新

F 切换全屏模式

F 切换最大化编辑器

F 添加到收藏夹

I 检查当前文件与当前的配置文件

       `§ “ 快速切换当前的scheme(切换主题、代码样式等)

打开IDEA系统设置

打开项目结构对话框

A 查找动作(可设置相关选项)

编辑窗口标签和工具窗口之间切换(如果在切换的过程加按上delete,则是关闭对应选中的窗口)

       Other(一些官方文档上没有体现的快捷键)

8 竖编辑模式

       导航

O 查找类文件 Ctrl + N

O 前往指定的变量 / 方法 Ctrl + Shift + Alt + N

← / ?→ 左右切换打开的编辑tab页Alt←/Alt→

从工具窗口进入代码文件窗口 ESC

L 在当前文件跳转到某一行的指定处 Ctrl + G

E 显示最近打开的文件记录列表 Ctrl + E

←/ ?→退回 / 前进到上一个操作的地方 Ctrl + Alt + ←/Ctrl + Alt + →

跳转到最后一个编辑的地方 ?H 显示当前类的层次结构Ctrl + H

H 显示方法层次结构

H 显示调用层次结构 F4 /

↓ 编辑/查看代码源

U 显示类UML图

J 查看注释

       编辑

删除到单词的末尾(?键为Fn+Delete)

删除到单词的开头

+ /?- 展开 / 折叠代码块

F1 在错误或警告处显示具体描述信息

L 格式化代码

O 优化import

开始新的一行

自动结束代码,行末自动添加分号

I 实现方法(实现接口中的方法)

F6 重命名文件或者变量

N,N 生成代码(getter、setter、构造函数、hashCode/equals,toString)

P 显示方法的参数信息

       查找

       Double? 查找任何东西

F 全局查找(根据路径)

F 文件内查找

G 查找模式下,向下查找

G 查找模式下,向上查找

       导航

B 跳转到接口的实现 ?U 查看接口定义

← /?→ 退回 / 前进到上一个操作的地方

B /? 鼠标点击 进入光标所在的方法/变量的接口或是定义处

B 跳转到类型声明处

Space,Y 快速打开光标所在方法、类的定义

O 查找类文件

O 查找所有类型文件、打开文件、打开目录,打开目录需要在输入的内容前面或后面加一个反斜杠/

       F 返回到前一个工具窗口 ? 从工具窗口进入代码文件窗口

隐藏当前或最后一个活动的窗口,且光标进入代码文件窗口

       F3选中文件/文件夹/代码行,添加/取消书签

F3 选中文件/文件夹/代码行,使用助记符添加/取消书签

0…?9 定位到对应数值的书签位置

F3 显示所有书签

F1 显示当前文件选择目标弹出层,弹出层中有很多目标可以进行选择(如在代码编辑窗口可以选择显示该文件的Finder)

F 弹出当前文件结构层,可以在弹出的层上直接输入进行筛选(可用于搜索类中的方法)

       通用

F 切换全屏模式

       5. idea如何代码格式化

       idea代码全在一行,使用快捷键Ctrl+Alt+L格式化代码,也可以将代码全部复制粘贴到特定的格式化代码网站进行格式化。

       6. idea 格式化代码 配置

       idea eslint可通过点击设置中我的进行自动格式化

       7. 代码格式化 idea

       idea软件是一款专业级的数据恢复软件,idea这款软件算法精湛,功能强大,支持多种情况下的文件丢失,分区丢失恢复,支持文件预览,支持扇区编辑,raid恢复等等高级数据恢复功能,软件功能全面,安全可靠,分区管理创建分区,删除分区,格式化分区等等。

       8. idea设置代码自动格式化

       IDEA的快捷键 Ctrl + Alt + L,就可以格式化SQL

windows系统文件中各种扩展名分别是什么意思?

       常见文件扩展名和它们的说明

       A

       ACE:Ace压缩档案格式

       ACT:Microsoft office助手文件

       AIF,AIFF:音频互交换文件,Silicon Graphic and Macintosh应用程序的声音格式

       ANI:Windows系统中的动画光标

       ARC:LH ARC的压缩档案文件

       ARJ:Robert Jung ARJ压缩包文件

       ASD:Microsoft Word的自动保存文件;Microsoft高级流媒体格式(microsoft advanced streaming

       format,ASF)的描述文件;可用NSREX打开 Velvet Studio例子文件

       ASF:Microsoft高级流媒体格式文件

       ASM:汇编语言源文件,Pro/E装配文件

       ASP:动态网页文件;ProComm Plus安装与连接脚本文件;Astound介绍文件

       AST:Astound多媒体文件;ClarisWorks“助手”文件

       Axx:ARJ压缩文件的分包序号文件,用于将一个大文件压至几个小的压缩包中(xx取-的数字)

       A3L:Authorware 3.x库文件

       A4L:Authorware 4.x库文件

       A5L:Authorware 5.x库文件

       A3M,A4M:Authorware Macintosh未打包文件

       A3W,A4W,A5W:未打包的Authorware Windows文件

       B

       BAK:备份文件

       BAS:BASIC源文件

       BAT:批处理文件

       BIN:二进制文件

       BINHex:苹果的一种编码格式

       BMP:Windows或OS/2位图文件

       BOOK:Adobe FrameMaker Book文件

       BOX:Lotus Notes的邮箱文件

       BPL:Borlard Delph 4打包库

       BSP:Quake图形文件

       BUN:CakeWalk 声音捆绑文件(一种MIDI程序)

       C

       C0l:台风波形文件

       CAB:Microsoft压缩档案文件

       CAD:Softdek的Drafix CAD文件

       CAM:Casio照相机格式

       CAP:压缩音乐文件格式

       CAS:逗号分开的ASCⅡ文件

       CCB:Visual Basic动态按钮配置文件

       CCH:Corel图表文件

       CCO:CyberChat数据文件

       CCT:Macromedia Director Shockwave投影

       CDA:CD音频轨道

       CDF:Microsoft频道定义格式文件

       CDI:Philip的高密盘交互格式

       CDM:Visual dBASE自定义数据模块文件

       CDR:CorelDRAW绘图文件;原始音频CD数据文件

       CDT:CorelDRAW模板

       CDX:CorelDRAW压缩绘图文件;Microsoft Visual FoxPro索引文件

       CFG:配置文件

       CGI:公共网关接口脚本文件

       CGM:计算机图形元文件

       CH:OS/2配置文件

       CHK:由Windows磁盘碎片整理器或磁盘扫描保存的文件碎片

       CHM:编译过的HTML文件

       CHP:Ventura Publisher章节文件

       CHR:字符集(字体文件)

       CHT:ChartViem文件;Harvard Graphics矢量文件

       CIF:Adaptec CD 创建器 CD映像文件

       CIL:Clip Gallery下载包

       CIM:SimCity 文件

       CIN:OS/2改变控制文件用于跟踪INI文件中的变化

       CLASS:Java类文件

       CLP:Windows 剪贴板文件

       CLL:Crick Software Clicker文件

       CLS:Visual Basic类文件

       CMD:Windows NT,OS/2的命令文件;DOSCD/M命令文件;dBASEⅡ程序文件

       CPI:Microsoft MS-DOS代码页信息文件

       CPL:控制面板扩展名,Corel颜色板

       CPP:C++代码文件

       CPR:Corel提供说明书文件

       CPT:Corel 照片-绘画图像

       CST:Macromedia Director Cast文件

       CUR:Windows光标文件

       D

       DBF:dBASE文件,一种由Ashton-Tate创建的格式,可以被ACT!、Lipper、FoxPro、Arago、Wordtech、Xbase和类似数据库或与数据库有关产品识别;可用数据文件(能被Excel

       打开);Oracle8.1.x表格空间文件

       DBX:DataBearn图像;Microsoft Visual FoxPro表格文件

       DCT:Microsoft Visual FoxPro数据库容器

       DCU:Delphi编译单元文件

       DCX:Microsoft Visual FoxPro数据库容器;基于PCX的传真图像;宏

       DIR:MacromediaDirector文件

       DLL:动态链接库

       DOC:FrameMaker或FrameBuilder文档;Word Star文档、Word

       Perfect文档、Microsoft:Word文档;DisplayWrite文档

       DOT:Microsoft Word文档模板

       DPL:BorlandDelph 3压缩库

       DRV:驱动程序

       DRW:Micrografx Designer/Draw;Pro/E绘画文件

       DSF:Micrografx Designer VFX文件

       DSG:DOOM保存的文件

       DSM:Dynamic Studio音乐模块(MOD)文件

       DSP:Microsoft Developer Studio工程文件

       DSQ:Corel QUERY(查询)文件

       DST:刺绣机图形文件

       DSW:Microsoft Developer Studio工作区文件

       DTA:World Bank(世界银行)的STARS数据文件

       DTD:SGML文档类型定义(DTD)文件

       DTED:地面高度数字数据(图形的数据格式)文件

       DTF:Symantec Q&A相关的数据库数据文件

       DTM:DigiTrakker模块文件

       DUN:Microsoft拔号网络导出文件

       DV:数字视频文件(MIME)

       DWG:AutoCAD工程图文件;AutoCAD或Generic CADD老版本的绘图格式

       DXR:Macromedia Director受保护(不可编辑)**文件

       E

       EDA:Ensoniq ASR磁盘映像

       EDD:元素定义文档(FrameMaker+SGML文档)

       EDE:Ensoniq EPS磁盘映像

       EDK:Ensoniq KT磁盘映像

       EDQ:Ensoniq SQ1/SQ2/Ks磁盘映像

       EDS:Ensoniq SQ磁盘映像

       EDV:Ensoniq VFX-SD磁盘映像

       EFA:Ensoniq ASR文件

       EFE:Ensoniq EPS文件

       EFK:Ensoniq KT文件

       EFQ:Ensoniq SQ1/SQ2/Ks文件

       EFS:Ensoniq SQ文件

       EFV:Ensoniq VFX-SD文件

       EMD:ABT扩展模块

       EMF:Windows增强元文件

       EML:Microsoft Outlook Express邮件消息(MIME RTC)文件

       EXE:可执行文件(程序)

       F

       FAV:Microsoft Outlook导航条

       FAX:传真类型图像

       FCD:虚拟CD-ROM

       FDF:Adobe Acrobat表单文档文件

       FLA:Macromedia Flash

**

       FND:Microsoft Explorer保存的搜索文件(Find applet)

       FON:系统字体

       FRT:Microsoft FoxPro报表文件

       FRX:Visual Basic表单文本;Microsoft FoxPro报表文件

       FXP:经Microsoft FoxPro编译的源文件

       G

       GDM:铃声、口哨声和声音板模块格式

       GetRight:GetRight未完成的下载文件

       GHO:Norton 克隆磁盘映像

       GID:Windows 全局索引文件(包括帮助状态)

       GIF:CompuServe位图文件

       GL:动画格式

       GRP:程序管理组

       H

       HEX:Macintosh BinHex2.0文件

       HLP:帮助文件;Date CAD Windows帮助文件

       HPP:C++程序头文件

       HQX:Macintosh BinHex 4.0文件

       HT:HyperTerminal(超级终端)

       HTM,HTML:超文本文档

       HTT:Microsoft超文本模板

       HTX:扩展HTML模板

       I

       ICO:Windows图标

       IDX:Microsoft FoxPro相关数据库索引文件;Symantec Q&A相关数据库索引文件;Microsoft Outlook

       Express文件

       IMG:GEM映像

       INF:信息文件

       INI:初始化文件;Mwave DSP Synth的“nwsynth.ini” GMS安装;Cravis Ultrasound bank安装

       INP:Oracle 3.0版或早期版本的表单源代码

       INRS:INRS远程通信声频

       INS:InstallShield安装脚本;X-Internet签字文件;Ensoniq EPS字簇设备;Cell/ⅡMAC/PC抽样设备

       INT:中间代码,当一个源程序经过语法检查后编译产生一个可执行代码

       IOF:Findit文档

       IQY:Microsoft Internet查询文件

       ISO:根据ISD 有关CD-ROM文件系统标准列出CD-ROM上的文件

       ISP:X-Internet签字文件

       IST:数字跟踪设备文件

       ISU:InstallShield卸装脚本

       IT:脉冲跟踪系统音乐模块(MOD)文件

       ITI:脉冲跟踪系统设备

       ITS:脉冲跟踪系统抽样,Internet文档位置

       IV:Open Inventor中使用的文件格式

       IVD:超过/微观数据维数或变量等级文件

       IVP:超过/的用户子集配置文件

       IVT:超过/表或集合数据文件

       IVX:超过/微数据目录文件

       IW:Idlewild屏幕保护程序

       IWC:Install Watch文档

       J

       J:Ricoh照相机格式

       JAR:Java档案文件(一种用于applet和相关文件的压缩文件)

       JAVA:Java源文件

       JAR:Java档案文件(一种用于applet和相关文件的压缩文件)

       JAVA:Java源文件

       JFF,JFIF,JIF:JPEG文件

       JPE,JPEG,JPG:JPEG图形文件

       JS:javascript源文件

       JSP:HTML网页,其中包含有对一个Java servlet的参考

       K

       KAR:卡拉OK MIDI文件(文本+MIDI)

       L

       LAB:Visual dBASE标签文件

       LBT,LBX:Microsoft FoxPro标签文件

       LDB:Microsoft Access加锁文件

       LHA:LZH更换文件后缀

       LOG:日志文件

       LZH:LH ARC压缩档案

       M

       M1V:MPEG相关文件(MIME"mpeg"类型)

       M3D:Corel Motion 3D动画文件

       M3U:MPEG URL(MIME声音文件)

       MAM:Microsoft Access宏

       MAQ:Microsoft Access查询文件

       MAR:Microsoft Access报表文件

       MBX:Microsoft Outlook保存email格式;Eudora邮箱

       MCW:Microsoft Word的Macintosh文档

       MDB:Microsoft Access数据库

       MDN:Microsoft Access空数据库模板

       MDW:Microsoft Access工作组文件

       MID:MIDI音乐

       MMM:Microsoft多媒体

**

       MOV:QuickTime for Windows

**

       MP2:第二层MPEG音频文件

       MP3:第三层MPEG音频文件

       MPA:MPEG相关文件,MIME“mpeg类型”

       MPE,MPEG,MPG:MPEG动画文件

       MPP:Microsoft工程文件;CAD绘图文件格式

       MPR:Microsoft FoxPro菜单(已编译)

       MSI:Windows 安装器包

       MSN:Microsoft 网络文档;Descent Mission文件

       O

       OBD:Microsoft Office活页夹

       OBJ:对象文件

       OBZ:Microsoft Office活页夹向导

       OCX:Microsoft对象链接与嵌入定制控件

       ODS:Microsoft Outlook Express邮箱文件

       OFT:Microsoft Outlook模板

       OPX:OPL扩展DLL(动态链接库)

       OSS:Microsoft Office查找文件

       OST:Microsoft Exchange / Outlook 离线文件

       P

       PAL:压缩文件

       PART:Go!Zilla部分下载文件

       PAS:Pascal源代码

       PCS:PICS动画文件

       PDF:Adobe Acrobat

       可导出文档格式文件(可用Web浏览器显示);Microsoft系统管理服务器包定义文件;NetWare打印机定义文件

       PHP,PHP3:包含有PHP脚本的HTML网页

       PHTML:包含有PHP脚本的HTML网页;由Perl分析解释的HTML

       PM5:Pagemaker 5.0文件

       PM6:Pagemaker 6.0文件

       PPS:Microsoft Powerpoint幻灯片放映

       PPT:Microsoft Powerpoint演示文稿

       PRF:Windows系统文件,Macromedia导演设置文件

       PSD:Adobe photoshop位图文件

       PSM:Protracker Studio模型格式;Epic游戏的源数据文件

       PST:Microsoft Outlook个人文件夹文件

       PWL:Windows 口令列表文件

       Q

       QIF:QuickTime相关图像(MIME);Quicken导入文件

       QT,QTM:QuickTime

**

       QTI,QTIF:QuickTime相关图像

       QTP:QuickTime优先文件

       QTS:Mac PICT图像文件;QuickTime相关图像

       QTX:QuickTime相关图像

       R

       RA:RealAudio声音文件

       RAM:RealAudio元文件

       RAR:RAR压缩档案(Eugene Roshall格式)

       REC:录音机宏;RapidComm声音文件

       REG:注册表文件

       REP:Visual dBASE报表文件

       RES:Microsoft Visual C++资源文件

       RM:RealAudio视频文件

       RMF:Rich Map格式(3D游戏编辑器使用它来保存图)

       ROM:基于盒式磁带的家庭游戏仿真器文件(来自Atari

       、Colecovision、Sega、Nintendo等盒式磁带里的ROM完全拷贝,在两个仿真器之间不可互修改)

       Rxx:多卷档案上的RAR压缩文件(xx=1~间的一个数字)

       S

       SAV:游戏保存文件

       SB:原始带符号字节(8位)数据

       SBK:Creative Labs的Soundfont 1.0 Bank文件;(Soundb laster)/EMU SonndFont v1.x

       Bank文件

       SBL:Shockwave Flash对象文件

       SCF:Windows Explorer命令文件

       SCH:Microsoft Schedule+1

       SCP:拨号网络脚本文件

       SCR:Windows屏幕保护;传真图像;脚本文件

       SFX:RAR自解压档案

       SHTML:含有服务器端包括(SSI)的HTML文件

       SPL:Shockwave Flash对象;DigiTrakker抽样

       SQL:Informix SQL查询;通常被数据库产品用于SQL查询(脚本、文本、二进制)的文件扩展名

       STM:.shtml的短后缀形式,含有一个服务端包括(SSI)的HTML文件;Scream Tracker V2音乐模块(MOD)文件

       STR:屏幕保护文件

       SWA:在Macromedia导演文件(MP3文件)中的Shockwave声音文件

       SWF:Shockwave Flash对象

       SYS:系统文件

       T

       T:Commodore 仿真器磁带映像文件

       THEME:Windows 桌面主题文件

       TIF,TIFF:标签图像文件格式(TIFF)位图

       TMP:Windows临时文件

       TRM:终端文件

       TXT:ASCⅡ文本格式的声音数据

       TZ:老的压缩格式文件

       V

       VBA:VBase文件

       VBP:Microsoft Visual Basic工程文件

       VBW:Microsoft Visual Basic工作区文件

       VBX:Microsoft Visual Basic用户定制控件

       VQE,VQL:Yamaha Sound-VQ定位器文件

       VQF:Yamaha Sound-VQ文件(可能出现标准)

       VRF:Oracle 7配置文件

       VSL:下载列表文件(GetRight)

       W

       WAB:Microsoft Outlook文件

       WAD:包含有视频、玩家水平和其他信息的DOOM游戏的大文件

       WAL:Quake 2正文文件

       WAV:Windows波形声形

       WBK:Microsoft Word备份文件

       WFM:Visual dBASE Windows表单

       WFN:在CorelDRAW中使用的符号

       WIZ:Microsoft Word向导

       WRL:虚拟现实模型

       WWL:Microsoft Word内插器文件

       X

       XLK:Microsoft Excel备份

       XLL:Microsoft Excel内插器文件

       XLM:Microsoft Excel宏

       XLS:Microsoft Excel工作单

       XLT:Microsoft Excel模板

       XLV:Microsoft Excel VBA模块

       XLW:Microsoft Excel工作簿/工作区

       Z

       ZAP:Windows软件安装配置文件

       ZIP:Zip文件

       -:用于为老版本(或备份)文件编号(比如:被安装程序改变的CONFIG.SYS文件);又可用于为小范围的PC应用程序的多个用户相关数据文件编号

       M:Lotus 1-2-3 SmartMaster文件

       :Lotus 1-2-3 文件

       2D:VersaCAD的2维绘画文件

       2GR,3GR:在Windows之下的VGA图形驱动程序/配置文件

       :在或更高级处理器上使用的文件

       3D:VersaCAD的3维绘画文件

       3DM:3D NURBS建模器,Rhino

       3DS:3D Studio(DOS下)格式文件

       :在或更高级处理器上使用的文件

       4GE:Informix 4GL编译后代码

       4GL:Informix 4GL源代码

       :Composer ;UNIX Composer音乐模型文件;磁道模块

       # 及更高的号:为计算机演示而扫描的一系列**的文件编号方法

       $$$:OS/2用来跟踪档案文件

       @@@:用于安装过程中的屏幕文件和用于Microsoft Code view for C这样的应用程序的指导文件

深入分析redis之listpack,取代ziplist?

       深入解析 Redis 中的 listpack:是否能取代 ziplist?

从ziplist到quicklist,再到listpack,Redis不断优化内存使用效率。listpack作为新一代内存紧凑型结构,其设计旨在避免ziplist的连锁更新问题,但它的结构和原理值得详细分析。

       listpack:内存紧凑型列表

       listpack,一个紧凑列表,通过连续内存空间高效存储数据,利用多种编码方式节省空间,支持字符串和整数。不同于ziplist,listpack的每个列表项仅记录自身长度,降低了连锁更新的影响。

       结构与原理

       listpack由total Bytes、Num Elem、Entry和End组成,entry包含编码类型、数据和长度信息,但不保存前一项长度。整型存储采用非负转换策略,利用不同编码方式存储小数和字符串,减少内存占用。

       避免连锁更新

       listpack通过仅记录当前项长度,避免了ziplist中因更新导致的连锁更新问题。正向查询和反向查询通过特定参数实现,如LP_HDR_SIZE和element-tot-len。

       源码分析

       初始化时,listpack分配内存并设置结束标记。增删改操作通过lpInsert函数实现,遍历接口利用entry长度信息,lpGet则负责读取元素。

       优化过程

       从ziplist的内存分配和连锁更新问题,到quicklist的链式结构减小更新影响,再到listpack的内存紧凑设计,Redis的每一步改进都是为了提升性能和内存效率。

       总结:listpack在内存优化和效率提升上是ziplist的改进,但它是否完全取代ziplist,还需根据具体应用场景和性能测试来判断。

本文地址:http://5o.net.cn/news/17a98498998.html 欢迎转发