自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 尚硅谷数据仓库 用户行为分析

这34个表以订单表、用户表、SKU商品表、活动表和优惠券表为中心,延伸出了优惠券领用表、支付流水表、活动订单表、订单详情表、订单状态表、商品评论表、编码字典表退单表、SPU商品表等,用户表提供用户的详细信息,支付流水表提供该订单的支付详情,订单详情表提供订单的商品数量等情况,商品表给订单详情表提供商品的详细信息。我们希望的是根据日志里面的实际时间,发往HDFS的路径,所以下面拦截器作用是获取日志中的实际时间。我们要收集和分析的数据主要包括页面数据、事件数据、曝光数据、启动数据和错误数据。

2022-10-12 23:33:18 1436

原创 北风网用户行为分析

数据库链接池不用连接池:如果频繁的开关Connection连接,那么会造成大量的对网络、IO资源的申请和释放的无谓的时间的耗费数据库连接池:会自己在内部持有一定数量的数据库连接,然后每次java程序要通过数据库连接往MySQL发送SQL语句的时候,都会从数据库连接池中获取一个连接,然后通过它发送SQL语句。SQL语句执行完之后,不会调用Connection.close(),而是将连接还回数据库连接池里面去。数据库连接池的好处: 1、java程序不用自己去管理Connection的创建和销毁,代

2022-09-02 22:25:50 523

原创 多线程笔记

1.不同角度会有不同答案2.典型答案是两种,第一种是实现Runnable接口,第二种是继承Thread类3.但是,通过查看源码中thread类的run方法,可以发现两种方法本质是一样的,最终都是调用start方法来新建线程,最主要的区别是第一种:最终调用target.run() (target即为传入的runnable)第二种:run()整个都被重写4.还有其他的实现线程的方法,例如线程池等,他们也能新建线程池,但是看源码,没有逃过本质,也是实现runnable接口和成thread类。.........

2022-08-27 11:47:37 90 1

原创 spark面试题整理

rdd是分布式弹性数据集,所有的算子都是基于rdd来执行的,rdd执行过程中会形成dag图,然后形成后lineage,如果某个节点上的rdd分区因为节点故障,导致数据丢失,那么rdd可以根据自己的数据来源重新计算该分区,保证容错性,rdd存储是block和node之间的映射,逻辑上是一个hdfs文件,他是被分区的,每个分区分布在集群中不同节点上,从而让rdd的数据可以并行计算.rdd的数据默认存放在内存中,但是内存资源不足时,spark会自动将rdd数据写入磁盘。场景:表关联查询或者处理重复的key....

2022-08-13 23:41:32 671

原创 剑指Offer 二分查找

11

2022-06-11 13:58:39 60

原创 剑指offer 树

11

2022-06-01 21:10:25 77

原创 剑指offer 队列

二叉树中每层的最大值思路:1个队列实现:需要借用一个current和next,current用来记录当层还未处理的节点数,next表示下一层的节点数。2个队列实现,queue1存的是当前层即要处理的节点,queue2用来存下一层的节点,当前层遍历完后把queue2赋值给queue1,queue2重置...

2022-05-23 21:42:52 77

原创 剑指offer 栈

后缀表达式思路:遍历数组,将一个个数字加入栈中,当遇到运算符号时,取出栈顶两个字符,并做运算,把运算结果放回栈中,知道结束。小行星碰撞思路:分为 栈顶>0和栈顶<0 栈顶>0时分为栈顶==-as pop、栈顶<-as、栈顶>-as1. 只要 栈为空 || as>0 || 栈顶<0. 入栈2. 栈非空 && as<0 && 栈顶==-as ...

2022-05-05 23:35:45 133

原创 git使用

上传项目在本地新建upload文件夹在该文件夹中打开git Bash输入命令1:git init使用命令添加远程仓库git remote add origin https://gitee.com/自己的码云用户名/要上传到的仓库名输入命令2: git pull origin master使用 git pull origin master 命令,将码云上的仓库pull到本地文件夹将要上传的文件添加到upload文件夹中输入命令3:git add .输入命令4:git.

2022-04-25 23:02:25 46

原创 剑指offer链表

删除倒数第k个节点思路:两指针一前一后,前指针先向前移动k个位置,然后两个指针一起移动,直到前指针到末尾null,然后删除back指针后的节点。链表中环的入口节点思路:1.先找到环中一点双指针一前一后,前者每次移动两步,后者每次移动一步,多次循环,如果相遇,则所在位置为环中一节点。必须一前一后,否则循环无法开始if语句为了防止空指针异常2.找入口由上可直前指针比慢指针多走了k步,k为环中节点数,因此可使一指针指向环中此节点,然后另一指针指向头节点,这两

2022-04-25 22:59:27 457

