吹老师个人app编程教学
码龄10年
关注
提问 私信
  • 博客:317,933
    问答:2
    317,935
    总访问量
  • 144
    原创
  • 14,225
    排名
  • 1,072
    粉丝
  • 3
    铁粉
  • 学习成就

个人简介:好好学习,天天向上。

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:北京市
  • 加入CSDN时间: 2014-11-13
博客简介:

chuige2013的博客

查看详细资料
  • 原力等级
    成就
    当前等级
    6
    当前总分
    1,980
    当月
    58
个人成就
  • 获得951次点赞
  • 内容获得23次评论
  • 获得1,933次收藏
  • 代码片获得1,924次分享
创作历程
  • 51篇
    2024年
  • 44篇
    2023年
  • 32篇
    2022年
  • 18篇
    2021年
成就勋章
TA的专栏
  • java-语法基础
    12篇
  • java-缓存
    2篇
  • java-集合
    3篇
  • java-多线程
    5篇
  • java-线程池
    2篇
  • java-JVM
    15篇
  • java-mysql
    17篇
  • java-RocketMq
    3篇
  • java-redis
    10篇
  • java-mybatics
    8篇
  • java-spring
    9篇
  • java-算法
    1篇
  • java-分布式
    1篇
  • java-es数据库
    8篇
  • java-maven
    7篇
  • java-基础
    4篇
  • java-编程其他
    1篇
  • java-网络
    2篇
  • java-lamda表达式
    2篇
  • java-hbase
    4篇
  • java-必备技能
    2篇
  • 大数据
    4篇
  • web-web
    3篇
  • 安卓-安卓
    1篇
  • 个人app编程-个人app创作
  • 个人app编程-前言
    2篇
  • 个人app编程-环境搭建及源码运行
    7篇
创作活动更多

HarmonyOS开发者社区有奖征文来啦!

用文字记录下您与HarmonyOS的故事。参与活动,还有机会赢奖,快来加入我们吧!

0人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

集合_基本用法详解

1、集合大纲1、集合大纲2、 集合的基础知识ArrayList:创建对象:ArrayList sites = new ArrayList();输出结果:[Google, Runoob, Taobao]HashSet:创建对象:HashSet sites = new HashSet();
原创
发布博客 11 小时前 ·
222 阅读 ·
13 点赞 ·
0 评论 ·
9 收藏

集合Queue、Deque、LinkedList、ArrayDeque、PriorityQueue详解

PriorityQueue是优先队列,作用是保证每次取出的元素都是队列中权值最小的,这里涉及到了大小关系,元素大小的评判可以通过元素自身的自然顺序(使用默认的比较器),也可以通过构造时传入的比较器。从源码中,明显看到PriorityQueue的底层数据结构是数组,而无边界的形容,那么指明了PriorityQueue是自带扩容机制的,具体请看PriorityQueue的grow方法。remove方法和poll方法都是删除队列的头元素,remove方法,队列为空的情况下将抛异常,而poll方法将返回null;
原创
发布博客 13 小时前 ·
669 阅读 ·
5 点赞 ·
0 评论 ·
12 收藏

Caffeine本地缓存

自定义的缓存状态收集器的作用:每当缓存有操作发生时,不管是查询,加载,存入,都会使得缓存的某些状态指标发生改变,哪些状态指标发生了改变,就会自动触发收集器中对应的方法执行,如果我们在方法中自定义的代码是收集代码,比如将指标数值发送到 kafka,那么其它程序从 kafka 读取到数值,再进行分析与可视化展示,就能实现对缓存的实时监控了。直觉告诉我们可能需要一个巨大的 HashMap 来统计各个元素的出现频率,但由于不同的元素的个数可能非常大,以至于是个天文数字,要求的内存可能会非常大,从而不切实际。
原创
发布博客 昨天 07:59 ·
406 阅读 ·
11 点赞 ·
0 评论 ·
9 收藏

ClickHouse的介绍、安装、数据类型

但是当想查所有人的年龄时,需要不停的查找,或者全表扫描才行,遍历的很多数据都是不需要的。ClickHouse是俄罗斯的Yandex于2016年开源的列式存储数据库(DBMS),使用C++语言编写,主要用于在线分析处理查询(OLAP),能够使用SQL查询实时生成分析数据报告。由于某一列的数据类型都是相同的,针对于数据存储更容易进行数据压缩,每一列选择更优的数据压缩算法,大大提高了数据的压缩比重;几乎覆盖了标准SQL的大部分语法,包括DDL和DML,以及配套的各种函数,用户管理及权限管理,数据的备份与恢复;
原创
发布博客 2024.11.19 ·
373 阅读 ·
5 点赞 ·
0 评论 ·
5 收藏

面向对象(类和对象、方法、成员变量和局部变量)

