character-encode
Text Encode & DecodeASCIIANSI(美国国家标准学会) 推出了 ASCII ASCII 包括 0-9 a-z A-Z !”#$%… 控制字符 码点 code point每个字符对应的数字 ASCII: 0-127(2^7) 字符集 charset标准所支持的所有字符及其对应码点的集合,称之为字符集 编码 encode从字符到计算机存储的的二进制的过程,称之为编码字符编码规则不一定会把码点直接转换成二进制存储在计算机中 在 ASCII 和 UTF-32 中,会把码点直接转换为二进制 Unicode囊括了各国文字、Emoji、象形文字的字符集 UTF-32每个字符使用 4 字节存储,不够 32 bit 的向前补零 UTF-8Unicode 的可变长度编码,码点越大,编码后的二进制越长 乱码的原因 编码规则与解码规则不同 部分编辑器将 Unicode 中无法识别或展示的字符自动替换为特殊符号,在保存文件时,将 EF BF BD 写入 Unicode 字符集中有一个特殊的替换符号,专门用于表示无法识别或展示的字符
boot
boot分区表类型MBRMBR(主引导记录): 0柱面 0磁头 1扇区 512Byte 内容 大小 主引导程序 446B 磁盘分区表 64B 磁盘有效标志 2B 主板启动时,逐一检查存储设备的 0柱面 0磁头 1扇区 中 MBR 的磁盘有效位,若其值为 0x55 0xAA ,则执行MBR中的主引导程序。 GPT引导方式 “uefi+gpt,mbr+legacy,这种组合是Windows的毛病,其它系统不强行要求组合,uefi也可以引导mbr。” UEFI启动项文件启动项 hd(x,x) /path/to/file设备启动项 /EFI/Boot/bootx64.efi 文件启动项对于GPT分区表的硬盘来说 启动项 放置于 ESP分区 中的 /EFI/<厂商>/ 下 如/EFI/windows/ESP分区 需要使用 FAT32文件系统 Legacy
activemq-note
ActiveMQ1. ActiveMQ 的安装Apache ActiveMQ 下载 Linux 版 tarball 运行 1./bin/activemq start 停止 1./bin/activemq stop 2. 接收消息的两种方法recive() 方法1234567891011121314151617181920212223242526272829public class JmsConsumer { private static final String ACTIVE_MQ_URL = "tcp://192.168.2.200:61616"; private static final String QUEUE_NAME = "queue01"; public static void main(String[] args) throws JMSException, IOException { ActiveMQConnectionFactory activeMQConnec...
Spring学习笔记
Spring基本概念四个核心依赖: spring-core:核心 jar 包 spring-beans:对象创建 jar 包 spring-context:上下文容器 jar 包(包含了其它 3 个依赖) spring-expression:表达式 jar 包 IOC1. 基本概念IOC:控制反转。 创建对象的权利,或者是控制的位置,由 Java 代码转移到 spring 容器,由 spring 的容器控制对象的创建,就是控制反转。 「对象的创建交给容器」 spring 创建对象时,会读取配置文件中的信息,然后使用反射给我们创建好对象之后在容器中存储起来,当我们需要某个对象时,通过 id 获取对象即可,不需要我们自己去 new。 2. 配置文件 文件位置:resources 文件名:xxx.xml 配置 bean 对象:<bean id="..." class="..."></bean> 3. 获取对象 创建一个容器(IOC)对象并解析 xml 配置文件。 实例化配置文件中的 bean 对象(反射)并发放入容器...
Chain-of-Responsibility-Pattern
Chain of Responsibility pattern 责任链模式本文转自 责任链模式-runoob 顾名思义,责任链模式(Chain of Responsibility Pattern)为请求创建了一个接收者对象的链。这种模式给予请求的类型,对请求的发送者和接收者进行解耦。这种类型的设计模式属于行为型模式。 在这种模式中,通常每个接收者都包含对另一个接收者的引用。如果一个对象不能处理该请求,那么它会把相同的请求传给下一个接收者,依此类推。 介绍意图: 避免请求发送者与接收者耦合在一起,让多个对象都有可能接收请求,将这些对象连接成一条链,并且沿着这条链传递请求,直到有对象处理它为止。 主要解决: 职责链上的处理者负责处理请求,客户只需要将请求发送到职责链上即可,无须关心请求的处理细节和请求的传递,所以职责链将请求的发送者和请求的处理者解耦了。 何时使用: 在处理消息的时候以过滤很多道。 如何解决: 拦截的类都实现统一接口。 关键代码: Handler 里面聚合它自己,在 HandlerRequest 里判断是否合适,如果没达到条件则向下传递,向谁传递之前 set 进去。 ...
ANSI-escape-sequences
ANSI Escape SequencesANSI转义序列(ANSI escape sequences) 是一种带内信号的转义序列标准,用于控制视频文本终端上的光标位置、颜色和其他选项。在文本中嵌入确定的字节序列,大部分以ESC转义字符和”[“字符开始,终端会把这些字节序列解释为相应的指令,而不是普通的字符编码。
9_读写数据
读写数据读取用户输入 类似于 C 中的 scanf() 函数, Go 中也有对应的针对标准输入输出函数。 12345678910111213141516171819202122232425package mainimport "fmt"var ( str string input = "11.22 / 12 / Python" format = "%f / %d / %s" f_num float32 i_num int s string)func main(){ // 从标准输出框中读取 fmt.Println("This is a test for a scanf function...") fmt.Scanln(&str) // Scanln 扫描来自标准输入的文本,空格分割 // fmt.Scanf("%s", str) // Scanf ...
8_接口和反射
接口和反射接口的定义方式1234type Namer interface { Method1(param_list) return_type Method2(param_list) return_type } 接口相对于其他面向对象的语言,是 Go 中的多态的表现。具体代码展示如下: 1234567891011121314151617181920212223242526272829303132333435363738package mainimport "fmt"type Shaper interface { Area() float32}type Square struct { side float32}func (sq *Square) Area() float32 { return sq.side * sq.side}type Rectangle struct { length, width float32}fun...
7_结构和方法
结构和方法结构体工厂Go 中不支持向面向对象语言的方法那样构造类的子方法,但是可以根据构造子工厂的方法来实现子方法。一般来说,工厂的名字用 New 开头。 1234567891011type File struct { fd int name string}func NewFile(fd int, name string) *File { if fd < 0 { return nil } return &File{fd, name}} 如果结构体的命名开头是小写的话,可以强制要求使用结构体工厂。 匿名字段和内嵌结构体结构体可以包含一个或多个 匿名(或内嵌)字段,即这些字段没有显式的名字,只有字段的类型是必须的,此时类型就是字段的名字。匿名字段本身可以是一个结构体类型,即 结构体可以包含内嵌结构体。 可以粗略地将这个和面向对象语言中的 继承 概念相比较,随后将会看到它被用来模拟类似继承的行为。Go 语言中的继承是通过内嵌或组...
6_Map
Map概念map 是引用类型,声明的方式一般如下: 123var map1 map[string]intcap := 20 // 容量 20map2 := make(map[string][]int, cap) k-v 操作 判断键值对是否存在 1234// 因为 Go 中的 key 不存在的情况下返回的 value 会是零值if _, ok := map1[key1];ok { // 存在} 删除一个键值对 123delete(map1, key1)// 如果 key 不存在也不会报错 相对于 Python 中的字典,Go 中对 Map 数据类型的操作显得更为友好。 遍历 Map123for idx, val := range map1 {}