自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小峰的博客

菜鸟一只,欢迎老鸟指正。

  • 博客(40)
  • 收藏
  • 关注

原创 【原理与应用】3-flink安装与部署

一个Job会对应一个集群,每提交一个作业会根据自身的情况,都会单独想yarn申请资源,直到作者执行完成,一个作作业的失败与否并不会影响下一个作业的正常提交和运行。stanalone模式是指在裸机上运行flink,通过自身的资源调度器来运行,一般这种方式不推荐,flink集群一般与其它集群,像spark,Hadoop等共存,所以在底层需要有一套资源调度管理系统,不然容易造成资源竞争或者资源浪费。可以发现,独立模式的特点是不依赖外部资源管理平台,而会话模式的特点是先启动集群、后提交作业。

2025-09-26 00:02:11 1116

原创 【源码剖析】5-生产者-RecordAccumulator分析

主线程调用KafakaProducer.send方法之后,先将消息暂存在RecordAccumulator中,然后就可以返回了,当达到一定的条件,就会唤醒Sender线程发送RecordAccumulator中的消息。由于两个线程会操作RecordAccumulator,所以其必须是线程安全的。

2025-09-25 23:43:45 1156

原创 【源码剖析】4-生产者-KafkaProducer分析

在前面Kafka消息发送的示例中,只指定了topic的名称,并未明确指定分区编号,但是在发送消息时,需要知道topic的分区数量,经过路由后确定目标分区,之后通过服务器地址、端口等信息才能建立链接,将消息发送到Kafka中,因此,在Kafka中维护了集群元数据:在topic中有几个分区,每个分区的Leader副本分配在哪个节点上,Follower副本分配在哪个节点上,哪些副本在ISR集合中以及这些节点的网络地址、端口。这三个类在Cluster中可以完整的表示出KafkaProducer需要的元数据集群。

2025-09-11 23:26:07 887

原创 【doris基础与进阶】3-Doris安装与部署

在windows系统上通过vmware+ubuntu 22.04的方式进行安装,由于资源有限,在同1台机器上同时安装fe和be(broker本次不安装,极简化安装),安装版本为2.1.10,2.x版本架构不会有大的变化,如果有其它版本的安装包也可使用。只需安装fe和be这两个组件后,即可使用Doris。如果失败并且日志有以下报错,可以删除fe/doris-meta下的所有文件。下载到root主目录下,使用解压命令。

2025-08-13 00:06:11 619

原创 【原理与应用】2-Flink快速上手

Spark原先使用akka进行通信,后来从Spark1.3.1版本开始,为了解决大块数据(如Shuffle)的传输问题,Spark引入了Netty通信框架,到了1.6.0版本,Netty完全取代了Akka,承担Spark内部所有的RPC通信以及数据流传输。添加依赖后发现在第二个依赖中有2.12的后缀,flink使用Java编写,但是他依赖的底层使用的是akka进行通信,akka使用Scala进行编写,这里的2.12是指Scala的版本。项目使用maven进行项目管理,首先编写pom文件,添加下面两项依赖。

2025-08-08 00:09:19 198

原创 【原理与应用】1-flink简介

高吞吐和低延迟结果的准确性精确一次的状态一致性保证可以连接到常用的存储系统高可用能够更新应用程序代码并将作业迁移到不同的flink集群。

2025-08-07 00:21:30 1076

原创 【源码剖析】3-生产者KafkaProducer使用示例

首先在properties对象中写入生产者对象KafkaProducer需要的配置项,然后通过KafkaProducer的send对象进行发送。

2025-08-07 00:11:12 275

原创 【doris基础与进阶】2-Doris核心设计

对于一个OLAP分析型数据库来说,最核心的3个组成部分是存储引擎、查询引擎和存储优化器,此外doris还有CPU向量化执行能力,进一步提升了doris的查询性能。

2025-07-16 00:24:17 300

原创 【源码剖析】2-搭建kafka源码环境

在上篇文章中,解释了kafka的核心概念,下面开始进行kafka源码编译。

2025-06-11 00:59:54 534

原创 Java核心技术-Chapter0-前言

今年因为疫情的原因在家闲了几个月,快要开学了,在家这么多天看论文,发现对看论文没什么灵感,对是否进行科研这条道路有点顾忌。现在深度学习无疑是特别火的,但是根据我的了解,某些大厂比如说阿里腾讯等,基本上计算机视觉和自然语言处理都是博士或者985优秀的硕士或者海归才能找到工作,而普通本科或者211的硕士除非很有能力:比如说2-3篇顶会或者参加过实际的科研项目等才有可能成功拿到offer。但是如果想去二三线城市找个深度学习的工作,还是不用担心的。我感觉这些地方只要你有实力,对学历或者学校的要求还是比较小的,还

2025-06-07 11:34:21 342