1. 对象1.1 万物皆对象定义1:对象就是看得见摸得着的物件(还有一些看不见摸不着的也可以)1.2对象的特征——属性定义1:每个对象都有各自的静态的行为(特征),在计算机中称之为属性定义2:每个属性都有两个部分组成:属性名和属性值1.3对象的特征——方法定义1:每个对象都有各自的动态的行为(方法),在计算机中称之为方法定义2:每个方法都有两个部分组成:方法名称,方法体2. 类2.1类的定义1)多个对象之间的共同的特征(静态的属性和动态的方法)2.2
原创
发布博客 2024.11.19 ·
294 阅读 ·
3 点赞 ·
0 评论 ·
7 收藏

ClickHouse的介绍、安装、数据类型

但是当想查所有人的年龄时,需要不停的查找,或者全表扫描才行,遍历的很多数据都是不需要的。ClickHouse是俄罗斯的Yandex于2016年开源的列式存储数据库(DBMS),使用C++语言编写,主要用于在线分析处理查询(OLAP),能够使用SQL查询实时生成分析数据报告。由于某一列的数据类型都是相同的,针对于数据存储更容易进行数据压缩,每一列选择更优的数据压缩算法,大大提高了数据的压缩比重;几乎覆盖了标准SQL的大部分语法,包括DDL和DML,以及配套的各种函数,用户管理及权限管理,数据的备份与恢复;
原创
发布博客 2024.11.18 ·
560 阅读 ·
9 点赞 ·
0 评论 ·
2 收藏

介绍和安装及数据类型

ClickHouse是俄罗斯的Yandex于2016年开源的列式存储数据库(DBMS),使用C++语言编写,主要用于在线分析处理查询(OLAP),能够使用SQL查询实时生成分析数据报告。但是当想查所有人的年龄时,需要不停的查找,或者全表扫描才行,遍历的很多数据都是不需要的。由于某一列的数据类型都是相同的,针对于数据存储更容易进行数据压缩,每一列选择更优的数据压缩算法,大大提高了数据的压缩比重;这时想查所有人的年龄只需把年龄那一列拿出来就可以了。对于列的聚合、计数、求和等统计操作原因优于行式存储;
原创
发布博客 2024.11.11 ·
274 阅读 ·
10 点赞 ·
0 评论 ·
5 收藏

Hudi Upsert原理

对于COW会根据位置信息中fileId 重写parquet文件,在重写中如果数据是更新会比较parquet文件的数据和当前的数据的大小进行更新,完成更新数据和插入数据。其原理是计算RecordKey的hash值然后将其存储到bitmap中去,key值做hash可能出现hash 碰撞的问题,为了较少hash 值的碰撞使用多个hash算法进行计算后将hash值存入BitMap,一般三次hash最佳,但是索引任然有hash 碰撞的问题,但是误判率极低可以保证99%以上的数据判断是正确的。
原创
发布博客 2024.10.31 ·
784 阅读 ·
13 点赞 ·
0 评论 ·
27 收藏

数据湖定义

当一个client正在读取v1的数据时,另一个client可以同时写入新的数据,新的数据会被写入新的文件里,不影响v1用到的数据文件。后续的client再读取时,读到的就是v2的数据。如果是 update 消息,写对应的 file group + file slice,直接 append 最新的 log file(如果碰巧是当前最小的小文件,会 merge base file,生成新的 file slice)log file 大小达到阈值会 roll over 一个新的。
原创
发布博客 2024.10.28 ·
919 阅读 ·
7 点赞 ·
0 评论 ·
15 收藏

Hadoop生态简介,Hive、Spark、HBase等

Zookeeper采用选举机制选举Leader,其它节点作为Follower或Observer存在,当Leader挂掉之后,会重新选举Leader,但选举的过程需要时间,对于Hadoop这样的计算性集群而言可能不算什么,但对于电商系统这样高速运算的系统而言,集群停摆几秒就可能导致非常严重的后果,所以之前Dubbo这样的中间件使用Zookeepr作为注册中心就具有一定的风险,只要Leader停摆,集群就需要一直等,等待新的Leader上线。
原创
发布博客 2024.10.26 ·
913 阅读 ·
20 点赞 ·
0 评论 ·
19 收藏

Hudi 核心知识点详解

‌‌‌‌:流模式增量读取会持续不断地返回实时更新的结果,而批模式则在查询结束之后退出,需要再次执行查询才能获取更新的数据‌4。
原创
发布博客 2024.10.24 ·
446 阅读 ·
4 点赞 ·
0 评论 ·
9 收藏

阿里巴巴_java开发规范手册详解

反例:定义为基本数据类型 Boolean isDeleted 的属性,它的方法也是 isDeleted(),RPC 框架在反向解析的时候,“误以为”对应的属性名称是 deleted,导致属性获取不到,进而抛出异常。说明:在本文 MySQL 规约中的建表约定第一条,表达是与否的值采用 is_xxx 的命名方式,所以,需要在设置从 is_xxx 到 xxx 的映射关系。正例:renminbi / alibaba / taobao / youku / hangzhou 等国际通用的名称,可视同英文。
原创
发布博客 2024.10.06 ·
993 阅读 ·
5 点赞 ·
0 评论 ·
13 收藏

java基础_异常总结详解

