自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 HIVESQL的列转行和行转列使用总结

hivesql的行转列以及列转行在实际中的应用

2022-11-09 14:22:18 1208 1

原创 一年大数据学习路的总结

前言18年从天津来到上海读研,从一个Java连递归都写不好的小白,到目前的大数据开发菜鸡。我觉得我收获颇多,成长很多。17年在本科学习的时候,接触到Java这门编程语言然后就深深喜欢上了。然后当时就立志以后要从事Java语言的相关技术开发工作。18年到了上海,先是花了一年时间做了网页的开发以及数据分析的理论知识学习。从19年开始,正式踏上大数据学习之旅。本人在学习大数据阶段是带着强烈的找工作的目的去的,也就是以工作秋招为导向。所以有些知识的学习上,好多是为了找工作面试准备的。准备阶段1. 学习整体体

2020-09-21 11:42:27 628 5

原创 Java实现LRU缓存

前言在操作系统中,页面置换算法中有一种思想叫做LRU,就是选择最近最少使用的页将其置换出去。LRU是一种缓存淘汰策略,那么在Java中结合学习过的基础数据机构如何能实现LRU效果呢?解决思路首先要知道Java的内置容器LinkedHashMap已经可以实现LRU缓存,具体做法如下:class LRUCache<K, V> extends LinkedHashMap<K, V> { private static final int MAX_ENTRIES = 3;

2020-08-27 13:04:18 364

原创 面试之Java虚拟机篇

前言目前本人处于紧张的秋招面试阶段,前期一直在看书刷题。这个过程中也对一些Java的面试题进行了一些汇总,不过没有好好的整理一下。JVM相关的是整理出的第一篇,以问题为导向同样也是高频问题,将面试过程中关于JVM的知识点全部带出。Java虚拟机面试的知识体系Java内存模型虚拟机运行时数据区域垃圾判断算法垃圾回收算法和垃圾收集器内存分配策略Minor GC 和 Full GC类加载解答根据网友大佬们的总结以及面经,总结出来以下问题。Java虚拟机每个方面都有若干个问题,后期还会更新

2020-08-19 16:55:50 178

原创 LeetCode回文子串问题

前言回文串在刚学习数据结构的时候,老师就给过这样的题目:判断字符串是否为回文串。首先要明白回文串是什么?通俗的讲法就是正着读字符串和反着读字符串是一样的,也就是一个字符串与它的逆转字符串是相等的。在刷leetcode算法题的过程中,遇到过回文串问题的不同演化版本。例如判断字符串是否为回文串,其中只把数字和字母视为有效字符。今天想要把关于动态规划的回文子串问题单独拿出来讲一下,一是为了总结动态规划思想在回文子串问题上的应用,二是为了联系关于字符串相关的题目。问题一 判断字符串是否为回文串这个问题在面

2020-08-19 10:54:39 201

原创 LeetCode算法题中的回溯算法小结

前言对于回溯算法,起初刷leetcode题目时,每次编写都需要看题解或者评论,很少自己独立写出代码。后来通过自己的不断领悟,总算是找到了一个技巧编写回溯算法。下面通过分析如何从问题到代码的转变,来总结一下自己对于回溯算法的理解。概述刷了几道算法题之后,发现回溯算法解决的主要问题是组合问题。比如数字 1 2 3 4 5的不重复的全排列,字母a b c d的全排列。这类问题先从人类思维入手,然后再转为代码,个人认为是有一套公式的。问题分析人类思维对于数字 [1, 2, 3 , 4, 5]的全排列,先

2020-06-23 11:25:35 259

原创 使用hive insert语句时小文件合并

前言本人集群使用的是cdh5.9.1版本,hive1.1.1,Hadoop2.6。hive中有个数据表有5个分区,每个分区的数据以txt形式存储,大小3G多。想要把当前数据表的数据进行压缩,存储到以orc格式存储的数据表中去。问题使用insert语句将数据进行迁移时,发现orc格式的表中的分区文件达到了10多个,每个文件大小平均20MB。HDFS的多个小文件对于namenode的压力很大,而且在执行mapreduce任务时会导致task过多,占用集群资源。解决调解一下配置参数,即可达到合并小文件的

2020-06-03 14:12:51 1400

原创 二叉树根节点到叶子节点路径问题

前言最近在刷leetcode的关于二叉树的题目,碰到几题关于二叉树节点的问题。在这里做一个小结记录自己的理解和知识的长进。leetcode问题路径总和路径总和Ⅱ思路总结前序关于二叉树根节点到叶子节点路径问题,最容易想到的就是打印二叉树所有根节点到叶子节点的路径。这个很容易,就是以二叉树的前序遍历为基础,在遍历过程中记录遍历的节点然后碰到叶子节点就输出结果。代码如下: public static void printAllPath(TreeNode root,String s) {

2020-05-19 16:53:16 2574

原创 Java排序之堆排序

概述排序八大算法中的堆排序,是利用了树这种数据结构的思想,将待排序序列按照某种规则构造一个完全二叉树树结构。基本概念大顶堆根结点(亦称为堆顶)的关键字是堆里所有结点关键字中最大者,称为大根堆,又称最大堆(大顶堆)。例如序列1,3,2。3作为树的根节点,1和2分别作为左子节点和右子节点构成的一个大顶堆。小顶堆概念跟它是反过来的,这里就不赘述了。完全二叉树完全二叉树是效率很高的数...

2020-04-18 10:11:14 231

原创 LeetCode N皇后问题(Java版)

前言今天在leetcode做了一个N皇后问题的题目,正好刚学习了8皇后问题的求解。所以就按照8皇后问题的解题思路解决了N皇后问题。个人认为8皇后问题的思路容易理解,难就难在思路如何转化为代码。回溯问题在数据结构与算法中是一个很难理解的问题,作为初学者我只能学习别人的思路然后照着样子写出代码。本文简单介绍了8皇后问题的解题思路,由于leetcode题目限制了结果格式,不同的结果格式就需要对代码...

2019-12-16 15:18:59 305

原创 Java实现计算表达式的值

需求已知一个只含有()、+ 、-、*、\这五种操作符,数字只是整数,并且空格隔开的表达式字符串,求表达式的值。例如:( 3 + 4 ) * 5 - 6结果为29解题思路给定表达式为中缀表达式,将其转为后缀表达式(逆波兰表达式)然后使用逆波兰表达式求解值。逆波兰表达式求解值得思路:遍历表达式,遇到数值则入栈,遇到计算符则从栈中弹出两个元素然后将计算结果压入栈中。做减和除法运算的时候...

2019-12-12 11:05:20 4207 2

原创 关于Java String类的intern方法与字符串常量池分析

目录1. String类简述2. 字符串常量池3. intern方法与字符串比较String类简述String作为Java中一个较为特殊的类,无论在开发过程还是面试时都是一个值得注意的地方。首先,String类是一个final类,这意味着它不可被继承同时一旦创建了一个String对象不能被修改。关于这点,通过下面这段代码来解释:String str1 = "3";str1 = "...

2019-12-11 17:16:00 204

原创 Java中的锁

概述在多线程编程中,当存在资源竞争时,多线程环境就可能会导致程序的结果是一个非预期结果,也称之为程序是非线程安全的。public Test{ private int i; public void add(){ i++; } public int get(){ return i; }}上面这段代码在多线程环境下,线程之间存在成员变量i的竞争关系。当一个线程调用add方法...

2019-12-05 19:36:29 183

原创 Java实现循环队列

数据结构之队列队列作为一种基础的数据结构,具有先进先出的特性,也就是从队列中取元素始终取得是队首元素。由于队列中元素与元素之间没有强关联性,所以我们可以采用Java中得数组来存储队列元素。普通队列采用数组存储队列元素,只需要记录队首元素得下标值front即可。出队操作只需先获取队首元素,然后将下标后移一位。同时还需要记录队尾元素的下标值rear,用作入队列操作。这一点跟链表得尾插法很相似。...

2019-12-03 14:59:25 229

原创 Java实现简单的单链表

前言在数据结构中,链表作为链式存储结构与连续型数据结构相比,可以很有效的利用计算机的散列空间,并且链表的插入节点和删除节点操作效率也较高。一个简单的单链表中的结点由两部分组成:结点数据域和后继结点指针(由于Java中没有指针概念,在Java里这里就是后继结点的引用)。1. 链表结点实现根据结点的组成概念,用类LinkedListNode定义一个链表结点,其中数据域作和后继结点指针作为该类的成...

2019-12-03 14:30:45 255

原创 Java并发编程之并发编程基础

前言在学习并发编程工具和技术源码之前,我们需要对一些概念进行了解。例如线程的含义、线程的状态、如何创建线程、如何中断线程、线程间通信机制等。线程简介1.概念关于线程的概念,在操作系统范畴里它是作为操作系统调度的最小单元。现代处理器多数为多核处理器,支持多线程操作。多线程能够显著提升程序性能,高效利用CPU资源。2. Java编程中线程优先级现代操作系统基本采用时分的形式调度运行的线程...

2019-11-28 17:03:40 276

原创 Java并发编程之Java内存模型 (下)

前言看完《Java并发编程的艺术》整本书之后,再次回顾并发编程中的Java内存模型,有了一写自己见解,这里接着前两次的文章继续做一个总结。final域的内存语义关于Java的final修饰符的一些基础知识可以参考我的这篇文章Java final关键字小结。今天要介绍的就是final在并发编程中,Java内存模型如何保证final的线程同步。1. final域的重排序规则在构造函数内对...

2019-11-27 16:23:32 413

原创 Java final关键字小结

前言无论是在刷题还是面试过程中,都可能会遇到final关键字的一些问题。在这里做一个小总结总结final作为Java的修饰符和关键字,可以修饰类、方法、成员变量、局部变量。1. final修饰类被final修饰的类,该类不可以被继承。并且该类的方法都会被隐式的修饰为final。常见的final类有:String、StringBuilder、StringBuffer。其中StringBu...

2019-11-27 15:24:33 124

原创 mapreduce分组求topN问题

问题描述现在有各个地区的物品的销售额数据(非真实的,模拟出来的)。然后把每个地区的销量top5的商品。数据如下:三个字段分别对应地区、商品名称、销售额,字段直接用空格隔开。解决办法这是一个很经典的分组求topN的问题,无论是在spark还是mapreduce都会遇到类似的问题。我们要做到的就是举一反三,将这个问题彻底击破。解法一我们将数据使用map读取过来之后,将地区作为key输出,...

2019-11-15 17:06:20 833

原创 cdh5.9运行mapreduce uber任务报java.lang.RuntimeException: native snappy library not available错误

1.问题描述在对yarn进行了uber任务配置之后,运行了一个word count的mapreduce任务。控制台显示的已经在uber model下了:但是运行完了之后发现任务失败。接着查看了运行日志,发现报这个错误:2019-11-12 15:20:18,565 INFO [uber-SubtaskRunner] org.apache.hadoop.mapred.TaskAttemptL...

2019-11-12 15:53:35 1043

原创 Java并发编程之Java内存模型 (中)

1.前言本文主要总结顺序一致性和volatile内存语义以及锁的内存语义三部分内容。对于volatile内存语义和锁的内存语义的了解,至关重要。在分析并发代码同步性时,了解这两个内存语义,能够帮助程序员避免错误、定位错误、优化代码。2. 顺序一致性2.1 概述顺序一致性内存模型是一个理论操控模型,这种模型保证代码的运行跟代码的顺序一致。例如:int a = 1; //1int b = ...

2019-11-12 10:49:44 275

原创 Java并发编程之Java内存模型 (上)

1. 前言在看完《Java并发编程的艺术》这本书的第三章后,觉得受益颇多。特别是对关于几个能够实现线程安全的关键字的内存模型的解析尤为透彻,所有在这里写个总结。2. 内存模型基础2.1 概述Java线程之间的通信对应程序员来说是透明的,关于内存可见性问题对应程序开发者来说,是极其烦恼的一个问题。如果不了解Java线程之间的通信机制,那么在并发编程中犯容易犯线程不同步错误,从而导致线程的安全...

2019-11-09 15:15:48 176

原创 cdh5.9.3上spark on yarn和spark Stand alone配置冲突的问题

问题描述:今天在自己搭建的集群上跑spark任务时(Stand alone模式下),命令如下:spark-submit --class com.liu.Demo.JavaSparkWordCount --master spark://node02:7077 --executor-memory 1G --total-executor-cores 1 Spark-1.0-SNAPSHOT.jar ...

2019-10-09 15:34:10 261

原创 二叉树的路径输出以及快速排序

问题剑指offer上有这么一道题:输入一颗二叉树的根节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。(注意: 在返回值的list中,数组长度大的数组靠前)求解思路:我的解法是将这个题目分成两个步骤,第一个步骤是先得到二叉树满足路径和为输入整数的所有路径;第二步将结果中的数组按照数组长度降序进行排序。代码:i...

2019-09-24 10:53:55 349

原创 关于Java继承中子类对象赋值给父类对象之后类型问题以及getClass()方法返回值的问题

前言今天在复习Java的时候无意间用到了getClass方法,不过发现了一点以前没有发现过的问题,在这里记录一下。问题描述我写了两个类一个叫做Per另一个叫做StuStu类继承了Per类,然后我实例化了两个类的对象,接着我将子类的stu对象赋给父类的per对象随后我使用hashCode()方法打印出了per对象刚刚生成的时候以及被赋值给stu对象之后的内存地址,发现两个内存地址是不相...

2019-08-26 16:48:36 2646 3

原创 《算法 Algorithms 第四版》红黑树学习小结

序言在2-3查找树中的3-结点的表示和代码实现上会比较麻烦,所有使用红黑二叉查找树来将二叉查找树和2-3查找树综合起来,实现高效的查找和插入等操作我们将3-结点的两个键变成两个2-结点,并用一条红链接将其链接起来,在形式上满足了二叉查找树,概念上满足2-3查找树。红黑树的另一种定义时含有红黑链接并满足下列条件的二叉查找树:红链接均为左链接;没有任何一个结点同时和两条红链接相连;...

2019-07-25 10:41:06 487

原创 《算法 Algorithms 第四版》2-3查找树学习小结

序言二叉查找树在插入N个元素后,可能会构造出一个深度为N的查找树,这样的话二叉查找树的查找性能就变得和顺序查找无异了,都是线性级的。为了维持树的平衡性,我们引入了2-3查找树,对于二叉查找树来说,每个结点只允许有一个键和两个链接,而2-3查找树我们允许一个节点有两个键和三个链接;左链接依然链接的比根节点小的节点,中链接则连接的是介于根结点两个键之间的的节点,右链接依然链接的是比根结点两个键都...

2019-07-25 09:34:03 281 1

原创 《Java并发编程实践》第二章 线程安全性

前言在Java并发编程中的一个核心问题就是线程的安全性,当对共享的和可变的状态进行访问时,就会存在线程安全。例如++i这一操作,i就是共享数据,i的状态是可变的,当多个线程访问i的时候,由于++i这一操作不是原子性操作,线程A访问i时可能i的值为1,在执行i = i + 1这一操作前,线程B也访问了i,得到的值同样是1,可是此时线程B得到的值就是一个失效值。线程安全性的定义正确的含义是,...

2019-04-17 10:50:29 166

原创 《统计学》 贾俊平 第四章 数据的概括性度量 学习总结

前言这一章主要介绍了反映数据分布特征的几个特征值以及其计算方法、特点及其应用场合。1. 集中趋势的度量分类数据众数是一组数据中出现次数最多的变量值,用M0表示。比如 1080 215 1080 758 489 258 这一组数据中1080出现的次数最多,所以该组数据的众数为1080,众数是不受数据中极端值的影响。顺序数据中位数是一组数据排序后处于中间位置上的变量值。未排序的...

2019-04-15 16:14:36 2751

原创 《利用Python进行数据分析》书籍第四章 Numpy基础:数组与向量化计算

前言《利用Python进行数据分析》第四章介绍了numpy的基础应用,其中它在数组上的应用使我印象很深刻,并且在数据分析中应用很广泛。目录1.多维数组对象2.快速的逐元素数组函数3.使用数组进行面向数组编程4.使用数组进行文件输入和输出5.线性代数6.示例:随机漫步的生成正文**1.多维数组对象**生成一个6*3的随机数组IN []: arr = np.random.r...

2019-04-15 15:24:18 342

原创 《统计学》贾俊平 第一章 导论总结

前言在学习《统计学》一书之后,在这里按照章节进行整理总结,也是对知识的一个复习,学习统计学的意义我认为就是以后在做数据分析的时候,能用科学的、有效的方法处理数据。1. 什么是统计学统计学是收集、处理、分析、解释数据并从数据中得出结论的科学数据分析所用的方法可分为描述统计方法和推断统计方法。在这里,我对应推断统计方法比较偏爱,一方面在统计学后面的学习中,统计量的引入就是属于推断统计学的...

2019-04-09 15:25:41 1048

原创 《利用Python进行数据分析》书籍第三章 内建数据结构、函数及文件 总结

前言在经过历时四个月的学习,把利用Python进行数据分析一书已经全部看完,作为Python以及数据分析刚入门的我,这本书对我帮助很大。在此,我将在学习此书的过程总结起来,以便日后的复习使用。在看这本书之前我已经读过了《Python编程从入门到实践》一书,所以看这本书的时候我是从第三章开始读起的,我使用的是Jupyter Notebook工具执行的Python语句。下面会按照章节的小结来进行总...

2019-04-09 14:54:22 370

原创 Python中pandas的qcut函数的用法

在《利用Python进行数据分析》这本书的第七章介绍了pandas的qcut函数的用法。原书介绍qcut函数是一个与分箱密切相关的函数,它基于样本分位数进行分箱,可以通过qcut获得等长的箱:data = np.random.randn(1000)#data服从正态分布cats = pd.qcut(data, 4)#将data均匀分成四份catsOut: [(0.657, 3.349], ...

2019-02-19 15:04:43 14835

原创 使用jQuery获取template.js渲染模板渲染出的HTML元素,获取不到的问题

问题:作为一个前端开发的初学者,最近在GitHub上找到一个前端渲染模板template,我之前用的多数是jsp中的jstl进行数据渲染。我通过ajax从后天获取数据,然后赋值给data,如图:我的前端的数据是问卷的各个选项包括单选、多选、填空等。我想通过从后端获取的答题信息对前端的各个选项进行选择,例如:jQuery的语法:KaTeX parse error: Expected 'EO...

2019-01-09 21:01:56 4615

原创 关于template.js模板渲染引擎在jsp上无法使用问题的解决方法

项目简介:项目框架:SSM, jdk版本:1.7,Tomcat版本:7.0问题描述最近一直苦苦找寻一种前端模板,能够对我通过ajax获得的json数据进行渲染,之前一直使用的都是对json数据进行遍历后,然后使用jQuery的append方法生成HTML元素。这种方法很麻烦,终于我找到了template.js模板渲染引擎,使用方法我参照的是https://www.cnblogs.com/th...

2018-12-11 12:23:44 1501

原创 Redis集群创建时出现的连接第一个7001node成功连接第二个node报 [ERR] Sorry, can't connect to node XXXXXXXXXXX:7002错误

今天想在虚拟机的Linux服务器上安装redis集群,前面我的单机redis已经装好了,并且能正常执行ping-pong操作,在对创建redis集群的时候,出现了一些问题。网上有许多的关于创建redis集群教程,以及解决无法连接node的错误,可是我这次碰见的错误有些特别。我按照网上的流程顺序已经建立了六个6个redis实例,在输入命令创建集群之后,我的第一个7001端口node能够连接成功,可...

2018-11-22 18:41:54 2506 4

原创 ssm框架中如何在前端jsp页面上点击一个按钮同时实现增和改的两种操作

问题描述:小白最近在做的一个项目中里面有这样一个需求:对一个调查问卷页面进行编辑。包括调查问卷题目的修改、删除、增加。当时拿到这个需求的时候,本来想到这三种操作对应三个按钮,分别写三个controller不就可以了。欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Mar...

2018-11-13 18:37:28 4812

原创 pagehelper 不分页的一种解决方法

关于ssm框架pagehelper不分页的一种解决方法要在模态框弹出的页面里将查询的数据进行分页,可是分页始终起不到效果。起初我的controller是这样的:这是我的service:我在网上看到了这种解决方法:解决方法-引用其他博主的博客的解决方法:http://blog.csdn.net/linxingliang/article/details/52566881可是我发现我的项目...

2018-10-31 15:36:48 959

原创 Pycharm编写Python语句报出不影响运行的警告的问题

关于Pycharm编写python语句时编译器报出missing whitespace around operator或者missing whitespace after ','类型的警告最近初学python语言的时候,试着使用Pycharm编写了一个简单的Python类,代码写完后能正常运行,可是很多代码下面都有波浪线,Pycharm警告截图如下:将鼠标移到波浪线下就提示“missing ...

2018-09-18 15:34:53 5884

空空如也

空空如也

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

TA关注的人

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