二进制

Mysql(Mariadb)开启二进制日志

三世轮回 提交于 2020-03-01 19:20:16
Activating the Binary Log Contents Binary Log Format See Also To enable binary logging, start the server with the --log-bin[=name ] option. If you specify a filename with an extension (for example .log ), the extension will be silently ignored. If you don't provide a name (which can, optionally, include an absolute path), the default will be datadir/log-basename-bin , datadir/mysql-bin or datadir/mariadb-bin (the latter two if --log-basename is not specified, and dependent on server version). Datadir is determined by the value of the datadir system variable. We strongly recommend you use

字符编码--第1章 基础知识

北城以北 提交于 2020-03-01 16:50:38
第1章 基础知识 第1节 二进制 1. 二进制 1697年,德国数理哲学大师莱布尼兹发现二进制。基数为2,逢2进位的计数方法,0、1是它的基本数字符号。因为它只使用0、1两个数字符号,非常简单方便,易于用电子方式实现,在电脑上普遍采用。除二进制(B)外,在电脑上常用的还有八进制(O)、十进制(D)和十六进制(H)等。 2.二进制转换为十进制   各位二进制数与其对应权值的乘积之和即为与该二进制相对应的十进制。 例: 110011.101B =25+24+21+20+2-1+2-3 =51.625D 3.十进制转换为二进制 降幂法:首先写出要转换的十进制数,其次写出所有小于此数的各位二进制权值,然后用要转换的十进制数减去与它最接近的二进制权值,如够减则减去并在相应位记以1;如不够减则在相应位记以0并跳过此位;如此不断重复,直到该数为0为止。 例:将十进制数117转换为二进制数计算过程如下: 小于117的二进制权为64 32 16 8 4 2 1 所以117的二进制为1110101。   除法:把要转换的十进制数的整数部分不断除以2,并记下余数,直到商为0为止。 例:将十进制数117转换为二进制数计算过程如下: 所以117的二进制为1110101。 计算机中的二进制则是一个非常微小的开关,用“开”来表示1,“关”来表示0。 第2节 位 位,英文名称是Bit,亦称二进制数位

mysql 5.7 二进制普通安装

时间秒杀一切 提交于 2020-03-01 15:20:31
1 官网下载mysql-5.7.29-linux-glibc2.12-x86_64.tar.gz 2 可以先检查系统中的Mysql或mariadb,如果存在将其卸载 [root@bogon ~]# rpm -qa |grep mysql php-mysql-5.4.16-46.1.el7_7.x86_64 [root@bogon ~]# rpm -qa |grep mariadb mariadb-libs-5.5.64-1.el7.x86_64 mariadb-server-5.5.64-1.el7.x86_64 mariadb-5.5.64-1.el7.x86_64 [root@bogon ~]# yum -y remove php-mysql-5.4.16-46.1.el7_7.x86_64 Loaded plugins: fastestmirror Resolving Dependencies --> Running transaction check ---> Package php-mysql.x86_64 0:5.4.16-46.1.el7_7 will be erased --> Finished Dependency Resolution Dependencies Resolved ==========================================

C总结-part_1

那年仲夏 提交于 2020-03-01 15:07:44
1_C语言概述 1、库引用 1.1、几个例子 例1,调用系统指令 // b.c #include<stdlib.h> int main(void) { // system函数,相当于在命令行界面中输入对应的命令 system("ll.exe"); return; } gcc -o b b.c 编译b.c,生成可执行文件b 例2,system的返回值 // b.c #include<stdlib.h> #include<stdio.h> int main(void) { // system 函数,不同的系统返回值会不同,和POSIX有关 int value = system("ls -all"); printf("调用ls:%d\\n",value); // 在C中,默认将所有返回0代表正确,返回-1表示错误(这个由开发者自己规定)。 return 0; } gcc -o b b.c 编译b.c,生成一个可执行文件b ./b 执行b文件 例3,WinExec #include<stdlib.h>// 引入一个系统库 #include<windows.h>// 引入一个系统库,可以用win exec void xx() { // win exec可以执行windows的程序,SW_HIDE用来屏蔽黑框的弹出。 WinExex("calc",SW_HIDE); } Tips

[c语言]左移和右移

僤鯓⒐⒋嵵緔 提交于 2020-03-01 11:41:40
左移和右移都是位运算的概念。我们知道计算机是基于二进制保存数据的,因此左移和右移的概念十分重要。 本文约定是32位的机器。 [左移] 丢弃最高位,0补最低位 左移是把一个数按照二进制每位向左移动若干位,在c语言中用运算符 << 表示。例如: int x = 1; x = x << 2; //把x的值左移2位 1对应的二进制数为000……0001(前面一共31个0),左移2位之后变成000……0100,在十进制下为4。所以看起来左移n位相当于乘以2的n次方。(有符号数不完全适用,因为左移有可能导致符号的变化,下面将给出解释) 需要注意的是,当左移结果超出数据类型所能表示的范围时,会出现溢出(产生数据丢失并造成结果错误)。我们知道,int是有符号的整型数,最高位是符号位,0表示正数,1表示负数。那么移位的时候就会出现溢出,例如: int x = 0x40000000; //16进制的40000000,为2进制的0100……0000 x = x << 1; 这时候,x左移1位之后变成0x80000000,也就是2进制的1000……0000,符号位被置为1,变成了int型变量所能表示的最小值(因为负数是用补码表示的,计算补码:取反后加1),这个值在十进制下为-2147483648,我们成为溢出。如果把这个x再继续左移1位,那么最高位被丢弃,最低位补0,x的值就变成了0