运行时异常都是 RuntimeException 子类异常。1 列举一些列举常见的运行时异常。
原创
发布博客 2024.10.05 ·
314 阅读 ·
4 点赞 ·
0 评论 ·
2 收藏

Mac安装docker(轻松解决安装)

最简单的一个例子,比如说,你在刚开始的一台服务器部署项目,那么部署项目一定要配置mysql等环境是吧,那么现在你要吧这个项目迁移到另一台服务器上,又要重写在另一台服务器上重写配置mysql等环境.可能会出现版本错乱等错误,很麻烦,那么现在第一次部署项目的时候,把项目等环境直接放进docker里面,下次你要迁移项目到另一台服务器上,自己把docker镜像上传到docker仓库上,然后再另一台服务器拉取就直接可以了,这只是好处之一。(如果未安装,可以打开终端,输入以下命令安装Homebrew)
原创
发布博客 2024.10.05 ·
515 阅读 ·
5 点赞 ·
0 评论 ·
8 收藏

详解Java中的BIO、NIO、AIO

BIO是阻塞的,如果没有多线程,BIO就需要一直占用CPU,而NIO则是非阻塞IO,NIO在获取连接或者请求时,即使没有取得连接和数据,也不会阻塞程序。Selector通过select方法去轮询监听channel事件,当监听到有读事件时,ServerSocketChannel通过绑定的SelectorKey定位到具体的channel,读取里面的数据。想象一下如果QQ使用BIO模型,当有一个人上线时就需要一个线程,即使这个人不聊天,这个线程也一直被占用,那再多的服务器资源都不管用。2.1、NIO代码实践。
原创
发布博客 2024.10.05 ·
1007 阅读 ·
8 点赞 ·
0 评论 ·
5 收藏

BIO NIO AIO IO多路复用的区别

epoll在这个基础之上做了延伸,epoll首先是在内核中维护了一个红黑树,以及一些链表结构,当数据到达网卡拷贝到内存时会把相应的文件描述符从红黑树中拷贝到链表中,这样链表存储的就是已经有数据到达的文件描述符,这样当程序调用epoll_wait的时候就能直接把能读的文件描述符返回给应用程序。也就是说在accept客户端连接的时候,不需要阻塞,如果没有客户端连接就返回-1(java-NULL),在读写操作的时候,也不阻塞,有数据就读,没数据就直接返回,这样就解决了单线程服务器的瓶颈问题。
原创
发布博客 2024.10.05 ·
876 阅读 ·
11 点赞 ·
0 评论 ·
15 收藏

lambda表达式详解

Spliterator是可拆分的,一个Spliterator可以通过调用Spliterator trySplit() 方法来尝试分成两个.一个是this, 一个是新返回的元素.这两个迭代器代表的元素没有重叠。上述代码给forEach() 方法传入一个Lambda表达式,不需要知道accept() 方法,也不需要知道Consumer接口,类型推导已经完成了这些。使用Lambda表达式不需要记忆Predicate接口名,也不需要记忆test() 方法名,只需要此处需要一个返回布尔类型的Lambda表达式。
原创
发布博客 2024.09.24 ·
639 阅读 ·
10 点赞 ·
0 评论 ·
12 收藏

lamda表达式例子全集详解

List dimGroupAuthVos = List.stream().map(e -> new Model2(model1.属性1(),model1.属性2(),model1.属性3())).collect(Collectors.toList());List 属性数组 = List.stream().map(user -> user.getId()).distinct().collect(Collectors.toList());
原创
发布博客 2024.09.24 ·
400 阅读 ·
3 点赞 ·
0 评论 ·
10 收藏

hbase之布隆过滤器

在HBase中,布隆过滤器用于减少查询时间,通过减少不必要的块加载提高集群吞吐率。布隆过滤器就是这样一个高度节省空间的结构,并且其时间也远超一般算法,但是布隆过滤器存在一定的失误率,例如在网页URL黑名单过滤中,布隆过滤器绝不会将黑名单中网页查错,但是有可能将正常的网页URL判定为黑名单当中的,它的失误可以说是宁可错杀,不可放过。对于一个新的URL,我们要查询其是否在黑名单中,我们便通过同样的n个哈希函数,计算出n个位置,然后我们查询这n个位置是否都被描黑,如果都被描黑,我们就说该URL在黑名单当中。
原创
发布博客 2024.09.24 ·
936 阅读 ·
10 点赞 ·
0 评论 ·
6 收藏

HBASE_题库详解

如果Rowkey 是按时间戳的方式递增,不要将时间放在二进制码的前面,建议将Rowkey的高位作为散列字段,由程序循环生成,低位放时间字段,这样将提高数据均衡分布在每个Regionserver 实现负载均衡的几率。最后但不是最重要的--为了运行Hbase,Zookeeper是必须的,zookeeper是一个用来进行分布式协调的服务,这些服务包括配置服务,维护元信息和命名空间服务。它支持四种主要的操作:增加或者更新行,查看一个范围内的cell,获取指定的行,删除指定的行、列或者是列的版本。
原创
发布博客 2024.09.19 ·
1102 阅读 ·
6 点赞 ·
0 评论 ·
17 收藏
加载更多