自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 hive数据倾斜(超详细)

说到hive的数据倾斜,可能有的小伙伴还不了解什么是数据倾斜,所以咱们这一次就从hive数据倾斜的表现、hive数据倾斜发生的原因、hive数据倾斜的解决方案这三个方面来聊一聊hive的数据倾斜。

2022-11-04 21:24:23 9062 1

原创 离线数仓分层(基础)

数仓分层基础知识,面试复习

2022-11-01 22:08:59 1640

原创 为什么要用kafka(新手向,含业务场景)

为什么要使用kafka

2022-07-17 18:19:46 1159

原创 Node和Element的区别(节点和元素)——超详细

如图一个xml文档由元素节点,属性节点,文本节点成其中bookstore被称为文档元素或根元素,也是一个元素节点整个文档是一个文档节点,即document节点。在Java中document接口是继承于node接口,表示整个xml文档每个xml标签是一个元素节点,即element节点。在Java中element接口继承于node接口,表示xml文档中的一个元素text节点为文本节点,在Java中text接口继承于characterData接口,而characterData继承于nod.

2021-12-02 14:57:20 3047

原创 存储过程(存过)

定义:是一系列sql语句的集合,调用时一次性执行这些sql语句,与java中方法的概念类似,相比较于UDF自定义函数来说,存储过程没有返回值,函数有一个返回值语法:create procedure'存储过程名'(参数列表)beginsql语句end;调用:call 存储过程名(values)应用实例:--通过学生ID获取名称drop procedure getName;delimiter &&create proedure getName(in

2021-11-29 18:55:16 1064

原创 UDF自定义函数

定义:UDF函数相对于存储过程来说是有返回值的,注重的也是返回值,本质是一系列sql语句的集合,调用时一次性执行这些sql语句,与java中方法的概念类似,都是对MySQL功能的扩展UDF语法:create function 函数名([参数列表])return 数据类型beginsql语句return 值end;n...

2021-11-29 18:41:13 1390

原创 MySQL视图

定义:视图是存储在数据库中的查询的sql语句,本质是查询语句的结果,存入一个临时空间,相当于临时表优点:简单化,数据所见即所得安全性,用户只能查询或修改他们所能见到得到的数据逻辑独立性,可以屏蔽真实表结构变化带来的影响缺点:性能差,修改不方便语法:create view 视图名 asselect ...........(查询语句)select * from 视图名...

2021-11-29 17:31:03 785

原创 MySQL触发器

作用:用来在某些操作时,“自动”执行一些操作,一张表最多能有6个触发器(3操作*2时间)定义触发器:语法:create +trigger+触发器名+ before/after +事件+on+表名+for each row +触发器语句1、before|after 代表触发器语句执行时间,如果是before,就是在insert|delete|update操作之前执行触发器语句;after就是之后。2、事件就是insert delete update操作中的一个。3、for each row

2021-11-29 14:29:59 234

原创 MySQL简单命令总结

mysql的常用命令--库级命令:---建库:create database 【if not exists】school;school为库名---删除库:drop database 【if exists】test; test为库名 ---查看所有的库show databases;---建库时指定字符编码create database school character set 'utf8';---修改库的字符编码alter database schoo..

2021-11-22 19:55:14 386

原创 反射机制详细讲解及实现

一、先来说一说什么是反射机制Java反射机制是指在运行状态中,动态获取信息以及动态调用对象方法的功能。二、Java反射有三个动态性质运行时生成对象实例 运行期间调用方法 运行时更改属性三、关键步骤如下使用反射获取类的信息使用反射创建对象 使用反射访问属性和方法四、反射常用的方法 getDeclaredConstructors():...

2021-11-18 18:30:56 956

原创 如何解决多线程不安全的问题

举个生活比较常见的例子,咱们生活中过年回家的时候常常会出现需要抢票的情况,然后有一些平台会帮助我们代抢票的服务,这个时候往往会出现多个平台抢票的情况,其实这就是多线程的一种应用,我们先按照常规多线程实现一下代码如下public class Ticket extends Thread { static int total=10;//这里的static是为了共享数据,因为有多个对象,不然会出现30张票, static int buy=0; @Override ...

2021-11-17 20:18:49 427

原创 如何简单编写斗地主发牌程序

我们先来看一看要求* 纸牌管理类* 斗地主游戏规则如下:* 1.有三名玩家,可从控制台赋值玩家姓名,玩家中会有牌类集合的属性,还有是否是地主的状态* 2.牌类有两个属性:花色和点数。花色有4种:黑红梅方(可用枚举)点数对应有13加上两张王牌(可用枚举)。* 3.扑克牌管理类:用于产生54张随即顺序的牌堆(牌类集合,54张牌不变,变得是顺序),给玩家发牌,并随机产生地主,把剩余3张底牌给地主,并展示三位玩家的手牌。同时把手牌信息存入文件中一,首先创建纸牌类可以利用数组,也...

2021-11-17 17:41:40 1949

原创 在Java中什么是多线程

一,定义:线程是进程中执行运算的最小单位,一个进程在其执行过程中可以产生多个线程,线程必须在进程中进行,如果在一个进程中同时运行了多个线程,用来完成不同的工作,则称之为多线程。举一个简单的例子CPU——工厂,发放任务进程——车间,处理CPU任务线程——工人,协助完成任务线程共享进程空间,一个进程管理多个线程注意!!!!多个线程交替使用CPU资源才属于多线程,严格意义上没有真正的并行使用,因为实际上只有一个出口。二,优势1,多线程可以更快的处理任务,避免因为程序执行过慢而导

2021-11-17 10:43:31 814

原创 序列化和反序列化简单介绍

一、什么是序列化?简单来说,序列化就是将对象的状态储存到特定储存介质中的过程在此过程中会将对象的公有成员、私有成员包括类名,转换成字节流(二进制),然后再把字节流写入数据流,储存到存储介质中,这里说的存储介质通常是文件举个简单的例子,序列化就像我们做米饭的过程,米饭就是对象,电饭煲蒸饭的过程就是转换成字节流的过程,电饭煲就是数据流,饭碗就是存储介质(有些博客写着写着就饿了、、、、、)二、序列化的意义将Java对象序列化...

2021-11-16 19:18:31 383 2

原创 字节流和字符流区别(附例子)

字节流和字符流的用法几乎完成全一样,区别在于字节流和字符流所操作的数据单元不同,字节流操作的单元是数据单元是8位的字节,字符流操作的是数据单元为16位的字符。

2021-11-16 10:08:29 1173

原创 使用递归打印路径下的所有文件(递归yyds)

本文内容包括递归和演示File类型的方法递归的本质其实和循环差不多,这里套用一下Marx_W大佬的理解递归:你打开面前这扇门,看到屋里面还有一扇门。你走过去,发现手中的钥匙还可以打开它,你推开门,发现里面还有一扇门,你继续打开它。若干次之后,你打开面前的门后,发现只有一间屋子,没有门了。然后,你开始原路返回,每走回一间屋子,你数一次,走到入口的时候,你可以回答出你到底用这你把钥匙打开了几扇门。   循环:你打开面前这扇门,看到屋里面还有一扇门。你走过去,发现手中的钥匙还可以打开它...

2021-11-15 20:31:52 404

原创 使用I/O操作文件,并完成不同存储位置文件内容的复制粘贴

一,字符拼接是通过StringBuilder实现的,缺点是不能打印中文//StringBuilder 是一个字符拼接的工具类,频繁使用字符串拼接的时候可以用先给大家看一下抛出异常时候的情况,比较好理解代码实现如下public static String readFile(String path) throws IOException { FileInputStream fis = new FileInputStream(path); StringBuilder sb = n

2021-11-15 20:04:09 148

原创 Java中字符的占用

换行占用2个字符一个汉字占用3个字符

2021-11-15 15:59:17 375

原创 集合的框架(非常好记)

如果想储存多个同类型的数据,一般可以用数组来实现,但是使用数组时会有很多缺陷,比如数组长度需要确定,查找效率比较低下,需要多次比较等。针对数组的缺陷,Java提供了比数组更加灵活的集合框架上图中的虚线框代表了接口或者抽象类,实线框表示开发中常用的实现类,右下角代表了工具类collections和Arrays(常用有sort排序等),最上方是三个副接口,Iterator(迭代器),Collection和Map比较其中比较重要的是Map接口和Collection接口,Collection接...

2021-11-14 13:05:49 426

原创 接口的简单应用

今天我们用接口来实现卷帘门开门开锁,关门关锁的一个简单过程首先要确定好自己要建立的类,有Lock的接口,Master类,juanlianDoor类,我们一般不把接口当做父类,但是也可以操作,一般把门当做父类,一,可以先设置Lock的抽象类和父类,注意一下关键词package cn.kgc;public interface Lock { //接口中所有的方法都默认为公共抽象的方法 public abstract void lockUp();//上锁 void lockD

2021-11-09 15:36:41 76

原创 接口的简单介绍

首先咱们得知道什么是接口一,接口的规则1,接口关键字是interface,实现接口的关键字是implements,接口之间可以用extends2,接口不能被实例化,也没有构造方法,因为里面全是公共抽象方法3,接口可以有静态方法,但是不规范4,接口中的变量全是公共静态变量,一般在工作中一个接口中全是常量,没有方法,或者全是方法没有常量5,接口用于扩展功能,多个接口可以被一个接口继承,多个接口可以被一个类实现抽象类和接口的异同点相同点:都代表系统的抽象层,都不能被实例化,

2021-11-09 15:18:55 809

原创 常见异常整理分类和举例

1,常见异常算数异常:ArithmeticException输入不匹配异常:InputMismatchException类型转换异常:ClassCastException数组越界异常:ArrayIndexOutofBoundstException空指针异常:NullPointertException非法参数异常:IllegalArgumentstException下标越界异常:IndexOutOfBoundtException文件未找到异常:FileNotFoundExcep

2021-11-09 15:06:39 1027

原创 如何编辑简单打字游戏

先来简单看一下要求一,我们可以先编写Player类,先把属性定义好,然后进行封装public class Player { private String name; //定义姓名 private int lvlNo=1; //定义级别编号为1 private long startTime=System.currentTimeMillis(); //定义开始时间 private .

2021-11-09 14:51:11 2978

原创 集合常见三大类(Array,Set,Linked)

集合框架和泛型1,集合框架1,Collection接口:无序,可重复2,List接口:有序可重复ArrayList实现类:底层是 用可变数组存储,如果超出阀值,则新建一个数组代替原来的LInkedList实现类:底层使用列表存储3,Set接口:无序,不可重复HashSet实现类:底层使用HashMap的key来进行存储4,Map接口:HashMap实现类:底层是用一个Entry<K,V>(映射关系)来存储这里的不唯一是指可重复键值...

2021-11-09 14:00:55 1189

原创 面向对象-封装

1,面向对象三特性:封装,继承,多态2,封装的作用:主要解决安全问题提供对外的输入输出接口(这里的构造方法要用setter来实现封装)说白了就是对属性进行加密,使得外部的程序没有权限修改,类似一把钥匙对应一把锁3,访问修饰符:public:全工程可见,范围最大protected:包级私有+子类可见private:只有本类可见,范围最小...

2021-11-01 20:19:31 45

原创 如何用面向对象的方法实现帮助用户管理账号密码

要求:模拟实现用户密码管理,输入旧的用户名和密码,如果正确,方有权限更新;从键盘获取新的密码,进行更新修改(可以应用于初次登录的用户,进行修改密码的操作)步骤:1,先定义用户的初始密码和匹配的用户名,接着建立新方法a和b,分别返回两个初始设定值以备用2,紧接着再次建立新方法并且建立新对象,在新对象中,开始调用方法a和b,并且赋值(这里一定要建立新变量进行赋值,得接住return的值,才能调用)3,最后是检测阶段,还是要建立新对象,把输入的值赋值到前面定义的新变量上,最后进行...

2021-10-28 16:31:41 454

原创 数组中三种常用的排序方法/新手向(另外有大招和动图)

1 冒泡排序法理论逻辑:从前向后遍历,数组中前后两个数进行比较,拿从大到小排序举例子,这时候就需要把大的数拎出来赋值,我们可以利用“三变量交换法”把两个数的数值进行交换,一轮比较赋值过后然后再次循环,最终可以得到咱们想要的顺序演示如下这里用的是随机数来排序,关键点从注释开始,因为中间可能存在已经排序结束的情况,咱们可以用“flag”来定义满足比较条件的循环(有变换赋值的情况),不满足的直接用break跳出2 插入排序理论逻辑:从第二个值开始,向后拓展轮数,并且从后向前开始遍历..

2021-10-26 16:09:16 1752

原创 利用增强for的循环结构在数组中计算平均数

首先来回忆一下数组赋值的方法1、首先最简单的就是先声明定义数组长度,再逐个赋值比如说 "int[] a=new int(2)" 这种 "a[1]=5; a[2]=7;"2、边声明边赋值这种方法的最大问题就是不能指定数组长度,例如 3、动态的从键盘录入信息并且赋值我们这里直接用边声明边赋值的方法,如下,增强for的格式for(类型 临时变量:数组名)for(...

2021-10-25 19:12:15 533

原创 Java中利用循结构求数组中的最大值

基本思路:先初始化最值变量循环遍历数组,依次与变量比较,不符合条件的,替换变量的值循环结束后,得到的变量即为最值案例:这里强烈推荐直接利用 “System.out.println(Arrays.toString(a));” 输出数组...

2021-10-25 19:00:00 519

原创 如何利用Java完成在数组中插入数值并且排序(从大到小)

首先要对数据组进行扩容,然后定义新的数据组,将旧数据组的值重新赋值,最后开始插入数值数组插入值:前提:数组本身有序插入要保证不会越界步骤;1、从后向前遍历2、每个值要与插入的值进行比较,不符合顺序的后移3、符合顺序的,要在后方插入4、如果从头至尾没有插入,则插入在首位...

2021-10-25 18:51:10 2125 2

原创 如何用Java循环结构做简单的打印程序框架(超级简单)

需要工具:windows10系统,Java,IDEA咱们常见的此类程序需求是“打印份数”的输入,“第N次打印中”的即时显现,还有“打印完成”的显示。所以说就需要咱们用到昨天文章中讲到的Scanner扫描的方法了,当然今天的核心是如何让循环结构及时停止(无限循环就老刺激了),这里面限制条件就很重要了,咱们先来简单演示一下。上面的代码中限制条件就是a的值,而a的值是用户输入的打印份数,当打印的份数为a的时候就会自动停止循环,程序结束,最终做出来的效果大概如下图当然也还有一些比较容易错的地方.

2021-10-21 15:58:21 278

原创 三元表达式,if选择结构和switch的优劣分析

对于Java的初学者来说,学习选择结构的时候通常会感觉程序太长,写起来特别麻烦,碰到简单的if的基本选择结构还好,毕竟就一两个简单的选择判断选项,咬咬牙也就码出来了。但是碰到很多限制条件的程序,比方说兴趣爱好,生活作息,年龄,性别等等等等,夹杂了特殊的算法混合起来,直接让人头皮发麻,就像我今天写的一个身高预测系统一样,除了要收集到用户父母的身高啊,孩子的年龄啊,孩子的生活习惯和饮食规律也要统合起来一起计算,感觉头疼的不行,先放一张下午这个系统的部分代码图给大家看一下我感觉这个对于逻辑思维能力的要求还..

2021-10-20 19:21:10 853

原创 Java的基本数据类型和类型转换规则

大体上可以分为数值型和非数值型数值型又可以分为1 整数型byte(字节型):-128到127(多了数据就会溢出)默认值为0b(实际上就是二进制,逢二进一,举个简单例子0000 0000(第一个0为符号位)二进制1000 0000代表-128也就是0-1280111 1111代表1+2+4+8+16+32+64=127(正数))short:16位:-2^15到2^15-1 默认值为0sint(整型,默认):32位 默认值为0...

2021-10-20 18:39:54 198

原创 如何用Java的控制台编写简单抽奖系统(保姆级教学)

public class text { public static void main(String[] args){ Scanner sc=new Scanner(System.in); System.out.println("请输入您的四位会员卡号"); int n=sc.nextInt(); int c=n/100%10;// int a=n/1000;// int b=n-a*1000;// .

2021-10-20 17:31:02 662

原创 java的环节变量配置及检测(新手向)

因为必须配置环境变量才能使用Java开发环境,所以今天来教大家如何在Windows 10操作系统下配置环境变量Path.首先咱们在系统主页里面搜素"高级系统设置"接下来会跳出系统设置的页面,咱们直接到高级设置里面点击环境变量的选项然后咱们就可以在系统变量里面点击新建,搭建Java的环境变量啦接下来咱们先搭建Class Path,输入如图的变量值(一定要注意字符的大小写)然后咱们找到Java的安装路径(一般在programfiles里面。一定要用jdk的...

2021-10-18 20:06:50 183

空空如也

空空如也

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

TA关注的人

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