自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

菜鸡逆袭的博客

软弱的人总是屈服于欲望

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

原创 Flink-Sink_将结果输出到Kafka_Redis_ES_Mysql中

Sink将计算好结果输出到外部系统, 调用 addSink()传入指定的SinkFunction()将结果输出到 Kafka 中将结果输出到 Redis 中将结果输出到 ES 中将结果输出到 Mysql 中: 事先创建好表结构pom.xml 事先导入对应的 connector: <dependencies> <dependency> <groupId>org.apache.flink</groupId&

2021-01-15 14:45:24 820

原创 FlinkAPI_Environment_输入源_算子转化流程

Flink EnvironmentgetExecutionEnvironment()根据当前平台, 获取对应的执行环境, 若未设置并行度, 使用 flink-conf.yaml 中的并行度配置, 默认 1.StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();createLocalEnviroment()创建本地环境, 并行度默认为 CPU 核数, 也可在构造函数中传参

2021-01-14 18:01:52 398

原创 Flink并行度优先级_集群操作常用指令_运行组件_任务提交流程_数据流图变化过程

Flink运行组件JobManager: 作业管理器, 负责作业管理控制提交的 job 执行, JobManager 向 ResourceManager 请求 TaskManager 上的 slot, 获取到足够资源, 将该任务的执行图分发到运行的 TaskManager 上, 运行中, JobManager 负责所有需要中央协调的操作(例: checkpoints 协调, 存盘, 故障检测)TaskManager: 任务管理器, 负责干活Flink 中会有多个 TaskManager 执行

2021-01-13 19:06:04 1134 2

原创 Flink-Java版单词计数(批处理&流处理)

创建工程pom.xml文件依赖如下:<dependencies> <dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-java</artifactId> <version>1.10.1</version> </dependency>

2021-01-11 16:31:58 860 1

原创 Redis核心配置_Redis高级数据类型使用

Redis核心配置服务端配置daemonize yes|no //服务器是否已守护进程方式运行bind 127.0.0.1 //绑定主机port 6379 //设置端口databases 16 //设置数据库数量loglevel debug|verbose|notice|warning //设置日志级别logfile 端口号.log //设置日志文件名maxclients 1 ...

2020-03-26 14:00:43 199

原创 Redis持久化_Redis事务_Redis删除策略

Redis持久化Redis包含3中持久化方案: RDB, AOF, RDB与AOF混合使用RDBRDB: 将内存中数据生成快照形式, 将其保存到.rdb文件中, 关注点是数据使用命令执行RDB过程在保存.rdb文件之前还需要修改redis.conf配置文件, 修改项如下:dbfilename dump.rdb //配置.rdb文件名, 通常设置为dump.端口号.rdbdir /...

2020-03-18 15:27:15 293

原创 Redis常见数据类型_Redis通用指令

Redis常见数据类型string(类似Java String)hash(类似Java HashMap)list(类似Java LinkedList)set(类似Java HashSet)sortedset(类似Java TreeSet)

2020-03-16 13:47:52 360

原创 MyBatis动态SQL_多表查询_延迟加载_缓存

POJO包装传递对象//POJO实体public class QueryConditionObject { private User user; //user get,set方法}//Dao 接口public interface UserMapper{ List<User> findByCondition(QueryConditionObject qco);}/...

2020-03-06 21:16:36 261

原创 Mybatis执行流程分析_自定义简易Mybatis框架

自定义简易Mybatis框架Mybatis执行流程分析Mybatis代码编写流程:Mybatis配置文件加载过程:需求分析及技术概述根据上述的功能结构图, 得出如下需求:1. 需要具有配置文件加载模块.2. 支持使用构建者进行SessionFactory构建.3. 支持使用工厂模式构建Session对象.4. 可以使用代理模式, 构建DAO接口实现类对象.5. 使用反...

2020-03-06 13:39:00 179

原创 MyBatis初级入门及常见问题

入门案例创建maven工程项目目录结构:首先在maven的pom.xml导入Mybatis和MySQL的依赖坐标: <dependencies> <!--Junit测试依赖--> <dependency> <groupId>junit</groupId> <artifact...

