- 博客(29)
- 收藏
- 关注
原创 flink架构设计
1.架构设计分层设计说明(相关术语解释)物理部署层-deploy层负责解决Flink的部署模式问题,支持多种部署模式:本地部署、集群部署(Standalone/Yarn/Mesos)、云(GCE/EC2)以及kubernetes。 通过该层支持不同平台的部署,用户可以根据自身场景和需求选择使用对应的部署模式。Runtime核心层 是Flink分布式计算框架的核心实现层,负责对上层不同接口提供基础服务。 支持分布式Stream作业的执行、JobGraph到ExecutionGraph的映
2021-08-30 20:47:34
424
原创 2021-08-30
**Flink初识**1、产生背景随着互联网应用的快速发展,实时流数据产生日益增多和普遍化。如日常生活、金融、驾驶、LBS、电商等众多领域概模能外。实时数据的处理和挖掘能够带来离线数据处理和挖掘更多的社会发展和商业价值。如何快速响应和处理这些大规模的实时数据流,在flink之前也出现了很多流数据处理引擎,包括storm、sparkstreaming等知名流行框架,但各自均有较明显的不足,导致没有达到理想的流处理引擎的标准要求,优秀流处理引擎标准要求低延迟、高吞吐量、容错性、窗口时间语义化、
2021-08-30 20:35:21
116
原创 2021-06-22 Mybatis
Mybatis1 Mybatis概述jdbc 问题数据库链接创建、释放频繁造成系统资源浪费从而影响系统性能,如果使用数据库链接池可解决此问题。Sql 语句在代码中硬编码,造成代码不易维护,实际应用 sql 变化的可能较大,sql 变动需要改变 java代码。使用 preparedStatement 向占有位符号传参数存在硬编码,因为 sql 语句的 where 条件不一定,可能多也可能少,修改 sql 还要修改代码,系统不易维护。对结果集解析存在硬编码(查询列名),sql 变化导致解析代码变化,
2021-06-22 20:59:46
113
原创 Java系列课程第四十二天 (JavaWEB-JSP)
Day42 JavaWEB-JSP1.Web流程1.1 软件架构C/S:客户端/服务器端B/S:浏览器/服务器端1.2 资源分类静态资源:所有用户访问后,得到的结果都是一样的,称为静态资源.静态资源可以直接被浏览器解析,如: html,css,JavaScript动态资源:每个用户访问相同资源后,得到的结果可能不一样。称为动态资源。动态资源被访问后,需要先转换 为静态资源,在返回给浏览器,如:servlet/jsp,php,asp…1.3 网络通信三要素IP:电子设备(计算机)在网络中的
2021-05-25 19:34:38
173
原创 Java系列课程第四十三天 (JavaWEB-JSP)
Day42 JavaWEB-JSPServlet1.1 ResponseHttp中响应消息格式*格式:HTTP/1.1 200 OKContent-Type: text/html;charset=UTF-8Content-Length: 101Date: Wed, 06 Jun 2018 07:08:42 GMT(空行)<span class="katex--inline">Title</span>hello , response 1) 响
2021-05-25 19:28:15
287
原创 Java系列课程第三十九天 (jQueryHTML与插件)
Day39 AJax1.Ajax介绍(1)、老版的请求代web程序最初的目的就是将信息(数据)放到公共服务器上,让所有的网络用户都可以通过浏览器访问。我们一般都是通过以下方式让浏览器发送服务器请求,获得服务器数据1、地址栏输入地址2、特定元素的href 或者src属性3、表单提交弊端:这些方案我们很难通过代码的方式进行编程,而且每次请求都会刷新网页。(2)什么是Ajax1、AJAX( Asynchronous JavaScript and XML)异步的 JavaScript 和 XM
2021-05-19 20:15:13
162
原创 Java系列课程第三十八天 (jQueryHTML与插件)
Day38 jQueryHTML与插件1、jQuery 对HTML的设置与捕获jQuery 中非常重要的部分,就是操作 DOM 的能力。jQuery 提供一系列与 DOM 相关的方法,这使访问和操作元素和属性变得很容易。(1)、html()html() - 设置或返回所选元素的内容(包括 HTML 标记)。$("#btn2").click(function(){alert(“HTML: " + $(”#test").html());});$("#btn2").click(function(
2021-05-18 19:46:31
134
原创 Java系列课程第三十七天 (jQuery)
Day37 jQuery1.jQuery介绍(1)、JavaScript与jQuery比较js: 1、入口函数只有一个,window.onload2、浏览器兼容性:非常令人头疼,比如textContent虽然作为标准方法但是只支持IE8+以上的浏览器3、DOM错综复杂,实现简单的效果很麻烦4、代码容错性差,出错后导致后面的代码不执行jQuery: 1、市场占有率稳步上升,代码比较少,功能强大2、DOM比较强大,事件处理,完全解决了浏览器的兼容性问题3、ajax操作(比较好)(2)、什
2021-05-17 21:09:07
108
原创 Java系列课程第三十六天 (DOM节点操作、事件对象与BOM)
Day36 DOM节点操作、事件对象与BOM1.节点操作(1)、什么是节点根据 W3C 的 HTML DOM 标准,HTML 文档中的所有内容都是节点:整个文档是一个文档节点 document每个 HTML 元素是元素节点HTML 元素内的文本是文本节点每个 HTML 属性是属性节点注释是注释节点(2)、节点类型通过noteType属性可以获取节点的类型document的节点类型—9console.log(document.nodeType);//9标签的节点类型—1var b
2021-05-16 21:14:14
158
原创 Java系列课程第三十五天 (属性操作与实践)
Day35 属性操作与事件1.案例扩展(1)、隔行换色案例一:完成对无序列表的隔行换色(原理~~~通过循环获取元素得到的伪数组进行取余逻辑判断操作)var btn = document.getElementById(“btn”);var liObj = document.getElementById(“list”).getElementsByTagName(“li”);console.log(liObj);btn.onclick = function () {//第一种for (var i
2021-05-16 21:10:37
163
原创 Java系列课程第三十三天 (JavaScrip)
Day33 JavaScrip1. JavaScript介绍(1)、JavaScript是什么1、JavaScript的历史Netscape(网景)在最初将其脚本语言命名为LiveScript,是布兰登.艾克发明的。后来Netscape在与Sun合作之后将其改名为JavaScript。JavaScript最初受Java启发而开始设计的,目的之一就是“看上去像Java”,因此语法上有类似之处,一些名称和命名规范也借自Java。JavaScript与Java名称上的近似,是当时Netscape为了营销考
2021-05-10 19:11:19
147
原创 Java系列课程第二十四天(stream转换算子用法)
Day24 stream转换算子用法常用转换算子常用转换算子 filter,distinct,map,limit,skip,flatMap等filter : 对元素进行过滤筛选,不符合的就不要了distinct : 去掉重复的元素skip : 跳过多少元素limit : 取一个集合的前几条数据map :可以理解是在遍历集合的过程中,对元素进行操作,比如判断集合元素是否是a 返回boolean因为 map的返回值,就是新集合中的元素,所以也可以在遍历的时候对集合的数据进行更改,比如都加 –
2021-04-23 19:17:55
312
原创 Java系列课程第二十二天(网络编程、正则表达式)
Day22 -网络编程、正则表达式1、网络编程概述ava是 Internet 上的语言,它从语言级上提供了对网络应用程 序的支持,程序员能够很容易开发常见的网络应用程序。Java提供的网络类库,可以实现无痛的网络连接,联网的底层 细节被隐藏在 Java 的本机安装系统里,由 JVM 进行控制。并 且 Java 实现了一个跨平台的网络库,程序员面对的是一个统一 的网络编程环境。2、网络基础计算机网络:把分布在不同地理区域的计算机与专门的外部设备用通信线路互连成一个规 模大、功能强的网络系统,从而使
2021-04-20 21:47:39
171
原创 Java系列课程第二十一天(单例模式、死锁、线程通信、线程池)
Day21 单例模式、死锁、线程通信、线程池1. 单例模式1.1 概述让某个类只能实例化对象一次,保证只有一个对象,每次用的都是同一个对象1.2 实现传统的写法在多线程中是不行的可能有多个线程同时进入s==null判断,导致创建多个对象如果直接对方法加锁是可以的,但是效率低,我们只需要保证创建对象的时候,加锁,只要创建过对象之后,就不加锁即可这样就能保证 创建对象的时候 排队,但是只创建一次第二次在进行多线程获取对象的时候,就不需要排队了,因为在外面的s==null 就为false了
2021-04-19 23:05:56
100
原创 Java系列课程第二十天(多线程创建、生命周期、锁)
Day20 多线程创建、生命周期、锁1. 程序、进程、线程程序(program)是为完成特定任务、用某种语言编写的一组指令的集合。即指一段静态的代码,静态对象。进程(process)是程序的一次执行过程,或是正在运行的一个程序。是一个动态的过程:有它自身的产生、存在和消亡的过程。——生命周期如:运行中的QQ,运行中的MP3播放器程序是静态的,进程是动态的进程作为资源分配的单位,系统在运行时会为每个进程分配不同的内存区域·线程(thread).进程可进一步细化为线程,是一个程序内部的一条执行路径
2021-04-16 19:47:14
132
原创 Java系列课程第十八天(IO)
Day18 IO1 概念NIO即New IO,这个库是在JDK1.4中才引入的。NIO和IO有相同的作用和目的,但实现方式不同,NIO主要用到的是块,所以NIO的效率要比IO高很多。在Java API中提供了两套NIO,一套是针对标准输入输出NIO另一套就是网络编程NIO1.1 NIO和IO的主要区别1、面向流与面向缓冲Java IO和NIO之间第一个最大的区别是,IO是面向流的,NIO是面向缓冲区的。 Java IO 面向流意味着每次从流中读一个或多个字节,直至读取所有字节,它们没有被缓
2021-04-14 18:45:19
84
原创 Java系列课程第十六天(Set、比较器)
Day16 Set、比较器1. 集合1、java中的集合类:是一种工具类,就像是容器,储存任意数量的具有共同属性的对象2、集合的作用 a、在类的内部,对数据进行组织 b、简单而快速的搜索大数量的条目 c、有的集合接口,提供了一系列排列有序的元素,并且可以在序列中间快速的插入或者删除有关的元素 d、有的集合接口,提供了映射关系,可以通过关键字(key)去快速查找到对应的唯一对象,而这个关键字可以使任意类型3、与数组对比,选择集合 a、数组的长度固定,集合长度可变 b、数组
2021-04-12 19:13:22
266
原创 Java系列课程第十五天(集合、List、Set)
Day15 集合、List、Set1. 集合2. 1.1 是什么1.2 继承体系Java的集合类主要由两个接口派生而出:Collection和Map。Collection和Map是Java结合框架的根接口,这两个接口又包含了一些子接口或实现类。由以上两图我们可以看出Java集合类有清晰的继承关系,有很多子接口和实现类。但是,并不是所有子接口或实现类都是最常用的。下面我们列举出最常用的几个子接口和实现类:Collection ——> List ——> ArrayList类Co
2021-04-11 17:28:30
98
原创 Java系列课程第十三天(常用API)
Day13 常用API1 谁的方法(哪个类的)2 什么方法(静态还是成员)3 功能是什么(这个方法能做什么)4 入参(使用该方法需要传递什么参数)5 出参(该方法返回值是什么)1. String1.1 是什么String 是字符串类 , 在 java.lang.String , 所以使用不需要导包 底层就是一个char数组,所以字符串很多特性就是数组特性 数组特性 : 查询更改快,添加删除慢 长度一旦确定不可更改 字符串一旦确定 不能更改
2021-04-08 22:22:05
104
原创 Java系列课程第十二天(接口、类关系、内部类、设计模式)
Day12 接口、类关系、内部类、设计模式1. 面向对象1.1 Interfaceinterface是面向对象编程语言中接口操作的关键字,功能是把所需成员组合起来,用来装封一定功能的集合。它好比一个模板,在其中定义了对象必须实现的成员,通过类或结构来实现它。接口不能直接实例化,即ICount ic=new iCount()是错的。接口不能包含成员的任何代码,只定义成员本身。接口成员的具体代码由实现接口的类提供。接口使用interface关键字进行声明。1.1.1 是什么Interface是定义接口
2021-04-07 20:13:42
122
原创 Java系列课程第十一天(抽象)
Day11 抽象抽象的概念图形是有面积的,但是没有具体的计算公式,那么在父类中这个计算面积的方法就是抽象方法。动物是可以吃东西的,但是不能确定具体吃什么,那么在动物这个父类中吃东西的方法就应该是抽象方法。抽象方法: 就是加上abstract关键字,然后去掉大括号,直接分号结束抽象类:抽象方法所在的类,必须是抽象类才行,在class之前写上abstract即可。java抽象类的特点:抽象类无法被实例化子类继承抽象类然后实例化子类子类继承了抽象类剋必须实现抽象类的中的抽象方法抽象类的定义 a
2021-04-06 20:56:51
79
原创 Java系列课程第九天(覆写、final、多态 )
Day09 覆写、final、多态1. 面向对象1.1 覆写1.1.1 是什么覆写就是子类和父类有个一样(方法名,参数列表,返回值都一样)的成员方法覆写特指成员方法,只有成员方法可以覆写1.1.2 应用场景什么时候需要覆写:如果父类方法不能满足子类需求的时候,需要对方法进行覆写覆写条件1必须是有继承关系2方法名,参数列表,返回值必须相同3不能拥有更低访问权限4不能有更宽泛的异常继承最基本的作用:代码重用继承最重要的功能:方法覆写覆写目的:1满足当前需求2错误越来越少3使
2021-04-05 11:59:30
162
1
原创 Java系列课程第八天(static、this、封装、继承 )
Day08 static、this、封装、继承1.1 传值和传引用注意 : 传引用,传递的是地址,如果地址传递到另一个地方,则拥有相同地址的变量,可以找到同一个对象,那么操作的数据也是相互的1.2 This1.2.1 是什么this是每个对象中,保存当前内存地址的一个引用类型变量this代表当前对象的意思谁调用的当前方法,this就是谁**1.2.2 能干什么**在成员方法或者构造方法中,用来区分同名的局部变量和成员变量this不能出现在静态环境下return this;返回当前对
2021-03-31 20:29:53
107
原创 Java系列课程第七天(类与对象、构造器)
Day07 类与对象、构造器1. 面向对象概述面向对象(Object Oriented)是软件开发方法,一种编程范式。面向对象的概念和应用已超越了程序设计和软件开发,扩展到如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。面向对象是一种对现实世界理解和抽象的方法,是计算机编程技术发展到一定阶段后的产物。面向对象是相对于面向过程来讲的,面向对象方法,把相关的数据和方法组织为一个整体来看待,从更高的层次来进行系统建模,更贴近事物的自然运行模式。1.2
2021-03-30 19:41:30
98
原创 Java系列课程第五天(数组遍历、排序、二分法)
Day05 数组遍历、排序、二分法1. 数组1.1 概述基于底层的数据结构,任何语言都有用于存储多个数据数组可以看成是多个相同类型数据的组合,实现对这些数据的统一管理数组中的每一个数据 — 数组的一个元素(element)数组中的元素可以是任何数据类型,包括基本数据类型和引用类型数组中元素的个数,称为数组的长度(length)Java语言中声明数组时不能指定其长度e.g. int a[5]; //非法1java中的数组可以看做多个相同数据类型的存储容器有序,可重复线
2021-03-28 15:39:25
264
原创 Java系列课程第四天(内存划分、递归、数组初识)
Day04 内存划分、递归、数组初识1.内存划分1.1 程序和进程程序 : 可执行文件(指令集合),是个静态概念,一般保存在硬盘中进程 : 正在执行的文件,是一个动态概念,运行起来的程序,就是指载入到内存中的可执行文件,这个时候操作系统会开启一个进程来运行内存中的这个文件对象,如果要关闭某个程序,就可以直接杀死这个进程1.2 JVM内存划分Xxx.class 是个静态概念,保存在硬盘中,当我们执行java 运行命令的时候,会把该class文件载入内存中Java Runtime Data Ar
2021-03-25 20:26:39
99
原创 Java系列课程第三天(流程控制、循环、方法)
Day_02 流程控制、循环、方法1 Switch1.1 语法javaSE1.7之前只可以操作整型,1.7开始(包括1.7)可以操作字符串switch(int/char类型){case 值:代码;break;case 值:代码;break;case 值:代码;break;default:代码;}1.2 案例//default 也可以写在上面,但是还是会先执行case再执行defaultchar c=‘S’;switch(int/char类型){case ‘A’:S
2021-03-24 19:07:47
164
原创 java系列课程第二天(数据类型、变量、操作符)
Day_02 数据类型、变量、操作符1.数据类型1.1分类数据分为基本类型(数值型,字符型和布尔型)和引用类型(类,数组和接口)基本类型 整数型 byte 8位 short 16位 -32768~32767 int 32位 最大是2147483647 long 64位 浮点型 float 32位 double 64位 布尔型 boolean 8位 字符型 char 16位 0~65535 没有负数1.2整型案例使用int创建一个32位大小的空间
2021-03-23 19:44:51
95
原创 java系列课程第一天(软件安装规范、java初识)
**Day_01 软件安装规范、java初识**1.打字练习每天坚持打字,把打字速度提高的180以上https://dazi.kukuw.com/2.安装规范磁盘分类,方便管理 根据提示下一步,一直到最后完成分盘安装目录:不要使用特殊符号!@#$%^& *,不要使用汉字,空格等否则容易出现错误3.java安装3.1安装目录创建java文件夹在想要安装java的目录下创建一个java文件夹,不能出现特殊符号和汉字、空格等3.2 java文件夹内创建jdk和jreJava
2021-03-22 19:54:27
209
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人