- 博客(168)
- 资源 (9)
- 收藏
- 关注
原创 幂等问题解决
幂等(idempotent、idempotence)是一个数学与计算机学概念,常见于抽象代数中。在数学中,主要有两个定义如果在一元运算中,x 为某集合中的任意数,如果满足 f(f(x))=f(x),那么该 f 运算具有幂等性,比如绝对值运算就是幂等性函数。如果在二元运算中,x 为某集合中的任意数,如果满足 f(x,x)=x,前提是 f 运算的两个参数均为 x,那么我们称 f运算也有幂等性,比如求大值函数就是幂等性函数。在编程领域里,幂等操作的特点是。
2023-05-28 00:58:53
806
原创 文件上传至公有云Nos及对接CDN
本次项目由于是和外部企业合作,上传文件是上传到公有云Nos,但和部门之前上传到私有云Nos的方式一样。可以这样理解,cdn的作用就是将源站内容发布到不同区域的边缘节点,这样在不同地方的用户请求都能被分配最适合他的节点,就近获取节点上缓存的资源。另一方面,使用户可以以最快的速度取得他所需的内容,解决网络带宽小、用户访问量大、网点分布不均等问题,提高用户访问的响应速度。其次由于此次项目中不仅是想完成回源访问,更想着主动预热到cdn各节点,所以需要在代码里,调用CDN提供的接口。
2023-05-28 00:20:09
1952
原创 《Spring Guides系列学习》guide66 - guide68及小结
要想全面快速学习Spring的内容,最好的方法肯定是先去Spring官网去查阅文档,在Spring官网中找到了适合新手了解的官网Guides,一共68篇,打算全部过一遍,能尽量全面的了解Spring框架的每个特性和功能。接着上篇看过的guide65,接着往下看。
2023-05-27 23:25:14
1605
1
原创 《Spring Guides系列学习》guide61 - guide65
要想全面快速学习Spring的内容,最好的方法肯定是先去Spring官网去查阅文档,在Spring官网中找到了适合新手了解的官网Guides,一共68篇,打算全部过一遍,能尽量全面的了解Spring框架的每个特性和功能。接着上篇看过的guide60,接着往下看。
2023-05-27 23:24:47
1187
原创 《Spring Guides系列学习》guide51 - guide55
要想全面快速学习Spring的内容,最好的方法肯定是先去Spring官网去查阅文档,在Spring官网中找到了适合新手了解的官网Guides,一共68篇,打算全部过一遍,能尽量全面的了解Spring框架的每个特性和功能。接着上篇看过的guide50,接着往下看。
2023-05-27 23:24:16
1026
原创 《Spring Guides系列学习》guide56 - guide60
要想全面快速学习Spring的内容,最好的方法肯定是先去Spring官网去查阅文档,在Spring官网中找到了适合新手了解的官网Guides,一共68篇,打算全部过一遍,能尽量全面的了解Spring框架的每个特性和功能。接着上篇看过的guide55,接着往下看。
2023-05-27 23:23:15
1237
原创 《Spring Guides系列学习》guide46 - guide50
要想全面快速学习Spring的内容,最好的方法肯定是先去Spring官网去查阅文档,在Spring官网中找到了适合新手了解的官网Guides,一共68篇,打算全部过一遍,能尽量全面的了解Spring框架的每个特性和功能。接着上篇看过的guide45,接着往下看。
2023-05-26 21:13:13
920
原创 《Spring Guides系列学习》guide41 - guide45
要想全面快速学习Spring的内容,最好的方法肯定是先去Spring官网去查阅文档,在Spring官网中找到了适合新手了解的官网Guides,一共68篇,打算全部过一遍,能尽量全面的了解Spring框架的每个特性和功能。接着上篇看过的guide41,接着往下看。
2023-05-26 21:03:08
1053
原创 《Spring Guides系列学习》guide35 - guide40
要想全面快速学习Spring的内容,最好的方法肯定是先去Spring官网去查阅文档,在Spring官网中找到了适合新手了解的官网Guides,一共68篇,打算全部过一遍,能尽量全面的了解Spring框架的每个特性和功能。接着上篇看过的guide34,接着往下看。
2023-05-26 20:23:41
1301
原创 《Spring Guides系列学习》guide31 - guide34 及中期简单回顾
要想全面快速学习Spring的内容,最好的方法肯定是先去Spring官网去查阅文档,在Spring官网中找到了适合新手了解的官网Guides,一共68篇,打算全部过一遍,能尽量全面的了解Spring框架的每个特性和功能。接着上篇看过的guide31,接着往下看。
2023-05-26 19:47:19
1496
1
原创 《Spring Guides系列学习》guide26 - guide30
要想全面快速学习Spring的内容,最好的方法肯定是先去Spring官网去查阅文档,在Spring官网中找到了适合新手了解的官网Guides,一共68篇,打算全部过一遍,能尽量全面的了解Spring框架的每个特性和功能。接着上篇看过的guide25,接着往下看。
2023-05-26 17:39:15
1588
原创 《Spring Guides系列学习》guide21 - guide25
要想全面快速学习Spring的内容,最好的方法肯定是先去Spring官网去查阅文档,在Spring官网中找到了适合新手了解的官网Guides,一共68篇,打算全部过一遍,能尽量全面的了解Spring框架的每个特性和功能。接着上篇看过的guide20,接着往下看。
2023-05-26 17:22:23
1298
原创 《Spring Guides系列学习》guide16 - guide20
要想全面快速学习Spring的内容,最好的方法肯定是先去Spring官网去查阅文档,在Spring官网中找到了适合新手了解的官网Guides,一共68篇,打算全部过一遍,能尽量全面的了解Spring框架的每个特性和功能。接着上篇看过的guide15,接着往下看。
2023-05-26 17:02:57
1373
原创 《Spring Guides系列学习》guide11 - guide15
要想全面快速学习Spring的内容,最好的方法肯定是先去Spring官网去查阅文档,在Spring官网中找到了适合新手了解的官网Guides,一共68篇,打算全部过一遍,能尽量全面的了解Spring框架的每个特性和功能。接着上篇看过的guide10,接着往下看。
2023-05-26 16:40:45
1844
原创 《Spring Guides系列学习》guide6 - guide10
要想全面快速学习Spring的内容,最好的方法肯定是先去Spring官网去查阅文档,在Spring官网中找到了适合新手了解的官网Guides,一共68篇,打算全部过一遍,能尽量全面的了解Spring框架的每个特性和功能。接着上篇看过的guide5,接着往下看。
2023-05-26 15:46:05
2338
原创 《Spring Guides系列学习》guide1 - guide5
要想全面快速学习Spring的内容,最好的方法肯定是先去Spring官网去查阅文档,在Spring官网中找到了适合新手了解的官网Guides,一共68篇,打算全部过一遍,能尽量全面的了解Spring框架的每个特性和功能。开始吧,自己按照顺序给每篇Guide编了号。
2023-05-26 15:05:51
1758
原创 修改hive表结构
1)修改表名:ALTER TABLE ndiip_online.xx RENAME TO ndiip_online.yy;2)修改字段ALTER TABLE ndiip_online.xx CHANGE COLUMN 旧列名 新列名 新数据类型 ;3)增加列ALTER TABLE ndiip_online.xx ADD COLUMNS ( 新列名 数据类型 COMMENT ’ 列名注释 ’ );4)删除hive表的分区ALTER TABLE ndiip_online.xx DROP P
2021-09-28 16:03:54
3642
原创 解决hive与impala的同步问题
我们在猛犸上在使用hive sql来对hive表进行插入等操作后,再用impala查询的时候,会发现查询的还是hive修改之前的数据。是因为impala缓存元数据的缘故,我们通过下面两个操作可以解决这个问题。1) invalidate metadata ndiip_online.xx; 执行这个命令,可以更新impala缓存,再使用impala就可以查到新数据了,不过这个只是一次性的,如果表再通过hive有了修改,则impala查询的话还需要再使用该命令。2)alter table ndiip_
2021-09-28 16:00:56
1797
原创 hive 将sum函数得到的null值变为0
最近在使用hive的过程中,使用到了sum函数,sum函数会产生null值,需要转换成0。在mysql中,我们可已使用IFNULL() 函数来处理,例如IFNULL(sum(lively_num),0),意思就是如果sum(lively_num)为null的话,就执行为0.但是在hive中没有这种函数,怎么办呢,我们想要查询sum值,并插入表,肯定是想要0值而非null值。方法如下:case when sum(lively_ent_num) is not null then sum
2021-08-23 15:14:40
6353
1
原创 算法题里一些集合类常用的定义与方法(自用)
1.set定义:Set<Integer> set=new HashSet<>();添加元素set.add()判断是否拥有set.contains()删除元素set.remove()迭代 for (Integer i : set) { System.out.println(i); }大小set.size()2.map定义:Map<Integer,Integer> map=new HashMap
2021-07-24 23:19:22
174
原创 Git简单使用
简单记录一下比较常用的git命令。克隆项目到本地:git clone [url]新建一个分支,并切换到该分支git checkout -b [branch]查看当前分支git branch上述命令会列出所有分支,当前分支前面会标一个*号添加文件到暂存区git add [file]添加当前目录的所有文件到暂存区git add .查看修改的文件git status提交暂存区到仓库区git commit -m [file]推送前获取远程
2021-07-22 17:49:07
117
原创 Hive创建分区表、动态插入、删除分区表
如何在hive上建立分区表呢:简单的创建sql如下:CREATE EXTERNAL TABLE t(`run_time` bigint ,`enterprise_num` bigint , )PARTITIONED BY (`day` string)这样的话,就简单的创建了一个分区字段为day的分区表。那么我们在分区插入的时候,怎么插入呢:insert into table t partition(day='2021-06-09')select run_time,enterpri
2021-06-09 19:23:17
1804
原创 sql场景:查询新用户当日登录(之前登录过的不算新用户)
遇到一个查询需求,需求是 :查询新用户当日登录数,当日之前登陆过的不算新用户。用户记录表: action表 如下:nametypetimeAlogin2021-06-08Alogin2021-06-08Blogin2021-06-08Clogin2021-06-08Alogin2021-06-06Flogin2021-06-05Dlogin2021-06-04–––命令:select count(DI
2021-06-08 13:52:20
628
原创 将不含相同字段的两张表连接,并将查询结果一起显示
我们一般使用连接关键字(inner join、left join、right join)进行多表连接的时候,还需要将两张表的相同字段 “=” 起来。例如: select a.type from apple as a inner join banana b on a.price = b.price 但是当我们的两张表没有相同字段,是完全无关的两张表的时候我们在对两张表分别查询后,想要把两个查询结果一起显示出来时候, “=” 就不能用了。那怎么连接两张表,一起显示查询结果呢如
2021-06-07 19:51:44
6838
1
原创 idea快捷键
单行注释 Ctrl + / -------------- 取消是同样的多行注释 Ctrl + Shift + / -------------------取消多行注释也是替换单个或多个相同单词的文本 ctrl + R ---------------------- 输入之后可选replace替换,和replace all全部替换main方法:psvm + enter键输出语句System.out.println -------------- sout更多简写
2021-06-06 17:36:01
168
3
原创 Java特性和优势
1.跨平台/可移植性它最大的优点就是与平台无关,在Windows 9x、Windows NT、Solaris、Linux、MacOS以及其它平台上,都可以使用相同的代码。“一次编写,到处运行”的特点,使其在互联网上广泛采用。JAVA虚拟机是JAVA实现跨平台的核心。2.安全性由于Java语言在设计时,在安全性方面考虑很仔细,做了许多探究,使得Java语言成为目前最安全的一种程序设计语言,可以很容易构建防病毒,防篡改的系统。3.面向对象面向对象是一种程序设计技术,非常适合大型软件的设计和开发。由于
2021-06-06 16:28:49
331
原创 hive常用的查询时间命令
1.当前月的第一天命令:select trunc(current_date,'MM');输出:2021-06-01 //返回当月第一天如果想转化为unix时间戳命令:select unix_timestamp(trunc(date_sub(current_date, 1), "MM"), "yyyy-MM-dd")输出:16224768002.当前下个月的第一天:命令:select add_months(trunc(date_sub(current_date, 1), "MM") ,1)
2021-06-05 17:32:38
2328
1
原创 hive常用日期函数整理
1.current_date :当前日期命令:select current_date ;输出:2021-06-052.date_sub : 返回日期前n天的日期命令:select date_sub('2021-06-05',1);输出:2021-06-043.date_add : 返回日期后n天的日期命令:select date_add('2021-06-04',1);输出:2021-06-054.datediff:返回开始日期减去结束日期的天数命令:select datediff
2021-06-05 15:41:36
2755
原创 数组、set、map的定义与使用方法
1.数组创建数组:int length=10;int[] example=new int[length];循环数组:for(int i=0;i<example.length;i++){ System.out.print(example[i]);}2.set定义set,HashSet 中的元素实际上是对象,一些常见的基本类型可以使用它的包装类。HashSet<String> set = new HashSet<String>();判断Set集合
2021-06-01 23:35:00
455
原创 哈希专栏之两个数组的交集
题目:给定两个数组,编写一个函数来计算它们的交集。解析:采用set这种哈希结构。因为set中的元素不能重复。定义两个set。先遍历一边nums1,存入定义的其中一个set1.再遍历nums2,与set1对比,如果set1存在遍历的元素,则把该元素加入到set2.再将set2转化为数组即可。代码:class Solution { public int[] intersection(int[] nums1, int[] nums2) { HashSet<Intege
2021-06-01 20:31:14
146
原创 哈希表专栏之有效的字母异位词
题目:给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。解析:思路很简单。采用哈希的思想,我们知道常见的三种哈希结构,分别是数组,set,map.这里我们采用数组来作为哈希结构。记住:当遇到了要快速判断一个元素是否出现集合里的时候,就要考虑哈希法。1.定义一个数组叫做result用来上记录字符串s里字符出现的次数。2.需要把字符映射到数组上,因为字符a到字符z的ASCII是26个连续的数值,所以字符a映射为下表0,相应的字符z映射为下表25。再遍历 字符串
2021-06-01 19:50:11
125
原创 链表专栏之删除链表倒数第N个节点
题目:给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。解析:题目要求删除链表的节点。但是因为不能直接知道链表的长度,因此要先遍历一下链表,求出链表长度。要删除的倒数第N个节点,也就是正序的(链表总长度len - N)个节点。然后再遍历一次,直接删除目标节点即可。代码:/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode nex
2021-05-29 17:35:54
201
原创 链表专栏之两两交换链表中的节点
题目:给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。解析:设置一个虚拟头结点,指向head. 注意交换的步骤,看图:代码:/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int va
2021-05-29 00:56:40
97
原创 链表专栏之移除链表元素
题目:给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 。解析:可以采用设置一个虚节点的方式来解决。这样子无论是移除的元素位置在头结点、中间节点,都可以一致解决。移除的过程为:选择要删除节点的前一个结点 prev。将 prev 的 next 设置为要删除结点的 next.代码:class Solution { public ListNode removeElements(ListN
2021-05-26 13:00:06
109
原创 数组专栏之螺旋数组
题目:给你一个正整数 n ,生成一个包含 1 到 n^2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。解析:这道题主要就是考察模拟的能力。模拟顺时针遍历数组矩阵的过程。分为四步:模拟上侧从左到右模拟右侧从上到下模拟下侧从右到左模拟左侧从下到上在模拟过程中,要遵循左闭右开的原则,仔细考虑每一处的边界条件。代码:class Solution { public int[][] generateMatrix(int n) {
2021-05-25 12:04:18
286
原创 数组专栏之长度最小的子数组
题目给定一个含有 n 个正整数的数组和一个正整数 target 。找出该数组中满足其和 ≥ target 的长度最小的 连续子数组 [numsl, numsl+1, …, numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0 。解析可以直接暴力解法,就是两个for循环,时间复杂度为O(n^2) 。代码如下:class Solution { public int minSubArrayLen(int target, int[] nums) {
2021-05-18 17:28:23
137
原创 数组专栏之二分查找
题目给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。解析:这道题目的前提是数组为有序数组,同时题目还强调数组中无重复元素,因为一旦有重复元素,使用二分查找法返回的元素下标可能不是唯一的,这些都是使用二分法的前提条件,当大家看到题目描述满足如上条件的时候,可要想一想是不是可以用二分法了。我们可以定义 target 是在一个在左闭右闭的区间里,也就是 [left, right](
2021-05-18 15:10:29
108
MusicPlayer.zip
2019-05-10
Java swing 网盘管理系统
2019-05-09
Java swing 网盘管理系统
2019-05-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人