- 博客(329)
- 收藏
- 关注

原创 Hadoop分布式文件系统(一)
狭义上Hadoop指的是Apache软件基金会的一款开源软件。如果是集群外提交,则随机挑选一台磁盘不太满,CPU不太忙的节点。MapReduce进行编程处理,但是很多软件的底层依然在使用MapReduce引擎来处理数据。作为大数据生态圈第一代分布式计算引擎,由于自身设计的模型所产生的弊端,导致企业一线。生活中类比工厂的流水线:结论:流式其实也是变种的并行计算。第二个副本:放置在于第一个副本不同的 机架的节点上。广义上Hadoop指的是围绕Hadoop打造的。一个程序员最重要的能力是:写出高质量的代码!
2023-09-25 22:51:44
1255

原创 Java 设计模式
设计模式是在大量的实践中总结和理论化之后优选的代码结构、编程风格、 以及解决问题的思考方式。设计模免去我们自己再思考和摸索。就像是经典 的棋谱,不同的棋局,我们用不同的棋谱。设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设 计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠 性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化, 设计模式是软件工程的基石,如同大厦的一块块砖石一样。项目中合理的运用设计
2021-09-19 20:26:29
294
1
原创 JVM学习(五)--执行引擎
当Java虚拟机启动时会根据预定义的规范对字节码采用逐行解释的方式执行,将每条字节码文件中的内容“翻译”为对应平台的本地机器指令执行。
2025-05-24 23:44:41
458
原创 JVM学习(四)--对象内存布局
意思是所有用过的内存在一边,空闲的内存在另外一边,中间放着一个指针作为分界点的指示器,分配内存就仅仅是把指针向空闲那边挪动一段与对象大小相等的距离罢了。如果内存不是规整的,已使用的内存和未使用的内存相互交错,那么虚拟机将采用的是空闲列表法来为对象分配内存。意思是虚拟机维护了一个列表,记录上哪些内存块是可用的再分配的时候从列表中找到一块足够大的空间划分给对象实例,并更新列表上的内容。将对象的所属类(即类的元数据信息)、对象的Hashcode和对象的GC信息、锁信息等数据存储在对象的对象头中。
2025-05-24 23:43:41
536
原创 滑动窗口算法
滑动窗口算法是一种通过动态调整窗口边界来高效处理连续子数组或子字符串问题的双指针技术。其核心优势在于将时间复杂度从暴力枚举的O()O()优化到O(N),广泛应用于数组/字符串处理、流量控制等领域。。
2025-05-13 12:31:52
195
原创 数据结构和算法(九)--红黑树
红黑树是含有红黑链接并满足下列条件的二叉查找树:1、红链接均为左链接;2、没有任何一个结点同时和两条红链接相连;3、该树是完美黑色平衡的,即任意空链接到根结点的路径上的黑链接数量相同;
2025-04-26 22:20:02
1023
原创 数据结构和算法(八)--2-3查找树
含有一个键(及其对应的值)和两条链,左链接指向2-3树中的键都小于该结点,右链接指向的2-3树中的键都大于该结点。含有两个键(及其对应的值)和三条链,左链接指向的2-3树中的键都小于该结点,中链接指向的2-3树中的键都位于该结点的两个键之间,右链接指向的2-3树中的键都大于该结点。
2025-04-26 21:12:31
877
原创 数据结构和算法(七)--树
树是由n(n>=1)个有限结点组成一个具有层次关系的集合。把它叫做"树"是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。树是我们计算机中非常重要的一种数据结构,同时使用树这种数据结构,可以描述现实生活中的很多事物,例如家谱、单位的组织架构、等等。4、每个结点及其后代结点整体上可以看做是一棵树,称为当前结点的父结点的一个子树。3、每一个非根结点只有一个父结点。1、每个结点有零个或多个子结点。2、没有父结点的结点为根结点。
2025-04-16 21:35:38
465
原创 数据结构和算法(六)--栈&队列&堆
是限制插入和删除只能在一个位置上进行的表,该位置是表的末端,叫做栈顶(top)。它是(LIFO)的。对栈的基本操作只有 push(进栈)和 pop(出栈)两种, 前者相当于插入,后者相当于删除最后的元素。栈是一种基于先进后出(FILO)的数据结构,是一种只能在一端进行插入和删除操作的特殊线性表。它按照先进后出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据(最后一个数据被第一个读出来)。我们称数据进入到栈的动作为,数据从栈中出去的动作为。
2025-04-16 21:35:12
392
原创 Java BigInteger 详解
BigInteger类位于 java.math 包中,是Java提供的一个用于进行任意精度整数计算的类。它可以表示比 long 更大的整数,且不受限制于固定的位数。Biglnteger 采用了不可变的设计,即一旦创建,就无法改变其值。对于常用的常量值,可以预先定义为Biglnteger类型,避免多次创建实例的开销。
2025-04-08 21:16:57
1030
原创 数据结构和算法(十二)--最小生成树
如果不同的边权重可以相同,那么一副图的最小生成树就可能不唯一了,虽然我们的算法可以处理这种情况,但为了好理解,我们约定所有边的权重都各不相同。最小生成树的定义说明它只能存在于连通图中,如果图不是连通的,那么分别计算每个连通图子图的最小生成树,合并到一起称为最小生成森林。图的生成树是它的一颗含有其所有顶点的无环连通子图,一副加权无向图的最小生成树它的一颗权值(所有边的权重都各不相同。树中所有边的权重之和。
2025-04-08 21:16:12
349
原创 Java中的Integer.bitCount
原文链接:https://blog.csdn.net/qq_27007509/article/details/112246576。bitCount(int i) 函数,实现统计一个数的二进制位有多少个 1。如 5 的二进制为 101,返回 2。区间 1 至 8,方便描述把奇数位置叫「奇数区间」,偶数位置叫「偶数区间」。理解了32个数位的做法,那推广到64个数位也可以利用上述的思想。参与运算的只有 D4 并且 D4 的后六位就是结果值。只取 D4 参与运算并返回就行。这就是前三行代码做的事。
2025-03-31 21:19:43
887
原创 数据结构和算法(十一)--图
图是由一组顶点和一组能够将两个顶点相连的边组成的1、自环:即一条连接一个顶点和其自身的边;2、平行边:连接同一对顶点的两条边;按照连接两个顶点的边的不同,可以把图分为以下两种:无向图:边仅仅连接两个顶点,没有其他含义;有向图:边不仅连接两个顶点,并且具有方向;
2025-03-31 21:15:21
553
原创 数学-算法
约翰·卡尔·弗里德里希·高斯(Johann Carl Friedrich Gauss ,1777年4月30日-1855年2月23日)德国著名数学家、物理学家、天文学家、大地测量学家,是近代数学奠基者之一,被认为是历史上最重要的数学家之一,并享有“数学王子”之称。高斯和阿基米德、牛顿并列为世界三大数学家。一生成就极为丰硕,以他名字“高斯”命名的成果达110个,属数学家中之最。他对数论、代数、统计、分析、微分几何、大地测量学、地球物理学、力学、静电学、天文学、矩阵理论和光学皆有贡献。
2025-03-26 18:00:18
723
原创 Java中Arrays类学习
6、Arrays.copeOf() 和Arrays.copeOfRange();//二分查找法找指定元素的索引值(下标)Arrays类位于 java.util 包中,主要包含了操作数组的各种方法。//将数组中的内容全部打印出来。//比较数组元素是否相等。
2025-03-19 12:48:55
221
原创 Java如何判断质数
质数:在大于1的整数中,如果只包含1和本身这两个约数,就被称为质数(素数)。质数:又称素数。是一个大于1的自然数(最小质数为2)。除了1和它自身外,不能被其他自然数整除的数。=>质数:用n除[2,n-1]的所有数,不能整除就是n就是质数。方法1:枚举枚举从2~N的每一个数实际上不用枚举到N,只需要枚举到就行不要使用sqrt()函数,直接求,因为该函数运算较慢注意数据溢出,i * i <= n可能会溢出,推荐使用i <= n / iif (n==1){
2025-03-19 12:40:29
331
原创 COBOL语言总结(四)-编辑型
设定值小于长度时高位补空格,并将其计入项目的大小。COLUMN NUMBER短语:表示此项目是打印项目,并指定打印行上的打印位置。"+"位置不变,正数的时候显示"+",负数的时候显示"-",并将其计入项目的大小。指示应插入字符“,”的字符位置,并将其计入项目的大小。指示应插入字符“\”的字符位置,并将其计入项目的大小。指示应插入字符“/”的字符位置,并将其计入项目的大小。B表示插入空格的字符位置,并将其计入项目的大小。高位0置换为SPACE,并将其计入项目的大小。显式小数点位,并将其计入项目的大小。
2025-03-18 09:02:49
795
原创 Java Debug异常问题调查
感觉和编译器的优化的指令重排有关系。导致会提前触发代码。无感的,莫名其妙的。,能发现调用的地方进行追溯错误对象属性变化的原因。调用方法return对象和返回接收的对象不同。调查方法,在对象变化的属性的地方。
2024-11-23 15:45:20
482
原创 Java 正则表达式
()分组符号可以理解为,数学运算中的括号,用于计算的分组使用。比如[abc],意思是满足abc中的某一个,这样比较好记。: 放在正则的最开始位置,就代表起始的意思,放在中括号里,表示排除的意思。也就是说,/[^a]/和/^[a]/是不一样的,前者是排除的意思,后者是代表首位。其实可以简单的理解,贪婪模式就是尽可能多的匹配,非贪婪模式就是尽可能少的匹配.\w : 字符 ( 字母 ,数字,下划线_ )$:正则的最后位置,就代表结束的意思.用于构建正则表达式的符号,常用的有。
2024-11-12 21:16:25
1842
原创 1024程序员节-2024
一年一度的1024程序员节到来之际,心情有点小激动。最近半年忙碌点孩子 & 家庭的事情,对于技术方面有一点点松懈。从现在开始继续深耕技术。继续前进~~
2024-10-24 23:19:51
436
原创 【创作纪念日】我的三周年创作纪念日
光阴荏苒,从我开始在CSDN写作已经整整3年(2024.7.10),3年前的今天2021.7.10开始记录第一篇文章,到今天的305篇文章!没想到!积累的力量!继续努力!
2024-07-10 23:03:57
410
原创 Spring AI 学习(一)
Spring AIJava接入人工智能大模型1.1、四次工业革命发展和变革人类社会的四次工业革命推动了人类社会发展和变革:蒸汽时代、电气时代、信息时代、智能时代。第一次工业革命(18世纪60年代~19世纪中期,大约是1760年到1860年)也称为蒸汽时代,发源于英格兰中部地区,是资本主义工业化的早期阶段;蒸汽机的发明及运用成为了这个时代的标志,因此历史学家称这个时代为“蒸汽时代”;蒸汽时代的显著特征是机械化生产和大规模生产,推动了生产力的飞跃,带来了极大的经济增长;
2024-05-08 00:10:15
2161
2
原创 Apache Spark
简而言之,Spark借鉴了MapReduce思想发展而来,保留了其分布式并行计算的优点并改进了其明显的缺陷。让中间数据存储在内存中提高了运行速度、并提供丰富的操作数据的API提高了开发速度。Spark可以计算:结构化、半结构化、非结构化等各种类型的数据结构,同时也支持使用Python、Java、Scala、R以及SQL语言去开发应用程序计算数据。Spark的适用面非常广泛,所以,被称之为统一的 (适用面广) 的分析引擎 (数据处理)。Spark是一款分布式内存计算的统一分析引擎。
2024-03-25 00:26:48
496
原创 Apache HBase(二)
2. 在配置文件hbase-site.xml 文件中增加如下配置-->分发到集群其他机器。能够展示HBase中所有能使用的命令,主要使用的命令有。查看命令使用方式以create_namespace为例。上面命令中的list相当于数据库中的show命令。再进行下面命令行操作。问题:创建namespace报错!1、进入HBase客户端命令行。1. 停止hbase集群。3. 从启hbase集群。
2024-03-25 00:26:33
854
1
原创 Apache Flink
Flink起源于Stratosphere项目,Stratosphere是在2010~2014年由3所地处柏林的大学和欧洲的一些其他的大学共同进行的研究项目,2014年4月Stratosphere的代码被复制并捐赠给了Apache软件基金会,参加这个孵化项目的初始成员是Stratosphere系统的核心开发人员,2014年12月, Flink一跃成为Apache软件基金会的顶级项目。在德语中,Flink一词表示快速和灵巧,项目采用一只松鼠的彩色图案作为logo,这不仅是因为松鼠具有快速和灵巧。
2024-03-19 23:07:23
1463
原创 Apache Storm
Storm是一个分布式计算框架,主要使用Clojure与Java语言编写,最初是由Nathan Marz带领Backtype公司团队创建,在Backtype公司被Twitter公司收购后进行开源。最初的版本是在2011年9月17日发行,版本号0.5.0。2013年9月,Apache基金会开始接管并孵化Storm项目。Apache Storm是在Eclipse Public License 下进行开发的,它提供给大多数企业使用。经过1年多时间,2014年9月,Storm项目成为Apache的顶级项目。
2024-03-19 23:05:22
1007
原创 代码编写规范
按照步骤拆分:step1Task() step2Task() step3Task()等。按照阿里巴巴《Java开发手册》编码规约进行约束自己的编码风格。拆分功能:befHandler() aftHandler()等。
2024-03-12 23:36:59
355
原创 FineBI软件--可视化报表
FineBI是帆软软件有限公司推出的一款商业智能(Business Intelligence)产品。FineBI是定位于自助大数据分析的BI工具,能够帮助企业的业务人员和数据分析师,开展以问题导向的探索式分析。多人协作可视化各种应用场景各种常见的分析图表和各种数据源大数据。
2024-03-12 23:28:40
718
原创 Apache HBase(一)
HBase使用与Bigtable非常相似的数据模型。用户将数据行存储在带标签的表中。数据行具有可排序的键和任意数量的列。该表存储稀疏,因此如果用户喜欢,同一表中的行可以具有疯狂变化的列。HBase 的设计理念依据Google的BigTable论文,论文中对于数据模型的首句介绍。映射中的每个值都是一个未解释的字节数组。Apache HBase™是以hdfs为数据存储的,一种。指代非关系型数据库的key-Value结构。稀疏的、分布式的、持久的。稀疏、分布式、多维、排序。的NoSQL数据库。
2024-03-09 09:26:33
874
原创 Apache Hive(三)
数据问题问题1:当前数据中,有一些数据的字段为空,不是合法数据解决:where 过滤问题2:需求中,需要统计每天、每个小时的消息量,但是数据中没有天和小时字段,只有整体时间字段,不好处理解决:Substr函数问题3:从GPS的经纬度中提取经度和纬度解决:split函数问题4:将ETL以后的结果保存到一张新的Hive表中解决:create table ... as select ....
2024-03-09 09:25:44
745
原创 Kubernetes(k8s)(一)
优点:可以保证每个容器拥有自己的文件系统、CPU、内存、进程空间等。运行应用程序所需要的资源都被容器包装,并和底层基础架构解耦。容器化的应用程序可以跨云服务商、跨Linux操作系统发行版进行部署。缺点:不能为应用程序定义资源使用边界,很难合理地分配计算资源,而且程序之间容易产生影响。:可以在一台物理机上运行多个虚拟机,每个虚拟机都是独立的一个环境。优点:程序环境不会相互产生影响,提供了一定程度的安全性。:互联网早期,会直接将应用程序部署在物理机上。缺点:增加了操作系统,浪费了部分资源。
2024-01-21 23:45:46
776
1
原创 Apache Hive(二)
1、Hive SQL DML语法之加载数据。2、Hive SQL DML语法之查询数据。3、Hive SQL Join关联查询。4、Hive SQL 中的函数使用。
2024-01-21 23:26:35
736
原创 数据仓库 & Apache Hive
数据仓库(英语:Data Warehouse,简称数仓、DW),是一个用于存储、分析、报告的数据系统。数据仓库的目的是构建面向分析的集成化数据环境,分析结果为企业提供决策支持思考:1、假如你现在手里有200w,当下的时间点去投资口罩生成,你做不做?能不能赚钱?2、假如你是公司营销总监,是否愿意招聘女主播进行短视频带货直播销售?
2024-01-12 00:31:24
894
原创 Hadoop分布式文件系统(三)
Hadoop MapReduce是一个分布式计算框架,用于轻松编写分布式应用程序,这些应用程序以可靠,容错的方式并行处理大型硬件集群(数千个节点)上的大量数据(多TB数据集)。MapReduce是一种面向海量数据处理的一种指导思想,也是一种用于对大规模数据进行分布式计算的编程模型。
2024-01-12 00:04:15
883
面试官面试开发人员,如何招聘到合适的人选?
2022-09-01
TA创建的收藏夹 TA关注的收藏夹
TA关注的人