自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 资源 (2)
  • 收藏
  • 关注

原创 房贷还款方式等额本息等额本金比较和这两种提前还款的区别

计算规则数据:贷款总额80万,年限30年,商贷利率5.44(实际5.4%先按5.44模拟计算)等额本息:每月还款:4512.24元利息总额82.44万元还款总额:162.44万元月供总额不变,月供包含本金每月增加,月供利息不断减少等额本金:每月还款:5848.89元利息总额65.46万元还款总额145.46万元月供总额每月减少,月供包含本金不变,月供利息每月不断减少从一开始选择等额本金比选择等额本息总利息要少17万左右,不提前还款的情况

2022-05-22 16:47:08 793

原创 大数据面试题--数仓

目录数据仓库理论数据分层E T L星形模型与雪花模型的区别?维度建模(dimensional modeling):数据仓库项目最重要或需要注意的是什么,以及如何处理?关系建模与维度建模拉链表:维度表和事实表数据仓库中的维度和粒度维度建模步骤:如何构建数据仓库?Flink面试题Flink的重启策略:Flink集群规模Flink 集群有哪些角色?各自有什么作用?TODO说说 Flink 资源管理中 Task Slot 的概念说说 Fli

2022-02-22 18:47:09 7518 1

原创 hive解决加载数据后查询数据显示为NULL的问题

数据准备:de

2021-06-12 22:46:06 3674 3

原创 Hive实战企业级项目之谷粒影音统计各种TopN问题

说明:在学习hive的过程中,跟着尚硅谷教程做了一次hive的项目实战,作为对hive的结业学习。以shang是详细笔记。

2021-06-06 20:16:06 3441 4

原创 Hive的行转列列转行函数使用

行转列:函数说明:CONCAT(string A/col, string B/col…):返回输入字符串连接后的结果,支持任意个输入字符串;CONCAT_WS(separator, str1, str2,...):它是一个特殊形式的 CONCAT()。第一个参数剩余参数间的分隔符。分隔符可以是与剩余参数一样的字符串。如果分隔符是 NULL,返回值也将为 NULL。这个函数会跳过分隔符参数后的任何 NULL 和空字符串。分隔符将被加到被连接的字符串之间;注意: CONCAT_W

2021-05-30 19:24:24 1759 3

原创 Java面试之ThreadLocal的使用