原创 剑指Offer字符串

字符串中的变位词思路: 用一个数组来记录字母出现的次数,当数组中都为0时,说明有变位词左右两个指针相距s1的长度,同时向右移动,每次计算是否有变位词。字符串中所有变位词思路:同上...

2022-04-23 22:58:40 38

原创 java面试题

hashmap介绍在jdk1.8之前,hashmap底层采用数组+链表实现,用链表来处理hash冲突,同一hash值的键值对存在同一个链表中,当一个桶中的元素过多时,通过key查找的效率较低,因此在jdk1.8时做了优化,引入了红黑树,当链表长度超过8时,链表转为红黑树,时间复杂度从O(n)变为O(logn)当进行put操作时先判断数组是否为空,为空则进行resize扩容,根据key的hash值计算得到插入的数组位置,如果该位置为空,则新建结点插入,如果不为空,则判断数组位置首个元素是否和

2022-04-14 21:06:28 627

原创 面试再整理

java集合容器面试题1.说一下 ArrayList 的优缺点优点:查询快,顺序添加删除快缺点:插入删除需要做复制操作,如果复制的元素太多,十分影响性能2.如何实现数组和List之间的转换数组转List:用Arrays.asList(array)转换List转数组:用List自带的toArray()方法3.ArrayList 和 LinkedList 的区别是什么?数据结构实现:ArrayList时数组,LinkedList是双向链表访问效率:ArrayList查

2022-03-19 23:05:37 395

原创 剑指offer 数组

1.排序数组中的两个数字之和思路:双指针思路,一前一后,当两个值相加大于target时后指针前移,小于target时前指针后移.2.数组中和为0的三个数思路:先排序,三指针,先定位一个指针,其余双指针一前一后扫描,查看每次定位三数之和是否为0,前两个指针都需要排除值相同的情况,以避免查找结果相同。3.和大于或等于k的最短子数组思路:双指针一前一后分别指向最短子数组的首尾,先移动右指针,直到子数组大于k,然后移动左指针,直到子数组小于k,目的是寻找最短数组。...

2022-03-14 15:29:00 49

原创 乐优商城1111

springboot其实人们把Spring Boot称为搭建程序的脚手架。快速的构建庞大的spring项目,减少一切xml配置,做到开箱即用,迅速上手,让我们关注于业务而非配置。混乱的依赖管理解决域名解析nginx反向代理解决端口问题跨域问题...

2022-03-11 08:55:15 48

原创 cemtos7 fdfs nginx

1、安装gcc(编译时需要)FastDFS是C语言开发,安装FastDFS需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装gccyum install -y gcc gcc-c++2、安装libevent(运行时需求)若安装了桌面图形界面,就不需要安装;FastDFS依赖libevent库;yum -y install libevent3、 安装libfastcommon libfastcommon是FastDFS官方提供的,libf...

2022-02-28 18:44:12 87

原创 jvm面试

1.什么情况下会发生栈内存移除?栈帧数量太多超过了系统预先设置的值比如:大量循环或死循环 递归调用太多 全局变量太多2.jvm内存结构,Eden和vivo比例jvm内存结构分为 线程私有区域、线程共享区域和直接内存线程私有:程序计数器:读取下一条指令,保持线程执行虚拟机栈:为执行java方法服务,一个个栈帧组成,每个包括局部变量表、操作数栈等信息局部变量表:局部变量、数据类型、对象的引用本地方法栈:为执行native方法服务。线程共享:...

2022-01-18 22:39:57 264

原创 java基础

1.说说final,finally,finalize,finalize使用的场合是什么,finally什么情况下不会执行final:可以用来修饰变量,方法,类,被修饰的变量的值无法被修改,被修饰的方法不能被重写,被修饰的类不能被继承finally: 一般用在try,catch之后,表示无论程序正常执行还是出现异常,只要jvm不关闭finally中的代码都会被执行,一般用老关闭资源。finalize:Object类的方法,需要释放对象占用的资源时使用,用来清理垃圾2 异常体系Throwab

2022-01-18 22:02:12 149

原创 jvm知识

跨平台:java源文件通过编译器产生.class文件(字节码文件),再通过解释器,生成特定机器上的机器码java栈==java虚拟机栈本地变量表==局部变量表程序计数器:如果线程正在执行的是一个Java方法,这个计数器记录的是正在执行的虚拟机字节码指令的地址;如果正在执行的是本地(Native)方法,这个计数器值则应为空(Undefined)无异常虚拟机栈:描述的是Java方法执行的线程内存模型:每个方法被执行的时候,Java虚拟机都会同步创建一个栈帧用于存储局部变量表、..

2022-01-09 22:16:29 299

空空如也

空空如也

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

TA关注的人

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