原创 【doris基础与进阶】1-Doris概述

本系列笔记主要记录doris学习相关的内容。

2025-06-07 00:39:24 867

原创 【源码剖析】1-kafka核心概念

在进行kafka源码学习之前,先介绍一下Kafka的核心概念。

2025-06-04 00:57:51 423

原创 netty高性能编程基础(BIO、NIO、Netty、源码、使用netty实现dubbo RPC)

Netty是由JBOSS提供的一个Java开源框架,现为Github上的独立项目。Netty是一个异步的、基于事件驱动的网络应用框架,用以快速开发高性能、高可靠性的网络IO程序。Netty主要针对在TCP协议下,面向Clients端的高并发应用,或者Peer-to-peor场景下的大量数据持续传输的应用。Netty本质是一个NIO框架,适用于服务器通讯相关的多种应用场景要透彻理解Netty ,需要先学习NIO,这样我们才能阅读Netty的源码。Java BIO 就是传统的java io编程。

2022-10-10 11:57:14 451

原创 shell脚本编程-基础篇

在实习的时候用到了shell脚本,并且在面试中手撕代码时也让写过脚本,所以系统的学习了一下shell编程基础,对脚本编程的基础有了一些了解,主要源于bilibili上的视频,有些地方加了一些自己的理解和代码。第1章 shell概述shell就是一个用户与操作系统交互的解释器,接收用户命令,然后调用操作系统。shell还是一门脚本编程语言,我们可以使用它编写脚本完成很多操作。Linux提供的shell解析器有很多,可以使用cat /etc/shells命令查看,centos和Ubuntu的默认解析器都是

2021-11-06 19:16:35 1003

原创 2-Redis应用之分布式锁-阅读笔记

文章目录分布式锁分布式应用进行逻辑处理时经常会遇到并发问题。比如一个操作要修改用户的状态,修改状态需要先读出用户的状态,在内存里进行修改,改完了再存回去。如果这样的操作同时进行了,就会出现并发问题,因为读取和保存状态这两个操作不是原子的。这个时候就要使用到分布式锁来限制程序的并发执行。分布式锁分布式锁本质上要实现的目标就是在 Redis 里面占一个“茅坑”,当别的进程也要来占时,发现已经有人蹲在那里了,就只好放弃或者稍后再试。占坑一般是使用 setnx(set if not exists) 指令,只允

2021-04-19 22:27:40 435

原创 1-Redis基础数据结构-阅读笔记

文章目录string(字符串)键值对批量键值对过期和set命令扩展计数list(列表)右边进左边出:队列右边进右边出:栈慢操作hash(字典)set(集合)zset(有序集合)容器型数据结构的通用规则Redis 有 5 种基础数据结构,分别为:string (字符串)、list (列表)、set (集合)、hash (哈希) 和 zset (有序集合),选取最常见的指令进行说明。string(字符串)字符串是Redis中最常见的数据结构,Redis所有的数据结构都是以唯一的key字符串作为名称,然后通

2021-04-17 22:07:18 485

原创 单例模式的几种写法

只能生成一个实例的类是实现了Singleton模式的类型。第1种:只适用于单线程环境public class Singleton1 { private Singleton1(){} private static Singleton1 instance; public static Singleton1 getInstance(){ if (instance == null){ instance = new Singleton1();

2021-02-28 13:57:56 135

原创 1-Spring IOC 的概念-阅读笔记

1.Spring的概述Spring的出现主要是由于EJB的失败,EJB配置复杂,它需要大量的配置文件进行配置,从而造就了Spring的崛起。在Spring中,它会认为一切Java类都是资源,而资源都是bean,容纳这些Bean的就是Spring的IOC容器,所以Spring就是基于Bean的编程。IOC容器主要采用了控制反转,就是把Bean的控制权交给IOC容器。比如说,之前我们创建一个对象的时候都会进行new,而当我们使用了IOC容器之后,只需要进行编写配置文件或者使用注解,当我们使用的时候直接获取

2021-02-08 22:19:14 181

原创 Graph-based Knowledge Tracing: Modeling Student Proficiency Using Graph Neural Network

论文题目:《基于图的知识追踪:基于图神经网络的学生能力建模》期刊年份:2019 ACM论文地址:地址代码地址:代码一、概述受图神经网络的启发,本文提出了一种基于图神经网络的知识跟踪方法,即基于图的知识跟踪。将知识结构转化为一个图,使得我们能够将知识跟踪任务重新表述为GNN中的时间序列节点级分类问题。本文基于以下三个假设:1)课程知识被分解成一定数量的知识概念。2) 学生有自己的时间知识状态,代表他们对课程概念的熟练程度。3) 课程知识的结构是一个图形,它影响着学生知识状态的更新:如果学生正确或错

2021-01-22 11:55:25 1946 7