2020-03-03 02:41:30 171

原创 Netty之自定义RPC

需求分析使用netty实现方法远程调用, 在client调用本地接口中方法时, 使用反射进行远程调用, server执行完结果后, 将执行结果进行封装, 发送到clientRPC调用模型:1. 服务消费方(client)以本地调用方式调用服务 2. client stub 接收到调用后负责将方法、参数等封装成能够进行网络传输的消息体 3. client stub 将消息进行编码并发送到...

2020-02-29 01:24:26 228

原创 NIO之ByteBuffer_NIO之网络IO_与ChannelNetty初窥门径

NIO之ByteBuffer与Channel传统IO: byte[] <= inputStream <= 文件 => outputStream => byte[]NIO: 文件 => inputChannel <=> buffer <=> outputChannel => 文件 文件 <= inputChannel &l...

2020-02-28 12:53:24 204

原创 线程基础知识_Synchronized_ThreadAPI_自定义锁_获取线程运行时异常

Synchronizedsynchronized包含monitor enter, monitor exit 2个JVM指令(遵循happens-before原则), 执行monitor exit之前必须存在monitor enter指令.由于每个对象与一个monitor产生关联, 线程执行monitor enter时, 就会获取monitor的lock, monitor中存在计数器, 用于记录...

2020-02-27 01:28:49 224

原创 Java常见GC算法_垃圾收集器及内存分配_G1垃圾收集器

