自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Go-基本数据-基本类型

package mainimport "fmt"func main() { /** 整数 有符号:int8 int16 int32 int64 无符号:uint8 uint16 uint32 uint64 有符号整数 n位数字取值范围: -2^(n-1) ~ 2^(n-1)-1 int天然的大小就是32位 无符号整数 0 ~ 2^n - 1 uint8 取值范围: 0~255 */ var u uint8 = 255 //溢出则为1 println(u, u+.

2021-04-16 14:50:32 145

原创 Go-程序结构-类型声明

类型声明可以使用type声明定义一个新的命名类型,命名类型提供了一种方式来区别底层类型的不同或者不兼容使用,这样他们就不会在无意中混用type name underlying-typepackage mainimport "fmt"type Celsius float64type Fahrenheit float64const ( AbsoluteZeroC Celsius = -273.15 FreezingC Celsius = 0 BoilingC Ce.

2021-04-15 11:22:42 119

原创 Go-程序结构-赋值

1 多重赋值赋值语句用来更新变量所指的值,最简单的形式是= x=1 *p = true person.name = "bob" v := 1 // v++ // v=v+1 => 2 v-- // v= v -1 => 1 //应用多重赋值 // 多重赋值 x,y= y,x a[i] ,a[j] =a[j],a[i] //最大公约数 func gcd(x,y int ) int { for y != 0 { x,y = y.

2021-04-14 21:00:16 238

原创 Go-程序结构-变量

//声明变量 var i, j, k int // int int int var b, f, s = true, 2.3, "four" // boolean ,float64,string fmt.Println(i, j, k, b, f, s) var f,err=os.Open(name)// os.open 返回一个文件和一个错误 //短变量可以用来声明和初始化局部变量 //使用 name:= expression 而name的类型由expres

2021-04-14 10:33:33 100

原创 shell脚本总结

本文章为学习记录以前一直没有接触过脚本开发,上周公司有一个需求,需要使用脚本,所以仓促之下东拼西凑完成了需求,下面针对需求进行总结和学习整理

2021-03-10 10:04:36 93

原创 awk-在文件中在指定行后加入一行

awk -v FS="\t" -v OFS="\t" ‘{$1=$1"\t3";print $0}’ tb_live_age20210202 >tb_live_age20210202_bak-v FS 指定输入文件分隔符-v OFS 指定输出文件分隔符

2021-02-26 18:02:25 1973

原创 go基础-变量

package mainimport "fmt"//全局变量var name8 string="jason 全局变量"//方法内部是局部变量func main() { fmt.Println(name8) //声明,并且赋值,且指定类型 var name string = "jason" var age int = 18 fmt.Println("name:", name, "\nage:", age) /** name: jason age: 18 */ fmt

2021-01-03 17:09:12 88

原创 go基础-转义字符

package mainimport "fmt"/**转义字符\n => 换行\\ => \\" => "\r => 回车\t*/func main() { fmt.Println("jason\n 18")//换行 fmt.Println("jason\\18")// jason\18 fmt.Println("\"")//" fmt.Println("'") //当前行的最前面开始输出,覆盖掉以前内容 /** jason \r后 输入

2021-01-03 15:03:13 154

原创 leetcode_58_最后一个单词的长度_简单

package com.lovedata.question;/** * @Classname _58_最后一个单词的长度_简单 * @Description TODO * @Date 2020/10/31 7:08 下午 * @Created by jason */public class _58_最后一个单词的长度_简单 { public static void main(String[] args) { int jason = lengthOfLastWord("

2020-11-01 21:58:32 212

原创 leetcode_35_搜索插入位置_简单

public static int searchInsert(int[] nums, int target) { int length = nums.length; int left = 0, right = length - 1, ans = length; //典型的二分查找 while (left <= right) { //移位运算// int mid = ((right - le.

2020-10-30 22:22:29 84

原创 leetcode-_28_实现_strStr_简单

public class _28_实现_strStr_简单 { public static void main(String[] args) { //判断needle这个字符串在haystack中的位置,位置按照第一个字符的位置 int i = strStr("hello", "ll"); System.out.println(i); } public static int strStr(String haystack, String

2020-10-29 23:08:54 99

原创 leetcode-_3_无重复字符的最长子串_中等

/** * 以 (a)bcabcbb 开始的最长字符串为 (abc)abcbb * 以a(b)cabcbb 开始的最长字符串为 a(bca)bcbb */ public static int lengthOfLongestSubstring(String s) { // 哈希集合,记录每个字符是否出现过 Set<Character> occ = new HashSet<Character>(); ..

2020-10-27 23:00:58 125

原创 关于Java的 == 和equals

首先明确一下这二者的比较通常来说== 比较 的是地址值equals比较的是数值所以还是要看是否重写equals /** * java中类都是继承了object * object的equals是比较地址值 */ person p1 = new person(); person p2 = new person(); p1.age = 10; p2.age = 10;

2020-09-23 19:48:03 83

原创 mysql的存储引擎

show engines;看你的mysql当前默认的存储引擎:MyISAM 和InnoDB1、InnoDB存储引擎 实际应用InnoDB是MySQL的默认事务型引擎,它被设计用来处理大量的短期(short-lived)事务。除非有非常特别的原因需要使用其他的存储引擎,否则应该优先考虑InnoDB引擎。 2、MyISAM存储引擎MyISAM提供了大量的特性,包括全文索引、压缩、空间函数(GIS)等,但MyISAM不支持事务和行级锁,有一个毫无疑问的缺陷就是崩溃后无法安全恢复。

2020-09-22 20:00:00 94

原创 sql必知必会-学习记录&总结

1 排序SELECT prod_name FROM Products ORDER BY prod_name;通常,ORDER BY 子句中使用的列将是为显示而选择的列。但是,实际上并不一定要这样,用非检索的列排序数据是完全合法的。select * from Student order by Sid,Sage;不讨论业务,只单纯说逻辑,如果Sid相同,则按Sage进行排序2 过滤where 还可以配合 and or not in like 等关键字需要注意的是 and是左右两边均要

2020-09-22 16:21:07 180

原创 hive参数调优

1 思路1.1 查看explain,使用spark引擎的执行计划)1.2 查看yarn日志1.3 向量化查询–开启向量化查询开关set hive.vectorized.execution.enabled=true;select s_age, max(s_desc) num from student_tb_orc group by s_age;开启hive.vectorized.execution.enabled操作,默认是关闭状态,将一个普通的查询转化为向量化查询执行是一个Hive 特性。它

2020-09-21 22:37:19 6952 1

原创 HIVE-面试总结

Hive join查询的时候on和where有什么区别左右关联时:• 条件不为主表条件时,放在on和where后面效果一样。• 条件为主表条件时,放在on后面,结果为主表全量,放在where后面为主表条件筛选过后的全量。select * from a left join b on a.id=b.id where a.dt=20181115;推荐这么写,先过滤数据然后再joinleft join执行顺序不考虑where条件下,left join会把左表所有数据查询出来,on及其后面的条.

2020-09-21 22:05:22 195

原创 leetcode_977_有序数组的平方

public static void main(String[] args) { int[] array = {-4, -1, 0, 3, 10}; int[] ints = sortedSquares(array); System.out.println(Arrays.toString(ints)); } public static int[] sortedSquares(int[] array) { if (array =

2020-09-11 11:34:05 114

原创 面试题 16.16. 部分排序

public static void main(String[] args) { int[] nums = {1, 5, 4, 7}; int[] ints = subSort1(nums); System.out.println(Arrays.toString(ints));//[1, 4] } /** * 左和右两侧分别找到逆序的索引位 * 比如 * 从左向右寻找最大值,如果发现array(n)>arr..

2020-09-10 22:27:24 93

原创 leetcode-88. 合并两个有序数组

package com.lovedata._题目总结.排序_数组;import java.util.Arrays;/** * https://leetcode-cn.com/problems/merge-sorted-array/ * 两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 nums1 成为一个有序数组。 * 说明: * <p> * 初始化 nums1 和 nums2 的元素数量分别为 m 和 n 。 * 你可以假设 nu

2020-09-03 20:00:33 125

原创 Flink-内存管理

首先,此篇文章原版是大神zhisheng写的,我只是学习zhisheng并且做一个记录自己总结一下,水平一般Flink是如何管理内存的大多数的对象都是存储到内存中,而flink有着自己独特的管理内存的方式Flink 将对象序列化为固定数量的预先分配的内存段,⽽不是直接把对象放在堆内存上。它的 DBMS ⻛格的排序和连接算法尽可能多地对这个⼆进制数据进⾏操作,以此将序列化和反序列化开销降到最低。如果需要处理的数据多于可以保存在内存中的数据,Flink 的运算符会将部分数据溢出到磁盘f.

2020-08-13 15:52:11 543

原创 算法-排序-希尔排序

希尔排序首先引出一个问题 [9,8,7,6,5,4,3,2,1] 使用直接排序或者冒泡排序效率过低,那么该怎么让数据均匀一些然后再进行直接排序?我们可以使用希尔排序首先看一个例子我们有一个数组[8,7,0,5,3,6,9,1,2,4]希尔排序是先把一个大的数组分成一些小的组,然后针对这些分组在进行直接排序,保证组内有序,这样使原始数组看起来更局部有序下面为展示首先数组长度是10,我们分组个数为arr.length / 2,也就是分为5组,也既步长为5.关于这个步长,比如数组长度是10,那么第

2020-08-07 15:53:38 366

原创 算法-排序-插入排序

插入排序(Insertion Sorting)的基本思想是:把n个待排序的元素看成为一个有序表和一个无序表,开始时有序表中只包含一个元素,无序表中包含有n-1个元素,排序过程中每次从无序表中取出第一个元素,把它的排序码依次与有序表元素的排序码进行比较,将它插入到有序表中的适当位置,使之成为新的有序表int arr[] ={5,4,6,1}按照插入排序的思想来演示一遍首先我们认为数组中5 是一个有序数组,但是这个有序数组中的元素只有一个就是5 ,4 6 1 是一个无序数组 他们共同构成arr数

2020-08-07 14:14:56 154

原创 算法-排序-选择排序

选择排序比如我们有数组[5,4,3,2,1]选择排序的思想就利用两个for循环,第一个for循环选出一个最小值,然后在第二个循环中,使用该最小值进行依次比较,如果存在最小值则进行替换如下:数组[5,4,3,2,1],我们假定最小值是arr[0]=5那么我们将arr[0]依次与arr[1] — arr[4]进行比较,发现比arr[0]还要小的值则替换arr[0]public class SelectSort { public static void main(String[] args

2020-08-07 12:48:13 134

原创 算法-排序-冒泡排序

冒泡排序是排序算法中比较经典的一个大概思路就是,通过两次for循环去比循环比较相邻的两个元素的大小案例 int[]={1,3,5,2}因为是两个for循环嵌套,所以一共是4次大排序,每次大排序中嵌套一个for循环第一次排序1 {1,3,5,2}2 {1,3,2,5}第二次排序1 {1,3,2,5}2 {1,2,3,5}第三次排序1 {1,2,3,5},在这里做一次优化,避免对有序数组在进行排序比较在这里我们要加一个判断,如果我们发现在某趟排序中,没有发生一次交换, 可以提

2020-08-05 19:41:55 267

原创 算法-数组-删除排序数组中的重复项

leetcode26. 删除排序数组中的重复项给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。示例 1:给定数组 nums = [1,1,2],函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。你不需要考虑数组中超出新长度后面的元素。示例 2:给定 nums = [0,0,1,1,1,2,2,3,3,4],函

2020-08-03 23:02:30 179

原创 java总结-基础部分

前言,面试总结参考自github上高分开源资料:JavaGuide,十分感谢这位大神做的总结,自己学习之中做的整理加强理解和记忆1 java基础知识1.1 java语法1.1.1 字符型常量和字符串常量的区别形式上: 字符常量是单引号引起的一个字符; 字符串常量是双引号引起的若干个字符含义上: 字符常量相当于一个整型值( ASCII 值),可以参加表达式运算; 字符串常量代表一个地址值(该字符串在内存中存放位置)占内存大小 字符常量只占 2 个字节; 字符串常量占若干个字节 (注意: ch

2020-07-29 21:51:50 261

原创 万历十五年-第一章

公元1587年,是明代万历十五年,丁亥,猪年于西欧历史上的西班牙舰队,全部出动征英的前一年.在我国的朝廷上发生了一些极易让史学家忽视的一些小事情,但是这些小事情却将在以后掀起波澜的大事的症结所在.其间关系因果,恰为历史的重点.这些小事,又有那些含义呢?午朝讹传这本是一个戏剧性的事件,没有皇帝的明确指令,却空穴穿风,满朝文武均聚集至端门午门外,全体官员,数以千计上当受骗.,但礼部调查无果,万历皇帝则对全部在京公职的官员罚俸的处罚.此等处罚,虽说对于高级官员来讲,这些俸禄不值一提,高级官员有很多额

2020-07-22 20:39:25 688

原创 浅谈Spark-内存管理

spark内存管理

2020-07-07 21:44:52 247

原创 1.Kafka源码-导入源码

导入源码1 版本2 安装3 导入工作1 版本idea : 2019.3.4scala : 2.11.8gradle : 3.0jdk : 1.8.0_241kafka : 0.10.1.02 安装安装方法跟maven类似,验证gradle -v安装并没有太多要求,正常即可注意安装完gradle需要去C:\Users\xxx\.gradle目录下创建init.gradle文件...

2020-03-31 23:35:25 1584 5

空空如也

空空如也

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

TA关注的人

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