原创 itertools.zip_longest(*[train] * 3)

import itertoolswith open(“static2011.txt”) as train:for a,b,c in itertools.zip_longest(*[train] * 3):print(a,b,c)这个从文件中可以一次取三行,不知道为啥,大佬们可以解释一下吗

2020-12-04 22:24:01 433 2

原创 Mybatis使用中的问题

报错信息org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.hanxf.book.mapper.BookingListMapper.selectAll at org.apache.ibatis.binding.MapperMethod$SqlCommand.<init>(MapperMethod.java:235) ~[mybatis-3.5.4.jar:3.5.4] .

2020-09-06 20:57:14 332

原创 Spring Cloud H版&Alibaba

spring Cloud经过重大更新后,spring cloud H版&Alibaba对相关组件的替代品。参考:周阳视频

2020-08-10 20:50:53 286

原创 vue的入门-基本使用

一、介绍1.Vue.js是什么Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动。官方网站:https://cn.vuejs.org2.初试Vue.js<!-- id标识vue作用的范围 --><div id="app"> <!-- {{}} 插值表

2020-07-04 23:50:36 315 1

原创 Failed to scan [file:/D:/maven_repo/com/oracle/ojdbc/oraclepki/oracle.osdt/osdt_cert.jar] from class

错误未解决,没有找到原因2020-07-03 09:43:48.397 WARN 3300 --- [ main] o.a.tomcat.util.scan.StandardJarScanner : Failed to scan [file:/D:/maven_repo/com/oracle/ojdbc/oraclepki/oracle.osdt/osdt_cert.jar] from classloader hierarchyjava.io.FileNotFoundExcep

2020-07-03 09:50:12 1204 4

原创 共勉

2020-06-26 20:50:25 189

原创 论文笔记《Item-Based Collaborative Filtering Recommendation Algorithms》

一、基本信息论文题目:《Item-Based Collaborative Filtering Recommendation Algorithms》发表期刊及年份:WWW 2001二、摘要近几年由于可获得信息的大量增长和访问网站的用户数大量增加,产生了一些重要的挑战:产生高质量的推荐、每秒为大量用户和物品实现实时推荐和在面临数据稀疏性的情况下如何实现快速收敛。在传统的协同过滤网络中,由于用户的增长而变得效果很差。为了解决这些问题,作者提出了基于物品的协同过滤算法。基于物品的协同过滤算法首先分析用户-物

2020-06-09 22:14:53 2989

原创 JSP内置对象

文章目录一.5个对象(共9种)二.3种属性范围(共4种)1.request2.session3.application三.五个对象详解1.request对象1)乱码解决2)接收请求参数3)显示全部头信息4)其它操作2.response对象1.设置头信息2.页面跳转3.操作cookie3.session对象1.取得session ID2.登录与注销4.application对象1.取得虚拟目录对应的绝对路径5.Web安全性及config对象1.web安全性2.config对象因为目前web项目一般采用前后端

2020-06-06 22:15:54 386

原创 Tomcat的配置:修改端口号、配置主页、配置虚拟目录

文章目录0.Tomcat的配置1.修改端口号2.配置虚拟目录3.配置首页0.Tomcat的配置Tomcat的下载及配置不再赘述,直接说明Tomcat如何进行配置。Tomcat的运行需要JDK的支持,需要配置JAVA_HOME环境变量。JAVA_HOME主要是在本机含有多个版本JDK的情况下说明使用哪个JDK进行配置。当我们下载好Tomcat后,解压后的文件夹内有如下的文件夹,他们的主要作用如下:下面我们说一下Tomcat最常用的3个配置:修改端口号,配置虚拟目录,配置首页。1.修改端口号Tom

2020-05-30 09:26:16 2652

原创 Java如何解析xml,这篇文章就够了

DOM4J是一组xml操作的组件包,主要用来读写XML文件。由于DOM4J性能优异,功能强大,且具有易用性,所以已经被广泛地应用开来。DOM4J的主要接口:接口描述Attribute定义了XML的属性Branch为能够包含子节点的节点,如XML元素和文档,定义了一个公共的行为CDATA定义了XML CDATA区域CharacterData是一个标识接口,标识基于字符的节点,如CDATA、Comment、TextComment定义了XML的注释D

2020-05-29 21:27:37 569

原创 springboot尚硅谷

01、入门-课程简介02、入门-Spring Boot简介03、入门-微服务简介04、入门-环境准备05、入门-springboot-helloworld06、入门-HelloWorld细节-场景启动器(starter)07、入门-HelloWorld细节-自动配置08、入门-使用向导快速创建Spring Boot应用09、配置-yaml简介10、配置-yaml语法11、配置-...

2020-05-05 20:57:06 366

原创 如何申请免费的ssl证书