常见GC算法引用计数法: 每个对象都有一个计数器, 对象被引用一次, 计数器+1, 当对象引用失败一次. 计数器-1, 当对象计数器等于0, 说明对象没有被应用, 就可GC优: 运行过程中, 可随时检查对象计数器, 进行GC, 且GC过程, 应用无需暂停, 执行速度快(单个对象GC不会影响其他对象), 内存不足, OOM缺: 存在循环引用问题(A引用B, B引用A, A=null, B...

2020-02-19 18:38:25 489

原创 JVM运行参数_JVM内存模型_常用内存分析工具

JVM运行参数常见标准参数-showversion: 显示当前JVM版本等信息-D设置系统属性参数:/** * 测试 * @author regotto */public class JvmTest { public static void main(String[] args) { //获取系统参数 String str = Syst...

2020-02-19 01:50:52 271

原创 线程基础知识_线程生命周期_从JVM内存结构看多线程下的共享资源

线程生命周期线程状态New: 线程创建(new Thread())Runnable: 线程可运行(thread.start()), 注: 调用start并不一定是运行状态, 可能在等待CPU调度Running: 线程进入运行状态Blocked: 阻塞状态(object.wait, Thread.sleep)Terminal: 死亡状态(线程正常/非正常结束运行)thread.st...

2020-02-17 16:18:22 227

原创 Docker入门学习

何为Docker一种操作系统虚拟化解决方案, 相比于传统的虚拟机, Docker是轻量级的, 简单的, 便捷的, 启动速度更快, 占用体积更小. 传统虚拟机的虚拟化是从硬件上实现的(连硬件都能虚拟化), 而Docker是从操作系统层面上实现, 因此Docker在Linux上使用.Docker组件Docker镜像与容器镜像: 类似于操作系统光盘, 可以将其看作是类容器: 使用进行虚拟化出...

2020-01-17 02:18:37 270

原创 哦,瞧那,无能的悲观主义者---无能者的独唱

摘自网易云评论区C语言中,反斜杠无法直接输出,需要在前面再加一个反斜杠标识出来才可以。如果,你是一个注定要被输出的反斜杠,那么我愿意成为那个在你之前的隐姓埋名的反斜杠。“我所有的自负皆来自我的自卑,所有的英雄气概都来自于我的软弱。嘴里振振有词是因为心里满是怀疑,深情是因为痛恨自己无情。这世界没有一件事情是虚空而生的,站在光里,背后就会有阴影,这深夜里一片寂静,是因为你还没有听见声音。”我不要...

2019-11-21 01:45:03 582

原创 写给自己的话

花一定的时间, 在某感兴趣的几个框架, 或者技术上达到一定深度, 不要浅尝辄止, 多去研究, 扩展, 理解为什么要这样做, 我应该要怎么做, 我为什么要这样做某一方向不具有深度的根本原因在于:1. 回避问题: 总是寻求别人做好的解决方案, 这样做未尝不可, 但是也应该搞懂为什么别人要这样做, 他是如何解决的, 开阔自己的思路, 不要只会copy2. 没有兴趣: 使用框架的过程, 遇到诡异的...

2019-11-21 01:04:22 137

转载 写好一份属于自己的简历

原文出处:原文链接下面是精益技术简历的47条原则:版式原则1:使用对齐原则2:不必使用居中原则3:谨慎使用粗体原则4:避免不必要的折行原则5:使用制表符辅助对齐个人信息原则6:不要使用不必要的条目名称原则7:使用分隔符增强电话号码的可读性原则8:使用可以点击的链接原则9:不要使用照片原则10:不要写无关个人信息原则11:使用客观事实而非主观描述原则12:考虑提...

2019-10-29 00:44:00 762

原创 复习Java异常处理_异常分类_自定义异常_线程初步了解

day05 【异常、线程】主要内容异常、线程教学目标 能够辨别程序中异常和错误的区别 说出异常的分类 说出虚拟机处理异常的方式 列举出常见的三个运行期异常 能够使用try…catch关键字处理异常 能够使用throws关键字处理异常 能够自定义异常类 能够处理自定义异常类 说出进程的概念 说出线程的概念 能够理解并发与并行的区别 能够开启新线程第一章 ...

2019-10-06 16:16:17 183

原创 复习Java_List_Set_HashSet原理_Collections使用_Comparator使用

day03 【List、Set、数据结构、Collections】主要内容数据结构List集合Set集合Collections问题背景 能够说出List集合特点 能够说出常见的数据结构 能够说出数组结构特点 能够说出栈结构特点 能够说出队列结构特点 能够说出单向链表结构特点 能够说出Set集合的特点 能够说出哈希表的特点 使用HashSet集合存储自定义元素 ...

2019-10-06 16:11:14 166

原创 Redis概述_使用命令对redis的数据进行增删改查_Jedis连接redis进行数据操作_redis进行数据缓存案例

学习目标redis概念下载安装命令操作1. 数据结构持久化操作使用Java客户端操作redisRedis前言(从百度上抄的, 看看了解一下, 懒得排版了) 1. 概念: redis是一款高性能的NOSQL系列的非关系型数据库 1.1.什么是NOSQL NoSQL(NoSQL = Not Only SQL),意即“不仅仅是SQL”,是一项全新的数据库理念,泛指非关...

2019-10-05 01:31:02 678

原创 复习Java字节流_字符流使用及案例

字节流_字符流主要内容IO流字节流字符流异常处理Properties第一章 IO概述1.1 什么是IO生活中,你肯定经历过这样的场景。当你编辑一个文本文件,忘记了ctrl+s ,可能文件就白白编辑了。当你电脑上插入一个U盘,可以把一个视频,拷贝到你的电脑硬盘里。那么数据都是在哪些设备上的呢?键盘、内存、硬盘、外接设备等等。我们把这种数据的传输,可以看做是一种数据的流动,按照...

2019-10-04 23:41:28 185

原创 复习JavaFile类_递归_综合案例

复习File类_递归主要内容File类递归第一章 File类1.1 概述java.io.File 类是文件和目录路径名的抽象表示,主要用于文件和目录的创建、查找和删除等操作, 这里需要注意一点File不能用于对文件内容进行操作, 对文件内容进行操作需要使用FileInputStream与FileOutputStream。1.2 构造方法注: 构造File对象的时候要注意传入的参...

2019-10-04 03:32:57 204

原创 复习Collection_迭代器使用细节_泛型_综合案例

day02_Collection_泛型主要内容Collection集合迭代器增强for泛型教学目标 能够说出集合与数组的区别 说出Collection集合的常用功能 能够使用迭代器对集合进行取元素 能够说出集合的使用细节 能够使用集合存储自定义类型 能够使用foreach循环遍历集合 能够使用泛型定义集合对象 能够理解泛型上下限 能够阐述泛型通配符的作用第一...

2019-10-03 02:34:25 376

原创 复习Object类_日期时间类_System类_StringBuilder_包装类以及各类的细节

day01【Object类、常用API】主要内容Object类Date类DateFormat类Calendar类System类StringBuilder类包装类问题背景-[ ] 能够说出Object类的特点-[ ] 能够重写Object类的toString方法-[ ] 能够重写Object类的equals方法-[ ] 能够使用日期类输出当前日期-[ ] 能够使用将日...

2019-10-03 00:23:33 170

原创 手写Java线程池_超详细解说_绝对能运行_代码超详细注释

线程池问题背景只是单纯使用 new Thread(runnable).start(); 的方式创建线程, 将会导致严重的程序性能问题: 1.线程创建, 销毁需要消耗很大的系统资源; 2.虚拟机创建线程的数量是有限的; 2.线程调度切换也将使程序性能下降; 针对这些问题, 对线程数量进行管理, 有效地重复利用线程, 将会很好地提高程序性能.线程池原理使用队列创建一定数量的线程, 当有任务的时...

2019-09-26 12:48:48 708 4

原创 机器学习_简单线性回归与多元回归方程原理推导_处理二值数据_最小二乘法解或梯度下降解多元回归方程(详细推导)以及Python代码实现_回归方程度量方式

前提介绍常见统计量均值:中位数:将样本数据按数值大小顺序排列, 取中间的变量.众数:数据中出现次数最多的数.方差:描述数据离散程度.标准差:简单线性回归问题背景举一个例子说明: 商家卖出产品的数量与做广告数量的线性关系(如下图), 当做的广告越多, 那么卖出的产品就越多; 在这个问题中, 卖出产品这个样本中, 就存在一个属性: 做广告数量, 因此可以用线性方程对这个问...

2019-08-15 23:53:46 1679

原创 机器学习_决策树_ID3算法_C4.5算法_CART算法及各个算法Python实现

下面的有些叙述基于我个人理解, 可能与专业书籍描述不同, 但是最终都是表达同一个意思, 如果有不同意见的小伙伴, 请在评论区留言, 我不胜感激.决策树简介1. 问题背景常规方式对样本进行分类, 会导致很大的性能问题, 样本需要不断重复检测每一项属性(属性之间还不能存在相关性), 例如: 人的体重由[年龄, 身高] 决定, 当获得一组样本 [20, 178], 可能我们会先将该数据归到20岁的...

2019-08-10 19:37:40 2550 3

原创 Java NIO_I/O基本概念_Java中的缓冲区(Buffer)_通道(Channel)_网络I/O

I/O基本概念缓冲区基础缓冲区是I/O的基础, 进程使用read(), write()将数据读出/写入从缓冲区中; 当缓冲区写满, 内核向磁盘发出指令, 将缓冲区中数据写入磁盘中(这一步不需要CPU), 当磁盘控制器将缓冲区装满, 内核将缓冲区数据拷贝到进程中指定的缓冲区; 操作如下图:当中忽略了很多细节, 只涉及简单的步骤上面的进程通常是用户进程, 需要指出的一点就是, 当内核接受到r...

2019-07-27 16:33:27 590

原创 读Java并发编程实践记录_原子性_锁_同步容器详解_任务执行

原子性: 单独的,不可分割的操作不要使用过期状态值来决策当下的状态, 一定要先检查再执行(不检查, 将引发数据修改,丢失)避免延迟初始化(懒加载: 先查看对象 == null, 然后new), 有可能查看对象状态的时候, 对象已经new出来, 只不过还没将对象赋给引用避免复合操作, 例: count++; 非原子性操作, 包含读-改-写三个过程, 不加锁, 必然出错; 强行加锁, 使得整个...

2019-07-11 14:10:58 200

原创 常用排序算法以及算法性能测试(完整C/C++代码实现)

排序算法的比较注: 由于只是测试算法性能, 所以不会对排序算法做深入讲解, 在随后的时间将会推出排序的详细讲解问题需求分析排序算法经过了很长时间的演变,产生了很多种不同的方法。每种算法主要针对不同的数列进行排序,这些排序算法具有各自的利弊,并且应用的场景各自不同,为了针对不同的场景选出最合适的排序算法,接下来将使用大量随机数列,以及不同的数据场景对不同的排序算法进行比较,最终找出排序算法各自...

2019-07-02 23:07:15 3860 1

原创 哈夫曼树编码与译码(完整C/C++实现代码)

哈夫曼编码的设计与应用问题需求分析用哈夫曼编码(Huffman Coding),又称霍夫曼编码,是一种编码方式,哈夫曼编码是可变字长编码(VLC)的一种。Huffman于1952年提出一种编码方法,该方法完全依据字符出现概率来构造异字头的平均长度最短的码字,有时称之为最佳编码,一般就叫做Huffman编码(有时也称为霍夫曼编码)。霍夫曼树又称最优二叉树,是一种带权路径长度最短的二叉树。所谓树...

2019-07-02 22:51:06 39049 22

原创 一个很Low的通讯录管理系统(但是能用)C/C++单链表实现

通讯录管理系统的设计问题需求分析在计算机还未普及之前通讯管理都是由联系人采用名片,通讯录往往采用的是笔录手工记帐的方式来操作的。现在一般的通讯录管理都是采用计算机作为工具的实用的计算机通讯录管理程序来帮助人们进行更有效的通讯录信息管理。本通讯录信息管理系统用计算机管理电子通讯录的一种计算机应用技术的创新,通讯录管理系统是典型的信息管理系统,其开发主要包括后台文件存储通信用户记录和维护,以及客户...

2019-07-02 22:22:12 1345 2

原创 正则表达式符号特殊详解_常用正则表达式_Java中正则表达式的使用

正则表达式, 字符串的替换与分解正则表达式正则表达式主要用于字符串匹配, 由一些具有特殊意义的符号和常规字符组成, 例如:特殊符号: $ () * + . [] ? \ ^ {}常规字符组合: \d \D \w \W \s \S \p...

2019-05-25 12:53:28 6678

原创 学习Java中遇到的问题积累_1

1.奇数性看下面代码时候是否能判断参数 i 是奇数?public static boolean isOdd(int i){ return i % 2 == 1; }答案是: NO看似正确的判断奇数, 但是如果 i 是负数, 那么它返回值都是false造成这种现象的是 => 从思想上固化, 认为奇数只在正数范围, 故判断负数将报错, 在C++中也是, 负数取余还是负.在Ja...

2019-05-25 12:36:00 594

原创 SpringAOP描述及实现_AspectJ详解_基于注解的AOP实现_SpringJdbcTemplate详解

AOPAOP特点:面向切面编程, 利用AOP对业务逻辑的各个部分进行抽取公共代码, 降低耦合度, 提高代码重用性, 同时提高开发效率.采取横向抽取, 取代传统纵向继承体系重复性代码解决事务管理, 性能监视, 安全检查, 缓存, 日志等问题Spring AOP在运行期, 通过反向代理的方式解决类加载, 属性注入AspectJ是基于Java的AOP框架, 在Spring使用AspectJ...

2019-05-25 12:34:37 209

原创 Spring_Bean配置_生命周期_注解

事务处理事务处理: 一组业务要么都成功, 要么都么失败.事务特性:原子性: 数据库操作都是原子操作, 不可分一致性: 数据保持一致隔离性: 在并发情况下, Hibernate中的事务处理,SpringSpring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Deve...

2019-04-27 17:12:38 555

原创 Hibernate_2_Hibernate中对象状态及转化_一级缓存_Session详解_HQL/SQL/Criteria_一对多关系_级联操作

Hibernate中的对象状态在Hibernate中持久化对象具有三种状态: 瞬时态, 持久态, 游离态.瞬时态: 对象没有与Hibernate产生关联(transient,session中没有缓存), 数据库中也没有对应记录 => 对象无id, 没有关联持久态: 对象与Hibernate产生关联(persistent, session中有缓存), 数据库中会存在记录 => ...

2019-04-12 03:23:48 179

空空如也

空空如也

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

TA关注的人

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