ThreadLocal解决了什么问题?内部源码是怎么样的?作用:实现在线程的上下文传递对象,为每个线程创建一个副本。案例:public class ThreadLocalTest { private static ThreadLocal<Long> threadLocal = new ThreadLocal<>(); public static void main(String[] args) throws InterruptedException {

2020-12-06 20:50:50 2600 1

原创 彻底了解Redis的哨兵模式

概述:主从切换技术的方法是:当主服务器宕机后,需要手动把一台服务器切换为主服务器,这就需要人工干预,费时费力,还会造成一段时间内服务不可用,这不是一种推荐的方式,更多时候,我们优先考虑哨兵模式。谋朝篡位的自动版,能够自动监控主机是否故障,如果故障了根据投票数自动将从库转换为主库。哨兵模式是一种特殊的模式,首先redis提供了哨兵的命令,哨兵是一个独立的进程,作为进程,它会独立运行。其原理是哨兵通过发送命令,等待redis服务器响应,从而监控运行的多个redis实例。这里的哨兵有两个作用

2020-11-14 02:10:51 2446

原创 轻松理解Redis的主从复制

概念:主从复制是指将一套redis服务器的数据,复制到其他的redis服务器,前者称为主节点,后者称为从节点;数据的复制是单向的,只能由主节点到从节点。master以写为主,slave以读为主。默认情况下,每台redis服务器都是主节点,且一个主节点可以有多个从节点,但一个从节点只能有一个主节点。主从复制的作用:1.数据冗余:主从复制实现了数据的热备份,是持久化之外的一种数据冗余方式。2.故障恢复:当主节点出现问题时,可以由从节点提供服务,实现快速的故障恢复,实际上是一种服务的冗余。

2020-11-14 01:57:15 2396

原创 快速理解Redis的持久化操作RDB和AOF

持久化RDB操作Redis是内存数据库,如果不将内存中的数据库状态保存到硬盘,那么一旦服务器进程退出,服务器中的数据库状态也会消失。所以Redis提供了持久化功能。在指定的事件间隔内将内存中的数据集快照写入磁盘,也就是Snapshot快照,它恢复时是将快照文件直接读到内存。Redis会单独创建fork一个子进程进行持久化,会先将数据写入到一个临时文件中,待持久化过程都结束了,再用这个临时文件替换上次持久化好的文件。整个过程中,主进程是不进行任何IO操作的。这就确保了极高的性能。如果需要进行大

2020-11-14 01:31:12 2451

原创 工厂和抽象工厂设计模式

意图:定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。主要解决:主要解决接口选择的问题。何时使用:我们明确地计划不同条件下创建不同实例时。如何解决:让其子类实现工厂接口,返回的也是一个抽象的产品。关键代码:创建过程在其子类执行。应用实例: 1、您需要一辆汽车,可以直接从工厂里面提货,而不用去管这辆汽车是怎么做出来的,以及这个汽车里面的具体实现。 2、Hibernate 换数据库只需换方言和驱动就可以。优点: 1、一个调用者想创建一个对象

2020-11-09 23:47:36 2351

原创 索引结构(BTree、B+Tree和Hash等)和分类(聚簇索引与非聚簇索引等)

索引是数据结构,可以简单理解为排好序的快速查找数据结构。数据本身以外,数据库还维护着一个满足特定查找算法的数据结构,这些数据结构以某种方式指向数据,这样就可以在这些数据结构 的基础上实现高级查找算法,这种数据结构就是索引。一般来说,索引本身也很大,不可能全部存储在内存中,因此索引往往以索引文件的形式存储在磁盘上。B-TREE: (B:balance) 会自动根据两边的情况自动调节,使两端无限趋近于平衡状态。可以使性能最稳定。(myisam使用的方式) B-TREE弊端...

2020-11-09 23:09:10 3248

原创 MySQL锁机制表锁和行锁详解

锁的分类:从对数据操作的类型(读写)分:读锁(共享锁):针对同一份数据,多个读操作可以同时进行而不会互相影响写锁(排它锁):当前写操作没有完成前,它会阻断其他锁和读锁。从对数据操作的粒度分:表锁行锁表锁(偏读):特点:偏向MyISAM存储引擎,开销小,加锁快;无死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。案例:加读锁加写锁:结论:MyISAM在执行查询语句(SELECT)前,会自动给涉及的所有表加读锁,在执行...

2020-11-07 02:06:40 2543

原创 SpringBoot切换版本时项目访问不到thymeleaf页面404

由IDEA选择的版本2.1.16切换成1.5.10版本时,发现在项目正常启动时跳转themeleaf页面访问不到,报404。查看控制报错日志:发现是html文件解析错误。SpringBoot中thymeleaf的默认版本为:1.5.10.RELEAS<dependency> <groupId>org.springframewor...

2020-04-02 01:19:59 3280

原创 并发编程之使用Executor

Executor将用来管理Thread对象,Executor在客户端和任务之间提供了一个间接层,与客户端直接执行任务不同,这个中介将执行任务。Executor允许你管理异步任务的执行,而无须显式地管理线程的生命周期。Executor在Java SE5/6是启动任务的优选方法。ExecutorService:具有服务生命周期的Executor,知道如何构建恰当的上下文来执行Runnable...

2020-03-20 00:03:29 2432

原创 Java中print()方法的使用

在学习Java中,看到编程思想的代码里有print()方法,而当我练习时发现输入print()方法时引入的包并不是net.mindview.util.print.*包,原先以为是JDK版本不对。经过了解,原来是需要引入包。下面是分享链接:链接:https://pan.baidu.com/s/1lDc3LDX6mmzFGtjH6g21NQ提取码:1ksc方法:下载此包,导入IDEA...

2020-03-17 23:29:52 12022 1

原创 Java之动态代理详解

1.什么是动态代理?在运行时创建目标类,可以调用和扩展目标类的方法。动态代理利用Java的反射技术生成字节码,在运行时创建一个实现某些给定接口的新类及其实例。注意:这里代理的时接口,不是类和抽象类。2.动态代理的应用场景?DubboAOP in Spring3.怎么用动态代理?下面是应用动态代理的实例:3.1定义一个接口Interfacepublic inte...

2020-03-15 23:35:37 2457

原创 动态代理异常com.sun.proxy.$Proxy0 cannot be cast to

在学习动态代理的时候,发现控制台报错Exception in thread "main" java.lang.ClassCastException: com.sun.proxy.$Proxy0 cannot be cast to...下面是代码:public static void main(String[] args) { //要代理的真实对象 Pe...

2020-03-15 21:34:45 6385 1

原创 SpringBoot与日志

日志框架日志门面:SLF4j日志实现:LogbackSpringBoot:底层是Spring框架,Spring框架默认是应用JCL;SpringBoot选用SLF4j和Logback;SLF4j使用1.如何在系统中使用SLF4j以后开发的时候,日志记录方法的调用,不应该来直接调用日志的实现类,而是调用日志抽象层里面的方法。应该给系统里面导入slf...

2020-02-16 22:41:25 2390

原创 SpringBoot配置笔记超详细版

一、配置文件:文件名是固定的--SpringBoot使用一个全局的配置文件application.propertiesapplication.yml配置文件的作用:修改SpringBoot自动配置的默认值SpringBoot在底层都给我们自动配置好配置文件放在src/main/resources目录或者类路径/config下yml是YAML(YAML Ain't ...

2020-02-16 22:38:28 3105 2

原创 SpringBoot入门---史上最详细

特性:1.帮助开发者快速整合第三方常用框架2.完全不需要外部服务器运行,内嵌入服务器,原理Java语言创建tomcat3.完全采用注解形式替代了XML,原理因为Spring体系本身支持注解启动,只是做了包装优点:快速创建独立运行的Spring项目以及与主流框架集成使用嵌入式的Servlet容器,应用无需打成WAR包starters自动依赖与版本控制大量的自动配置,简...

2020-02-15 20:31:11 2613

原创 从简单例子深入理解hashMap的put和get原理

先来看一个简单的例子:HashMap<String, Integer> map = new HashMap<String, Integer>();map.put("语文", 1);map.put("数学", 2);map.put("英语", 3);map.put("历史", 4);map.put("政治", 5);map.put("地理", 6);ma...

2019-08-16 00:34:12 3993

原创 深入理解Java反射机制(总结)

什么是反射反射是Java程序员开发语言的特征之一,它允许运行中的Java出现获取自身的信息,并且可以操作类或对象的内部属性。通过反射机制,可以在运行时访问Java对象的属性,方法,构造方法等。反射的应用场景:开发通用框架:反射最重要的用途就是开发各种通用框架。很多框架都素hi配置化的,为了保证框架的通用性,它们可以需要根据配置文件加载不同的对象或类,调用不同的方法,这个时候就必须用...

2019-08-05 22:59:32 2489

原创 深入理解java泛型

为什么需要泛型?泛型是java SE1.5的新特性,泛型的本质是参数化类型,这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。在JavaSE1.5之前没有泛型的情况下只能通过对类型 Object的引用来实现参数的任意化,其带来的缺点是要做显式强制类型转换,而这种转化编译器是不做检查的,容易把问题留在运行时,所以泛型的好处是在编译时检查类型安全,并且所有的强制类型转...

2019-08-04 22:56:50 2472

原创 HashMap原理---HashMap是如何设计的?是如何解决冲突的?

1.HashMap是基于哈希表的Map接口的非同步实现。在Java编程语言中,最基本的结构就是两种,一个是数组,另外一个是模拟指针引用,所有的数据结构都可以用这两个基本结构来构造的,HashMap也不例外。HashMap实际上是一个“链表的数组”的数据结构,每个元素存放链表头节点的数组,即数组和链表的结合体。HashMap底层就是一个数组结构,数组中的每一项又是一个链表。当新建一个HashMap...

2019-07-23 22:51:31 2551

原创 Java反射的Class.forName()和ClassLoader.loadClass的区别

Class.forName(className)方法,内部实际调用的方法是 Class.forName(className,true,classloader);第2个boolean参数表示类是否需要初始化, Class.forName(className)默认是需要初始化。一旦初始化,就会触发目标对象的 static块代码执行,static参数也也会被再次初始化。Clas...

2019-06-23 14:31:10 2587

原创 JAVA反射机制--Class类的作用

Class主要是反射的源头,不光可以取得对象所在类的信息,也可以通过Class类的方法进行对象的实例化操作,正常情况下,使用new关键字为对象实例化,如果现在已经实例化好了class对象,则就可以通过Class类中提供的newInstance()方法。publicTnewInstance()throwsInstantiationException,IllegalAccessExcept...

2019-06-16 16:07:36 2944

原创 JAVA反射机制--实例化Class类的三种方式及区别

在Object类中定义了以下的方法,此方法将被所有子类继承:public final Class getClass()以上方法返回值的类型是一个Class类,实际上此类是Java反射的源头,实际上所谓反射从程序的运行结果来看也很好理解,即:可以通过对象反射求出类的名称正常方式:引入需要的包、类名称,通过new实例化,取得实例化对象反射方式:实例化对象,getClass()方...

2019-06-16 14:49:09 4197

原创 由浅入深了解反射机制一:Class类

Class类的作用,反射的源头在Object类中定义了以下的方法,此方法将被所有子类继承:public final Class getClass()以上方法返回值的类型是一个Class类,实际上此类是Java反射的源头,实际上所谓反射从程序的运行结果来看也很好理解,即:可以通过对象反射求出类的名称正常方式:引入需要的包、类名称,通过new实例化,取得实例化对象反射方式...

2019-04-21 15:59:28 2528

原创 线程的那点事二----线程同步和线程安全

线程安全:实际开发中,使用多线程程序的情况很多,如银行排号系统、火车站售票系统等。这种多线程的程序通常会发生问题,以火车站售票为例:public class ThreadSafeTest implements Runnable{ int num =10; public void run() { while(true){ if(num>0){ try {...

2019-04-15 23:31:27 2394

原创 多线程的那点事一--线程的实现、生命周期、操作方法和优先级

实现多线程的两种方式:java中主要提供两种方式实现线程:分别为继承Thead类和实现Runnable接口。1.通过继承Thread类,重写Thread的run()方法,将线程运行的逻辑放在其中2.通过实现Runnable接口,实例化Thread类一、通过继承Thread类实现多线程class MyThread extends Thread{ String n...

2019-04-15 22:40:01 2373

原创 Map集合基础学习笔记

Map集合没有继承Collection接口,其提供的是key到value的映射。Map中不能包含相同的key,每个key只能映射一个value。key还决定了存储对象在映射中的存储位置,但不是由key对象本身决定的,而是通过一种散列技术进行处理,产生一个散列码的整数值。散列码通常用作一个偏移量,该偏移量对应分配给映射的内存区域的起始位置,从而确定存储对象在映射中的存储位置。Map集合...

2019-04-13 16:24:05 2429

原创 并发设计-使用线程的经验

并发三大定律:Amdahl 定律:即使你有10个老婆,也不能一个月把孩子生下来。Gustafson 定律:当你有10个老婆,就会要生更多的孩子。Sun-Ni 定律:你要设法让每个老婆都在干活,别让她们闲着。(这里就不一一说明每个定律的意思了,换个简单易懂的方式)1:无论何种方式,启动一个线程,就要给它一个名字!这对排错诊断系统监控有帮助。否则诊断问题时,无法直观知道某个线程的用...

2019-04-12 00:30:26 2344

翻译 Set集合学习详情笔记

Set集合中的对象不按特定的方式排序,只是简单地把对象加入集合中,但set集合中不能包含重复对象。Set集合由Set接口和Set接口的实现类组成。Set接口继承了Collection接口,因此包含Collection接口的所有方法。 Set的构造有一个约束条件,传入的Collection对象不能有重复值,必须小心操作可变对象。如果一个Set 中的可变元素改变了自身状态导致O...

2019-04-11 23:29:47 2546

原创 eclipse如何修改注释

本人想重点说明的是,在使用下面方法后注释还未达到预期的效果,可以修改eclipse.ini文件(在eclipse的安装目录下),然后重启就可以了。方法一:Eclipse中设置在创建新类时自动生成注释windows-->preferenceJava-->Code Style-->Code Templatescode-->new Java files编辑它...

2019-04-11 22:22:05 4325

制作评分卡时用到的数据card.csv

制作评分卡时用到的数据card.csv

2022-07-03

02_data.zip

资源里面包含了此项目需要用到的代码以及数据,代码是自己手打的。

2021-06-06

空空如也

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

TA关注的人

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