为什么int类型的最大值是2^31-1 ?

∥☆過路亽.° 提交于 2020-03-01 10:46:36
为什么int类型的最大值是2^31-1 ? int类型是8个字节,32位,最大值用二进制表示就是, 0111...(总共31个1)。为什么第一位是0? 二进制里,最高位(第一位)表示符号 0表示正,1表示负。 所以将二进制01111...(31个1)转换成十进制,就是:2^0*1 + 2^1*1 + 2^2*1...+2^n*1就变成了2的n次方求和, 这里的n就是30,因为第一位是0,即2^31 * 0 2的n次方求和(n=30),由等比数列可知, 2^0 + 2^1 + 2^2...+2^n=2^(n+1)-1 = 2^31-1 同理最小值的二进制表示就是,1000...(总共31个0),(负数二进制转十进制,是用补码(反码加1)转的。) 1000(31个0)的补码还是本身。 所以最小值就是, 2^0*0 + 2^1*0 + 2^2*0...+ 2^31*1=2^31= -2^31 来源: oschina 链接: https://my.oschina.net/u/104325/blog/306584

Java 对象序列化机制详解

让人想犯罪 __ 提交于 2020-03-01 09:34:41
对象序列化的目标: 将对象保存到磁盘中,或允许在网络中直接传输对象。 对象序列化机制允许 把内存中的Java对象转换成平台无关的二进制流, 从而允许把这种二进制流持久的保存在磁盘上,通过网络将这种二进制流传输到另一个网络节点。其他程序一旦获得了这种二进制流,都可以讲这种二进制流恢复成原来的Java对象。 如果需要让某个对象支持序列化机制,则必须让它的类是可序列化的,则这个类必须实现如下两个接口之一: · Serializable · Externalizable Serializable是一个标志接口,它只是表明该类的实例是可序列化的。 一、 使用对象流实现序列化 一旦某个类实现了Serializable接口,则该类的对象就是可序列化的,程序通过如下步骤创建可序列化对象: 1) 创建一个ObjectOutStream,这个输出流是一个处理流: ObjectOutputStream oos = new ObjectOutputStream("object.txt"); 2) 调用 ObjectOutputStream 对象的 writeObject() 方法输出可序列化对象: public class Person implements java.io.Serializable { public String name; public int age; // 构造方法 //

二进制数据的序列化反序列化和Json的序列化反序列化的重要区别

匆匆过客 提交于 2020-03-01 09:32:03
原文: 二进制数据的序列化反序列化和Json的序列化反序列化的重要区别   前言:最近一个一个很奇怪的问题,很明白的说,就是没看懂,参照下面的代码: /// <summary> /// 反序列化对象 /// </summary> /// <typeparam name="T">指定对象类型</typeparam> /// <param name="data">字节数组</param> /// <param name="isClearData">压缩完成后,是否清除待压缩字节数组里面的内容</param> /// <returns>指定类型的对象</returns> public static T DeserializeByBytes<T>(byte[] data, bool isClearData = true) { T t = default(T); if (data == null) return t; try { BinaryFormatter formatter = new BinaryFormatter(); using (MemoryStream ms = new MemoryStream(data)) { t = (T)formatter.Deserialize(ms); } formatter = null; if (isClearData) Array.Clear

hadoop之BinaryComparable与BytesWritable

扶醉桌前 提交于 2020-03-01 03:15:04
对于二进制的序列化,hadoop的封装类型为 BytesWritable, BytesWritable 是对二进制数据数组的封装,它的序列化格式为 1 个用于指定后面数据字节数的整数域( 4 字节),后跟字节本身,例如长度为 2 的字节数组 l 数组包含了数值 3 和 5 ,序列化形式为 1 个 4 字节的整数( 00000002 )和该数组中的两个字节( 03 )和( 05 ) BytesWritable的实现依赖于其抽象了的BinaryComparable,而并不是直接的去实现序列化接口WritableComparable这个接口,而是由 抽象类 BinaryComparable (实现了Comparable 接 口)的抽象类的子类实来实现,即在中间抽离出一个抽象类,由抽象类的子类去实现hadoop二进制的序列化。 BinaryComparable 抽象类重载了两个 compareTo 方法,并且借助WritableComparator的静态方法实现比较,该抽象类用于二进制数据的比较,默认重载了两个 compareTo 方法,其类图关系为: 值得注意的是 getBytes ()方法返回的字节数组长度可能无法体现 BytesWritable 所存储的容量,因为可以通过 setCapacity ()设置容量大小,所以可以通过 getLength() 方法来确定

vim 修改二进制文件

﹥>﹥吖頭↗ 提交于 2020-03-01 01:52:31
1 vim以二进制格式打开需要编辑或查看的文件 vim -b xxx.dat 2 用xxd把文件转换成十六进制格式 :%!xxd 转化后显示类似如下 3 像对待普通文本一样查看和编辑二进制文件 4 修改完成使用xxd把十六进制转换回二进制: :%!xxd -r 只有十六进制的修改会生效。 来源: CSDN 作者: 只要你在 链接: https://blog.csdn.net/icebergliu1234/article/details/104576849