最后
做任何事情都要用心,要非常关注细节。看起来不起眼的、繁琐的工作做透了会有意想不到的价值。
当然要想成为一个技术大牛也需要一定的思想格局,思想决定未来你要往哪个方向去走, 建议多看一些人生规划方面的书籍,多学习名人的思想格局,未来你的路会走的更远。
更多的技术点思维导图我已经做了一个整理,涵盖了当下互联网最流行99%的技术点,在这里我将这份导图分享出来,以及为金九银十准备的一整套面试体系,上到集合,下到分布式微服务
│ CHAR VARYING │ 1 │ String │
│ MEDIUMBLOB │ 1 │ String │
│ NCHAR │ 1 │ String │
│ CHAR │ 1 │ String │
│ SMALLINT UNSIGNED │ 1 │ UInt16 │
│ TIMESTAMP │ 1 │ DateTime │
│ FIXED │ 1 │ Decimal │
│ TINYTEXT │ 1 │ String │
│ NUMERIC │ 1 │ Decimal │
│ DEC │ 1 │ Decimal │
│ TINYINT UNSIGNED │ 1 │ UInt8 │
│ INTEGER UNSIGNED │ 1 │ UInt32 │
│ INT UNSIGNED │ 1 │ UInt32 │
│ CLOB │ 1 │ String │
│ MEDIUMINT UNSIGNED │ 1 │ UInt32 │
│ BOOL │ 1 │ Int8 │
│ SMALLINT │ 1 │ Int16 │
│ INTEGER SIGNED │ 1 │ Int32 │
│ NCHAR VARYING │ 1 │ String │
│ INT SIGNED │ 1 │ Int32 │
│ TINYINT SIGNED │ 1 │ Int8 │
│ BIGINT SIGNED │ 1 │ Int64 │
│ BINARY LARGE OBJECT │ 1 │ String │
│ SMALLINT SIGNED │ 1 │ Int16 │
│ MEDIUMINT │ 1 │ Int32 │
│ INTEGER │ 1 │ Int32 │
│ INT1 SIGNED │ 1 │ Int8 │
│ BIGINT UNSIGNED │ 1 │ UInt64 │
│ BYTEA │ 1 │ String │
│ INT │ 1 │ Int32 │
│ SINGLE │ 1 │ Float32 │
│ FLOAT │ 1 │ Float32 │
│ MEDIUMINT SIGNED │ 1 │ Int32 │
│ BOOLEAN │ 1 │ Int8 │
│ DOUBLE │ 1 │ Float64 │
│ INT1 │ 1 │ Int8 │
│ CHAR LARGE OBJECT │ 1 │ String │
│ TINYINT │ 1 │ Int8 │
│ BIGINT │ 1 │ Int64 │
│ CHARACTER │ 1 │ String │
│ BYTE │ 1 │ Int8 │
│ BLOB │ 1 │ String │
│ REAL │ 1 │ Float32 │
└─────────────────────────────────┴──────────────────┴─────────────┘
[]( )二、基础数据类型
-----------------------------------------------------------------
clickhouse和传统的数据库一样,提供了基础的数据类型,这一部分就简单介绍一下,相信学过编程语言的同学对这一部分并不陌生。
### []( )整数类型
整数类型,IntN随着N的增大,整型数值的范围扩大。U表示unsigned无符号,无符号就是没有负数符号,只能存储大于等于0的树。
* 有符号整型(IntN):Int8、Int16、Int32、Int64、Int128、Int256。数值范围是【-2^(N-1) ~ 2^(N-1)-1】,比如:Int8(-128到127)
* 无符号整型(UIntN):UInt8、UInt16、UInt32、UInt64、UInt128、UInt256。数值范围是【0 ~ 2^N-1】,比如:UInt8(0到255)
### []( )浮点类型
* 单精度浮点数Float32,学过C、java、mysql的朋友把它当作float数据类型使用即可。**从小数点后第8位起会发生精度丢失**。
* 双精度浮点数Float64,学过C、java、mysql的朋友把它当作double数据类型使用即可。**从小数点后第17位起会发生精度丢失**。
### []( )Decimal类型
有的时候Float32、Float64无法满足计算精度的要求,我们就需要使用Decimal数据类型。ClickHouse 提供了 Decimal32、Decimal64 和 Decimal128 三种精度的Decimal。在定义表字段的类型时,可以通过两种形式声明:简写方式有 Decimal32(S)、Decimal64(S)、Decimal128(S) 三种,原生方式为 Decimal(P, S),表示该定点数的整数位加上小数位的总长度最大为 P,其中小数位长度最多为 S。![图片](https://img-blog.csdnimg.cn/img_convert/d182f737e2fc4390b9e9d5ef77cf2fec.png)参考下面的SQL及输出结果进行理解和学习
SELECT
toDecimal64(2, 3) AS x, --数值为2,精度为3,所以2.000
toTypeName(x) AS xtype,
toDecimal32(2, 2) AS y, --数值为2,精度为2,所以2.00
toTypeName(y) as ytype,
x + y AS a, --2.000 + 2.00,加减法取最大精度。所以4.000
toTypeName(a) AS atype,
x * y AS b, --2.000*2.00,乘法的精度值相加(2+3=5)。所以4.00000
toTypeName(b) AS btype,
x / y AS c, --2.000/2.00,被除数2.000精度是3,结果精度等于被除数精度。所以1.000
toTypeName(c) AS ctype;
下图为上面的SQL的执行结果![图片](https://img-blog.csdnimg.cn/img_convert/28682b90472c562d82d577a4802217b3.png)
### []( )普通String类型
clickhouse 中的String类型并没有长度限制,所以它可以代替传统关系型数据库中的所有以字符形式存在的数据类型,如:CHAR、VARCHAR、CLOB 等等。
### []( )FixedString类型
FixedString(N)表示固定长度为N的数据类型,可以使用toFixedString函数将String转换成FixedString。下文中的SQL虽然`zimug`长度是5,但使用FixedString(6)长度为6,实际存储内容是`zimug\0`。
peer1 😃 select toFixedString(‘zimug’, 6), length(toFixedString(‘zimug’, 6));
┌─toFixedString(‘zimug’, 6)─┬─length(toFixedString(‘zimug’, 6))─┐
│ zimug │ 6 │
└───────────────────────────┴───────────────────────────────────┘
### []( )UUID
UUID是比较常见的数据唯一值,ClickHouse把它作为一种数据类型。UUID数据格式如:`6fb875ae-75b9-4643-a146-5a1de7c717b4`,使用方式如下:
使用示例如下:
– 建表时创建UUID数据类型字段
CREATE TABLE test_uuid (id UUID, content String) ENGINE=TinyLog;
– 向表中插入数据
INSERT INTO test_uuid SELECT generateUUIDv4(), ‘test uuid 1’;
– 插入的时候不为UUID赋值,UUID字段使用0填充
INSERT INTO test_uuid (content) VALUES (‘test uuid 2’);
### []( )日期类型
日期数据类型有三种:DateTime、DateTime64和Date,并且支持使用字符串的方式insert写入日期格式。另外还有一种日期类型TIMESTAMP ,其使用方法和DateTime类型一模一样,只是对DateTime数据类型起了一个别名。
* DateTime精确到秒,如:‘2022-06-12 06:06:06’
* DateTime64精确到亚秒,如:‘2022-06-12 06:06:06.000’
* Date不包含时间信息,精确到天,如:‘2022-06-12’
### []( )布尔类型
ClickHouse布尔数据类型BOOLEAN 。其实际存储就是使用UInt8 类型,取值限制为0或 1。
**如果觉得文章内容对您有帮助,在此请您帮忙点赞、转发,您的支持是我不竭的创作动力!**
# 2021年Java中高级面试必备知识点总结
在这个部分总结了2019年到目前为止Java常见面试问题,取其面试核心编写成这份文档笔记,从中分析面试官的心理,摸清面试官的“套路”,可以说搞定90%以上的Java中高级面试没一点难度。
本节总结的内容涵盖了:消息队列、Redis缓存、分库分表、读写分离、设计高并发系统、分布式系统、高可用系统、SpringCloud微服务架构等一系列互联网主流高级技术的知识点。
**目录:**
![](https://img-blog.csdnimg.cn/img_convert/2524849f6dc5261fab1a512e106043d2.webp?x-oss-process=image/format,png)
(上述只是一个整体目录大纲,每个点里面都有如下所示的详细内容,从面试问题——分析面试官心理——剖析面试题——完美解答的一个过程)
![](https://img-blog.csdnimg.cn/img_convert/409d22afb02605012ca037dcb16a8454.webp?x-oss-process=image/format,png)
**部分内容:**
![](https://img-blog.csdnimg.cn/img_convert/cdfc285bacc0acf93e70458eed3e6ae3.webp?x-oss-process=image/format,png)
![](https://img-blog.csdnimg.cn/img_convert/3244b50ef506cb6359cc09065d9e8940.webp?x-oss-process=image/format,png)
![](https://img-blog.csdnimg.cn/img_convert/99bdf932ea816aee60a87e81e6000cd6.webp?x-oss-process=image/format,png)
对于每一个做技术的来说,学习是不能停止的,小编把2019年到目前为止Java的核心知识提炼出来了,无论你现在是处于什么阶段,如你所见,这份文档的内容无论是对于你找面试工作还是提升技术广度深度都是完美的。
不想被后浪淘汰的话,赶紧搞起来吧,**高清完整版一共是888页,需要的话可以点赞+关注**
> **本文已被[CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)收录**
**[需要这份系统化的资料的朋友,可以点击这里获取](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**
年到目前为止Java的核心知识提炼出来了,无论你现在是处于什么阶段,如你所见,这份文档的内容无论是对于你找面试工作还是提升技术广度深度都是完美的。
不想被后浪淘汰的话,赶紧搞起来吧,**高清完整版一共是888页,需要的话可以点赞+关注**
> **本文已被[CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)收录**
**[需要这份系统化的资料的朋友,可以点击这里获取](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**