- 博客(14)
- 资源 (1)
- 收藏
- 关注
原创 工作流任务调度器Azkaban与Oozie对比
Azkaban特点Web用户界面 方便上传工作流 方便设置任务之间的关系 调度工作流 认证/授权(权限的工作) 能够杀死并重新启动工作流 模块化和可插拔的插件机制 项目工作区 工作流和任务的日志记录和审计Azkaban与Oozie相同两者均可以调度mapreduce,pig,java,脚本工作流任务。 两者均可以定时执行工作流任务。Azkaban与Oozie不同工作流定义:Azkaban使用Properties文件定义工作流;Oozie使用XML文件定义工作流。 定时执行
2021-10-22 18:52:55
229
原创 Spring Boot报错Failed to configure a DataSource: ‘url‘ attribute is not specified
在bootstrap.properties中设置spring.profiles.active = dev,具体使用是application-dev.properties,是无效的,会报Failed to configure a DataSource: 'url' attribute is not specified。。。错误,找了一天才找到问题所在。需要在application.properties中设置该属性。时间全浪费了,记录一下,也给大家提个醒...
2021-08-25 18:05:52
137
原创 Redis场景设计
目录Sting存储实现分布式锁Hash数据场景List数据场景Set集合数据场景Set集合特殊指令应用场景Sting存储Key设计注意事项 一般以业务功能模块、表名或者业务模块开头,尽量短小精悍 常见引用场景 计数功能:文章点击数 各类场景下的标识号 incrby serialNo 1000:订单号 每次生成订单会去redis请求生成订单号,但是redis上限是10W/s请求量,如果高并发下会耗尽redis资源无法进行其它操作,解决方案是一次请求预先分配多
2021-04-29 20:43:07
113
原创 MySQL高性能索引
目录索引是什么MySQL中的索引B+树索引磁盘和B+树InnoDB中的索引索引在查询中使用索引的代价索引创建策略索引是什么是帮助MySQL高效获取数据的数据结构 本质:数据结构 作用:高效获取数据MySQL中的索引InnoDB支持以下几种常见的索引:B+树索引、全文索引、哈希索引(内部),其中比较关键的是B+树索引 哈希索引:不适合做索引,如果找数据,需要把所有哈希全部遍历才能找到,哈希无法排序,哈希是个压缩算法,会将多个值放到少量的哈希桶中,必然会有一个
2021-04-23 14:21:16
116
原创 MySQL表设计和数据类型优化
范式化设计 第一范式:每列属性都是不可再分的属性,确保每列的原子性 第二范式:要求实体属性完全依赖于主关键字,也就是说每一行要求有一个唯一性的业务主键 第三范式:表中不包含已在其它表中的非主键列,即数据不能存在传递关系,每个苏醒都跟主键有直接而不是间接关系 反范式设计 为了性能和读取效率适当违反范式设计,允许存在少量冗余数据,用空间换时间 查询分类描述需要三次,发现商品名称出现分类名称必然出现,那么冗余分类名称列减少查询次数 范式设计和反范式设计对比 范式设计有点修改操作较少
2021-04-14 16:09:40
69
原创 Redis入门
Redis是什么 Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API Redis安装在磁盘 Redis数据存储在内存 Redis特性 速度快 内存、单线程、IO多路复用、协议简单 键值对的数据结构服务器 key是简单的字符串,越短小精悍越好,value是String、Hash、List、set、zset 丰富的功能 与Memcache区别,Memcache不能持久化并且只能
2021-04-12 11:24:09
55
原创 全盘了解MySQL
MySQL逻辑架构 连接层:请求到来经过TCP三次握手后建立连接成功,然后需要进行鉴权 Server层:sql语句解析优化(选择索引)然后交给存储引擎层执行,mysql8以后查询缓存被放弃 存储引擎层:类似于插件,实现了mysql的存储引擎标准,然后和文件系统交互 对比项 MyISAM InnoDB 主外键 不支持
2021-04-09 14:22:08
70
原创 jvm分代回收机制及垃圾回收算法
目录GC:主要回收堆空间分代回收理论垃圾回收基础知识复制算法:所有新生代使用标记清除算法:老年代标记整理算法:老年代jvm常用垃圾回收器(1.8)单线程垃圾回收器:暂停所有的用户线程,开启GC线程多线程垃圾回收器:多个GC线程来回收并发垃圾回收器:让业务线程和GC线程同时跑,减少了Stop the world时间GC:主要回收堆空间Minor GC或者Young GC:回收新生代,大概三分之一的堆空间,Eden、From、To Major GC或者Old G
2020-08-24 17:43:49
179
原创 jvm对象及引用笔记
jvm中对象及引用对象创建过程:每个对象必须是8字节整数大小(对象头+实例数据),如果大小不到8的倍数会有对象填充 类加载 检查加载:检查类的符号引用是否加载解析或者初始化过 分配内存:一般是堆内存,垃圾回收器一般都会带整理 指针碰撞:规整连续内存,分配完就将指针移动到新位置 空闲列表:虚拟机会维护一张内存的空闲列表,顺序寻找适合的内存空间就停止 解决并发安全 默认使用本地线程分配缓冲TLAB:会给每个线程分配一部分区域来用,一般为Eden区1% CAS机制加失败
2020-08-24 17:35:53
86
原创 JVM内存区域划分笔记
运行时数据区:在执行java程序过程中会内存分成若干区域线程共享区 方法区:加载相关类的信息 常量池:一定是放在方法区的 静态常量池:即*.class文件中的常量池,包含字符串字面量,类、方法的信息,符号引用 方法里定义的常量 运行时常量池:在jvm完成类装载操作后,将class文件中的常量池加载入内存,并保存在方法区中,把符号引用变为直接引用 字符串常量池:为了高效使用String,所以有这种常量池 String不可变:不可变安全,hash唯一 S
2020-08-23 19:50:08
128
原创 Bootstrap Fileinput 4.4.7文件上传实例
本实例所做功能为发送带附件邮件,可以上传多个附件,操作为选择一个附件以后自动上传,然后继续选择附件,填写完表单其他信息,点击保存发送带附件邮件。HTML标签<input id="fileUpload" type="file" name="file" data-show-preview="true" multiple/>js初始化,设置全局文件名参数var fileName = [];functio
2017-12-22 19:01:19
2663
原创 MapReduce从HBase多路径导出数据到Hive
package com.zz.hbase.ccrc;import java.io.IOException; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Map.Entry;import org.apach
2016-06-20 15:43:14
570
原创 Java任意时间获得该时间所在周周一
SimpleDateFormat sdf=new SimpleDateFormat("yyyyMMdd"); //设置时间格式 Date time = null; try { time = sdf.parse(searchDate); } catch (ParseException e) { e.prin
2015-07-16 11:53:44
424
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人