现在很多网站都由原来的http://www.xxx.com转换为https://www.xxx.com,这就是说从http协议,转到了https协议。如果说现在不是https协议的话,chrome浏览器会给我们一个不安全的提示。https协议比http协议安全性高,对于一些表单的提交都是加密的,当我们在表单中输入一些敏感信息时,降低了数据泄露的可能性。下面我们介绍我们自己建设的网页,如何实现h...

2020-05-02 10:36:03 21415 1

原创 北邮机试

打牌问题题目描述输入描述输出描述输入示例输出示例总结题目描述牌只有1到9,手里拿着已经排好序的牌a,对方出牌b,用程序判断手中牌是否能够压过对方出牌。 规则:出牌牌型有5种 [1]一张 如4 则5…9可压过 [2]两张 如44 则55,66,77,…,99可压过 [3]三张 如444 规则如[2] [4]四张 如4444 规则如[2] [5]五张 牌型只有12345 23456 345...

2019-03-04 15:26:05 752

原创 Tomcat 8080端口占用

Tomcat 8080端口占用netstat -ano |findstr 8080 taskkill -pid [进程号] -f

2018-09-16 23:08:24 164

原创 非对称加密与解密

如果只是单方面采用非对称性加密算法,其实有两种方式,用于不同用处. 第一种是签名,使用私钥加密,公钥解密,用于让所有公钥所有者验证私钥所有者的身份并且用来防止私钥所有者发布的内容被篡改.但是不用来保证内容不被他人获得. 第二种是加密,用公钥加密,私钥解密,用于向公钥所有者发布信息,这个信息可能被他人篡改,但是无法被他人获得. 如果甲想给乙发一个安全的保密的数据,那么应该甲乙各自有一个私钥,甲...

2018-06-23 20:05:56 2305

原创 Httpget请求Servlet中的出现中文乱码问题

get请求中文乱码问题浏览器通过一种编码方式对请求数据进行编码,然后传到服务器,如何没有指明请求编码,服务器通过其默认编码来进行解码。当服务器处理完数据后,在解决中文乱码前先让我们看一下乱码的分类:响应编码请求编码暂时写个解决方案,原理以后在介绍下面我们解释一下这两种编码:响应编码是指在服务器返回数据时对数据的编码方式,如果编码不支持中文,且又在代码中使用了中文,一般会出现乱码问题。例如:当

2017-07-28 19:37:56 466

原创 ORG.JSON在Tomcat中报错问题(NoClassDefFoundError)

NoClassDefFoundError: org/json/JSONException解决方案在Java中写了个Java对象转JSON的类,在应用程序测试时没问题,然后到了Tomcat就报错。 最后查资料发现问题所在。附一张成功运行的图: 问题出现的原因如下: - jar包在构建的时候没有放到WEB-INF下的lib目录中 - 在项目的的src目录下放置了jar包 注意:**j

2017-07-28 18:14:14 964

转载 #由linux命令行下命令参数前的一横(-)和两横(--)的区别而得知的

在解释这些区别之前我们先了解一下有关linux的背景知识,这个需要大家先认真看完就会对这些区别有更深入的了解,对linux也有更深的了解关于System V和BSD风格以及他们与Linux的关系: 1、System V 和BSD同出于AT&T实验室的两个不同的部门,SystemV是一个Unix的商业化标准,BSD为Unix标准化的Berkeley风格。2、由于Linux是Linus Torvald

2017-07-22 23:39:24 391

原创 分糖果问题--蓝桥杯

问题描述  有n个小朋友围坐成一圈。老师给每个小朋友随机发偶数个糖果,然后进行下面的游戏:  每个小朋友都把自己的糖果分一半给左手边的孩子。  一轮分糖后,拥有奇数颗糖的孩子由老师补给1个糖果,从而变成偶数。  反复进行这个游戏,直到所有小朋友的糖果数都相同为止。  你的任务是预测在已知的初始糖果情形下,老师一共需要补发多少个糖果。输入格式 

2016-12-11 19:23:15 551

原创 直接插入排序

排序方法之直接插入排序作者:小峰最简单一个直接插入程序,下面首先我为大家讲解一下这个排序算法的主要思想。在排序的使用利用的是顺序存储结构——数组。将序列中的第1个记录看成是一个有序的子序列;从第2个记录起逐个进行插入,直至整个序列变成按关键字有序序列为止;整个排序过程需要进行比较、后移记录、插入适当位置。从第二个记录到第n个记录共需n-1趟。1.首先定义一个数组,如果数据个数为10,则需要建立一个长

2016-11-25 00:26:26 291

原创 学校员工管理系统 C++语言(继承、虚函数)

//代码#include #include #include using namespace std;//CPerson类class CPerson{public:CPerson(){}; CPerson(string nm,string pnum,string addr); ~CPerson(); CPerson * next;

2016-08-23 16:39:42 4968

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除