自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(48)
  • 收藏
  • 关注

原创 双层flume,中间件kafka,采集到hdfs并按日期分文件夹

1.架构要采集的日志位于hadoop102和hadoop103两个节点上,采集数据到kafka中,这是第一层flume。再从Kafka采集到hdfs中,这是第二层flume。2.第一层flume自定义拦截器,过滤非json数据import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONObject;import org.apache.flume.Context;import org.apache.flume.Event;

2021-05-08 00:12:56 1688 4

原创 题目:分析每个用户每次会话的行为轨迹(半小时内算一次会话,并按时间顺序给序号)

题目描述分析每个用户每次会话的行为轨迹(半小时内算一次会话,并按时间顺序给序号)import java.text.SimpleDateFormatimport java.util.UUIDobject Test01 { case class User(var uid: String, var id: String, var time: Long, var link: String) def main(args: Array[String]): Unit = { v.

2021-04-22 00:35:44 310

原创 scala高阶函数练习题10题

1、定义一个高阶函数,按照指定的规则对集合里面的每个元素进行操作比如: Array(“spark”,“hello”,“java”,“hadoop”)规则: 对集合中每个元素进行操作,得到集合每个元素的长度object Test01 { def main(args: Array[String]): Unit = { val list = Array("spark", "hello", "java", "hadoop") //完整写法 val fun = (s: String

2021-04-14 20:40:04 1802 1

原创 LeetCode 05.最长回文子串(java 滑动窗口)

题目描述解法:滑动窗口,窗口从小到大public String longestPalindrome(String s) { // 用数组优化,避免频繁用charAt() char[] array = s.toCharArray(); int length = s.length(); // 过滤一个字符 if (length == 1){ return s; } /.

2021-03-24 20:13:56 411

原创 LeetCode 04.寻找两个有序数组的中位数(java)

题目描述解法:合并数组,排序,再根据奇数和偶数去中位数,时间复杂度O(n+m)public double findMedianSortedArrays(int[] nums1, int[] nums2) { // 过滤空值 if (nums1.length == 0 && nums2.length == 0) { return 0.0; } // 合并数组 int[] megers.

2021-03-24 20:09:31 74

原创 LeetCode 03.无重复字符的最长子串(java)

题目描述解法一:暴力破解public int lengthOfLongestSubstring(String s) { Set set = new HashSet(); byte[] bytes = s.getBytes(); int max = 0; // 去空串 if (s.length() == 0 || s == null) { return 0; } .

2021-03-23 18:02:51 71

原创 LeetCode 02.两数相加

题目给你两个非空的链表,表示两个非负的整数。它们每位数字都是按照逆序的方式存储的,并且每个节点只能存储一位数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。输入:l1 = [2,4,3], l2 = [5,6,4]输出:[7,0,8]实现1/** * Definition for singly-linked list. * public class ListNode { * int val; * ..

2021-03-21 10:04:52 78

原创 Hadoop|Reduce中Iterable迭代器K,V对象复用机制

apache官网对于reduce中k,v复用的描述如下:The framework calls this method for each <key, (list of values)> pair in the grouped inputs. Output values must be of the same type as input values. Input keys must not be altered. The framework will reuse the key and val

2021-03-13 13:06:36 426

原创 非静态内部类通过new和反射创建实例对象分析

public class Outer { class Inner{ { System.out.println("inner"); } } @Test public void test() throws Exception { //直接new 可以// new Inner(); //通过父类new 可以// Outer outer = new Oute

2021-03-12 16:59:27 207

原创 Hadoop中的TextInputFormat切片的源码分析

Hadoop中的TextInputFormat切片的源码分析查看TextInputFormat发现并没有切片方法查看TextInputFormat的父类FileInputFormat切片方法源码public List<InputSplit> getSplits(JobContext job) throws IOException { StopWatch sw = new StopWatch().start(); long minSize = Math.max(getF

2021-03-10 19:43:06 114

原创 Hadoop常用配置参数说明

Hadoop常用配置参数说明core-site.xmlhdfs-site.xmlyarn-site.xmlmapred-site.xmlcore-site.xml参数默认值说明fs.defaultFSfile:///指定HDFS中NameNode的地址hadoop.tmp.dir/tmp/hadoop-${user.name}指定Hadoop运行时产生文件的存储目录hadoop.http.staticuser.userdr.who通过web界面操作hdfs的

2021-03-05 10:29:38 553 1

原创 堆排序

思想堆排序的基本思想是:将待排序序列构造成一个大顶堆此时,整个序列的最大值就是堆顶的根节点。将其与末尾元素进行交换,此时末尾就为最大值。然后将剩余 n-1 个元素重新构造成一个堆,这样会得到 n 个元素的次小值。如此反复执行,便能得到一个有序序列了。图解1.步骤一 构造初始堆。将给定无序序列构造成一个大顶堆(一般升序采用大顶堆,降序采用小顶堆)。原始的数组 [4, 6, 8, 5, 9]2.此时我们从最后一个非叶子结点开始(叶结点自然不用调整,第一个非叶子结点arr.length/

2021-02-01 21:42:59 340

原创 泛型练习给任意对象数组排序

案例:声明泛型方法,可以给任意对象数组按照元素的自然排序实现从小到大排序,用冒泡排序实现 @Test public void test01() { Integer[] arr1 = {1, 2, 8, 6, 14, 3, 64, 13}; String[] arr2 = {"a", "u", "c", "x", "v"}; sort(arr1); sort(arr2); System.out.println(Arra

2021-02-01 19:14:36 400

原创 单向链表的反转的三种方式

单向链表的反转的三种方式单链表的反转有三种实现方法遍历法(结构清晰易懂,时间复杂度低)递归法(代码简洁,但时间复杂度高,尤其是在链表长度超过12000之后)内置类法(代码简洁,使用内置LinkedList类)1.遍历法(关键代码) static Node reverse(Node head) { if(head == null){ return null; } Node pre = null; Node cur = hea

2021-01-28 23:28:02 1739

原创 字符编码问题(GBK,UTF-8,ISO8859-1)

字符编码问题(GBK,UTF-8,ISO8859-1)public class Test22 { /* * GBK,UTF-8,ISO8859-1所有的字符编码都向下兼容ASCII码 */ public static void main(String[] args) throws Exception { String str = "中国"; System.out.println(str.getBytes("ISO8859-1").leng

2021-01-28 10:01:28 140

原创 二分查找 + 插值查找 + 斐波那契(黄金分割法)查找

三种查找算法二分查找插值查找斐波那契(黄金分割法)查找二分查找思路代码实现public class BinarySearch { public static void main(String[] args) { int array[] = { 1, 8, 10, 89,1000,1000,1234}; //int value = binarySearch(array,1000,0,array.length-1); List list = b

2021-01-21 22:17:12 147 1

原创 基数排序实现

基数排序介绍1基数排序(radix sort)属于“分配式排序”(distribution sort),又称“桶子法”(bucket sort)或 bin sort,顾名思义,它是通过键值的各个位的值,将要排序的元素分配至某些“桶”中,达到排序的作用;2基数排序法是属于稳定性的排序,基数排序法的是效率高的稳定性排序法;3基数排序(Radix Sort)是桶排序的扩展;思想可参考https://www.bilibili.com/video/BV1wa4y177rX?from=search&

2021-01-21 15:40:39 136 2

原创 归并排序代码实现

思路归并排序(MERGE-SORT)是利用归并的思想实现的排序方法,该算法采用经典的分治(divide-and-conquer)策略(分治法将问题分(divide)成一些小的问题然后递归求解,而治(conquer)的阶段则将分的阶段得到的各答案"修补"在一起,即分而治之)。代码实现public class MergeSort { public static void main(String[] args) { int[] array = { 8, 4, 5, 7, 1,

2021-01-21 14:00:31 465

原创 JAVA快速排序的实现

JAVA快速排序的实现public class QuickSort { public static void main(String[] args) { int[] array = {19,97,9,17,1,8,19}; quickSort(array,0,array.length-1); for (int i : array) { System.out.print(i+" "); } Sys

2021-01-20 21:30:32 64

原创 多态分析打印结果题(this,实例初始化方法,属性与多态无关)

分析打印结果(考核知识点:this,实例初始化方法,属性与多态无关)public class Test02 { public static void main(String[] args) { // 1.Father f = new Son();首先要先初始化父类属性,调用父类构造方法; // 2.父类构造方法中有this.print();此时这个this是子类的,所以调用子类的print()方法; // 因为此时子类还未被初始化,所以子类的x为默认值0;打印出Son.x = 0 /

2021-01-19 17:14:15 172

原创 用递归回溯解决八皇后问题

思想理论上应该创建一个二维数组来表示棋盘,但是实际上可以通过算法,用一个一维数组即可解决问题. arr[8] = {0 , 4, 7, 5, 2, 6, 1, 3}arr 下标表示第几行,即第几个皇后;arr[i] = val , val 表示第 i+1个皇后,放在第 i+1行的第 val+1 列;代码实现// 递归解决八皇后问题public class EightQueen { int maxSize = 8; int[] array = new int[maxSize];

2021-01-15 19:41:14 80

原创 逆波兰表达式计算器的实现

思路代码实现import java.util.ArrayList;import java.util.Stack;public class PolandNotation { public static void main(String[] args) { // 中缀表达式->后缀表达式 // 1.将中缀表达式放到一个list String infixExpression = "((15+5)+(20+10))*2+10"; // = 1

2021-01-14 15:41:43 97

原创 用数组模拟栈,写一个中缀计算器,计算“50*20+6-200/4+3*5-6/2+3“的结果

思路代码实现// 写一个计算器public class CalculatorDemo { public static void main(String[] args) { String expression = "50*20+6-200/4+3*5-6/2+3"; // =971 Stack2 numStack = new Stack2(10); Stack2 operaStack = new Stack2(10); int n

2021-01-14 10:44:10 120

原创 只用一个两级的for循环打印菱形

如何只用一个两级的for循环打印如下图菱形// 要一次性打印出改菱形需要想办法让队列A转化为队列B// 队列A: 1 2 3 4 5 6 7 8 9// 队列B: 1 2 3 4 5 4 3 2 1// 若队列共有n个数,要求第i个对应的队列B的值// 得出(n+1)/2-abs((n+1)/2-i)// 具体代码如下public class Test09 { public static void main(String[] args) { System.out

2021-01-12 20:21:23 94

原创 xsync集群分发脚本

rsync 远程同步工具rsync主要用于备份和镜像。具有速度快、避免复制相同内容和支持符号链接的优点。rsync和scp区别:用rsync做文件的复制要比scp的速度快,rsync只对差异文件做更新,scp是把所有文件都复制过去。基本语法rsync -rvl $pdir/$fname $user@hadoop$host:$pdir/$fname命令 选项参数 要拷贝的文件路径/名称 目的用户@主机:目的路径/名称

2020-12-16 21:25:35 158

原创 Hadoop运行环境搭建

Hadoop运行环境搭建虚拟机环境准备1. 克隆虚拟机2. 修改克隆虚拟机的静态IP2.1修改70-persistent-net.rules,复制 ATTR{address}2.2修改ifcfg-eth03. 修改主机名4. 配置host5. 关闭防火墙6. 创建用户7. 配用户具有root权8.将原来安装好的Hadoop和Java拷贝到新虚拟机/opt目录9.拷贝配置文件10.source配置文件虚拟机环境准备1. 克隆虚拟机2. 修改克隆虚拟机的静态IP2.1修改70-persistent-ne

2020-12-15 16:06:59 89

原创 java中list和数组的相互转换的多种方式

java中list和数组的相互转换1. 数组->list方法一:使用for循环把数组元素加进list方法二:直接使用Arrays工具类下的asList()方法方法三:用ArrayList的构造方法和Arrays工具类下的asList()方法方法四:使用Collections.addAll()方法五:使用Stream中的Collector收集器2. list->数组l方法一:使用for循...

2020-03-22 01:41:16 321

原创 Vue快速入门,写一个简单的0-10的计数器

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document&lt...

2020-03-14 00:49:39 416

原创 pom.xml常用配置

<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/...

2020-03-04 22:11:01 219

原创 String和Json互相转换的工具类JsonMapper

package com.kang.utils;import lombok.extern.slf4j.Slf4j;import org.codehaus.jackson.map.DeserializationConfig;import org.codehaus.jackson.map.ObjectMapper;import org.codehaus.jackson.map.Serializ...

2020-03-04 21:21:22 501

原创 获取Spring上下文工具类ApplicationContextHelper

package com.kang.common;import org.springframework.beans.BeansException;import org.springframework.context.ApplicationContext;import org.springframework.context.ApplicationContextAware;import org...

2020-03-03 22:51:41 3400

原创 获取用户登录信息和request对象的工具类RequestHolder

package com.kang.common;import com.kang.model.SysUser;import javax.servlet.http.HttpServletRequest;/** * 处理高并发的对象 * 1. 每个线程是独立的 * 2. 登陆的时候会把每个用户的信息和请求的信息放入线程里面 * 3. 而在以后取用户信息可以直接取这里取 */publ...

2020-03-01 12:44:47 2329 1

原创 基本数据验证工具类BeanValidator

import com.google.common.base.Preconditions;import com.google.common.collect.Lists;import com.google.common.collect.Maps;import com.kang.exception.ParamException;import org.apache.commons.collecti...

2020-02-28 23:39:22 437

原创 MD5加密工具类MD5Util

import lombok.extern.slf4j.Slf4j;import java.security.MessageDigest;@Slf4jpublic class MD5Util { public final static String encrypt(String s) { char hexDigits[] = { '0', '1', '2', '3...

2020-02-28 23:37:08 557

原创 生成部门树的方法

import com.google.common.collect.ArrayListMultimap;import com.google.common.collect.Lists;import com.google.common.collect.Multimap;import com.kang.dto.DeptLevelDto;import com.kang.mapper.SysDeptM...

2020-02-27 23:37:40 324

原创 Spring 中@NotNull, @NotEmpty和@NotBlank之间的区别是什么?

摘自:https://www.cnblogs.com/Terry-Wu/p/8134732.html三者的区别@NotNull://CharSequence, Collection, Map 和 Array 对象不能是 null, 但可以是空集(size = 0)。 @NotEmpty://CharSequence, Collection, Map 和 Array 对象不能是 null 并...

2020-02-27 18:49:23 173

原创 springmvc.xml常用配置

<?xml version="1.0" encoding="UTF-8" ?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://ww...

2020-02-27 18:16:22 217

原创 logback.xml配置

<?xml version="1.0" encoding="UTF-8"?><configuration> <!-- 控制台 appender --> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <encoder&gt...

2020-02-27 12:37:51 90

原创 关于MySQL8的URL和Driver的写法

1.旧版本,MySQL Connector/J 5.x 版本的连接方式:url = jdbc:mysql://localhost:3306/user?useUnicode=true&characterEncoding=utf8driver = com.mysql.jdbc.Driver2、MySQL 8.x新版本,MySQL Connector/J 6.x之后 的连接方式:url...

2020-02-27 11:55:33 12931

原创 SSM中application.xml的常用配置

<?xml version="1.0" encoding="UTF-8" ?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.sp...

2020-02-25 22:06:43 591

空空如也

空空如也

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

TA关注的人

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