自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

程序员小祝的博客

渴望变得更强

  • 博客(168)
  • 资源 (9)
  • 收藏
  • 关注

原创 fastjson与lombok一起用出现序列化问题

fastjson与lombok一起用出现序列化问题的解决

2023-05-28 16:35:21 1441

原创 抽奖中的分布式锁应用

开发抽奖时遇到的分布式锁问题,特此记录一下几种实现方案。

2023-05-28 15:58:01 1069

原创 幂等问题解决

幂等(idempotent、idempotence)是一个数学与计算机学概念,常见于抽象代数中。在数学中,主要有两个定义如果在一元运算中,x 为某集合中的任意数,如果满足 f(f(x))=f(x),那么该 f 运算具有幂等性,比如绝对值运算就是幂等性函数。如果在二元运算中,x 为某集合中的任意数,如果满足 f(x,x)=x,前提是 f 运算的两个参数均为 x,那么我们称 f运算也有幂等性,比如求大值函数就是幂等性函数。在编程领域里,幂等操作的特点是。

2023-05-28 00:58:53 720

原创 文件上传至公有云Nos及对接CDN

本次项目由于是和外部企业合作,上传文件是上传到公有云Nos,但和部门之前上传到私有云Nos的方式一样。可以这样理解,cdn的作用就是将源站内容发布到不同区域的边缘节点,这样在不同地方的用户请求都能被分配最适合他的节点,就近获取节点上缓存的资源。另一方面,使用户可以以最快的速度取得他所需的内容,解决网络带宽小、用户访问量大、网点分布不均等问题,提高用户访问的响应速度。其次由于此次项目中不仅是想完成回源访问,更想着主动预热到cdn各节点,所以需要在代码里,调用CDN提供的接口。

2023-05-28 00:20:09 1806

原创 《Spring Guides系列学习》guide66 - guide68及小结

要想全面快速学习Spring的内容,最好的方法肯定是先去Spring官网去查阅文档,在Spring官网中找到了适合新手了解的官网Guides,一共68篇,打算全部过一遍,能尽量全面的了解Spring框架的每个特性和功能。接着上篇看过的guide65,接着往下看。

2023-05-27 23:25:14 1490

原创 《Spring Guides系列学习》guide61 - guide65

要想全面快速学习Spring的内容,最好的方法肯定是先去Spring官网去查阅文档,在Spring官网中找到了适合新手了解的官网Guides,一共68篇,打算全部过一遍,能尽量全面的了解Spring框架的每个特性和功能。接着上篇看过的guide60,接着往下看。

2023-05-27 23:24:47 1130

原创 《Spring Guides系列学习》guide51 - guide55

要想全面快速学习Spring的内容,最好的方法肯定是先去Spring官网去查阅文档,在Spring官网中找到了适合新手了解的官网Guides,一共68篇,打算全部过一遍,能尽量全面的了解Spring框架的每个特性和功能。接着上篇看过的guide50,接着往下看。

2023-05-27 23:24:16 982

原创 《Spring Guides系列学习》guide56 - guide60

要想全面快速学习Spring的内容,最好的方法肯定是先去Spring官网去查阅文档,在Spring官网中找到了适合新手了解的官网Guides,一共68篇,打算全部过一遍,能尽量全面的了解Spring框架的每个特性和功能。接着上篇看过的guide55,接着往下看。

2023-05-27 23:23:15 1186

原创 《Spring Guides系列学习》guide46 - guide50

要想全面快速学习Spring的内容,最好的方法肯定是先去Spring官网去查阅文档,在Spring官网中找到了适合新手了解的官网Guides,一共68篇,打算全部过一遍,能尽量全面的了解Spring框架的每个特性和功能。接着上篇看过的guide45,接着往下看。

2023-05-26 21:13:13 871

原创 《Spring Guides系列学习》guide41 - guide45

要想全面快速学习Spring的内容,最好的方法肯定是先去Spring官网去查阅文档,在Spring官网中找到了适合新手了解的官网Guides,一共68篇,打算全部过一遍,能尽量全面的了解Spring框架的每个特性和功能。接着上篇看过的guide41,接着往下看。

2023-05-26 21:03:08 948

原创 《Spring Guides系列学习》guide35 - guide40

要想全面快速学习Spring的内容,最好的方法肯定是先去Spring官网去查阅文档,在Spring官网中找到了适合新手了解的官网Guides,一共68篇,打算全部过一遍,能尽量全面的了解Spring框架的每个特性和功能。接着上篇看过的guide34,接着往下看。

2023-05-26 20:23:41 1245

原创 《Spring Guides系列学习》guide31 - guide34 及中期简单回顾

要想全面快速学习Spring的内容,最好的方法肯定是先去Spring官网去查阅文档,在Spring官网中找到了适合新手了解的官网Guides,一共68篇,打算全部过一遍,能尽量全面的了解Spring框架的每个特性和功能。接着上篇看过的guide31,接着往下看。

2023-05-26 19:47:19 1388

原创 《Spring Guides系列学习》guide26 - guide30

要想全面快速学习Spring的内容,最好的方法肯定是先去Spring官网去查阅文档,在Spring官网中找到了适合新手了解的官网Guides,一共68篇,打算全部过一遍,能尽量全面的了解Spring框架的每个特性和功能。接着上篇看过的guide25,接着往下看。

2023-05-26 17:39:15 1513

原创 《Spring Guides系列学习》guide21 - guide25

要想全面快速学习Spring的内容,最好的方法肯定是先去Spring官网去查阅文档,在Spring官网中找到了适合新手了解的官网Guides,一共68篇,打算全部过一遍,能尽量全面的了解Spring框架的每个特性和功能。接着上篇看过的guide20,接着往下看。

2023-05-26 17:22:23 1243

原创 《Spring Guides系列学习》guide16 - guide20

要想全面快速学习Spring的内容,最好的方法肯定是先去Spring官网去查阅文档,在Spring官网中找到了适合新手了解的官网Guides,一共68篇,打算全部过一遍,能尽量全面的了解Spring框架的每个特性和功能。接着上篇看过的guide15,接着往下看。

2023-05-26 17:02:57 1327

原创 《Spring Guides系列学习》guide11 - guide15

要想全面快速学习Spring的内容,最好的方法肯定是先去Spring官网去查阅文档,在Spring官网中找到了适合新手了解的官网Guides,一共68篇,打算全部过一遍,能尽量全面的了解Spring框架的每个特性和功能。接着上篇看过的guide10,接着往下看。

2023-05-26 16:40:45 1776

原创 《Spring Guides系列学习》guide6 - guide10

要想全面快速学习Spring的内容,最好的方法肯定是先去Spring官网去查阅文档,在Spring官网中找到了适合新手了解的官网Guides,一共68篇,打算全部过一遍,能尽量全面的了解Spring框架的每个特性和功能。接着上篇看过的guide5,接着往下看。

2023-05-26 15:46:05 2278

原创 《Spring Guides系列学习》guide1 - guide5

要想全面快速学习Spring的内容,最好的方法肯定是先去Spring官网去查阅文档,在Spring官网中找到了适合新手了解的官网Guides,一共68篇,打算全部过一遍,能尽量全面的了解Spring框架的每个特性和功能。开始吧,自己按照顺序给每篇Guide编了号。

2023-05-26 15:05:51 1668

原创 JAVA算法中各类数据结构的初始化及常用函数(自用)

java算法题中常见数据结构的初始化以及常用函数。

2021-12-30 14:31:40 1915

原创 修改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 3466

原创 解决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 1579

原创 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 6082 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 146

原创 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 85

原创 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 1694

原创 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 543

原创 将不含相同字段的两张表连接,并将查询结果一起显示

我们一般使用连接关键字(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 6430 1

原创 idea快捷键

单行注释 Ctrl + / -------------- 取消是同样的多行注释 Ctrl + Shift + / -------------------取消多行注释也是替换单个或多个相同单词的文本 ctrl + R ---------------------- 输入之后可选replace替换,和replace all全部替换main方法:psvm + enter键输出语句System.out.println -------------- sout更多简写

2021-06-06 17:36:01 144 3

原创 Java特性和优势

1.跨平台/可移植性它最大的优点就是与平台无关,在Windows 9x、Windows NT、Solaris、Linux、MacOS以及其它平台上,都可以使用相同的代码。“一次编写,到处运行”的特点,使其在互联网上广泛采用。JAVA虚拟机是JAVA实现跨平台的核心。2.安全性由于Java语言在设计时,在安全性方面考虑很仔细,做了许多探究,使得Java语言成为目前最安全的一种程序设计语言,可以很容易构建防病毒,防篡改的系统。3.面向对象面向对象是一种程序设计技术,非常适合大型软件的设计和开发。由于

2021-06-06 16:28:49 297

原创 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 2143 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 2659

原创 数组、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 392

原创 哈希专栏之两个数组的交集

题目:给定两个数组,编写一个函数来计算它们的交集。解析:采用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 100

原创 哈希表专栏之有效的字母异位词

题目:给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。解析:思路很简单。采用哈希的思想,我们知道常见的三种哈希结构,分别是数组,set,map.这里我们采用数组来作为哈希结构。记住:当遇到了要快速判断一个元素是否出现集合里的时候,就要考虑哈希法。1.定义一个数组叫做result用来上记录字符串s里字符出现的次数。2.需要把字符映射到数组上,因为字符a到字符z的ASCII是26个连续的数值,所以字符a映射为下表0,相应的字符z映射为下表25。再遍历 字符串

2021-06-01 19:50:11 94

原创 链表专栏之删除链表倒数第N个节点

题目:给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。解析:题目要求删除链表的节点。但是因为不能直接知道链表的长度,因此要先遍历一下链表,求出链表长度。要删除的倒数第N个节点,也就是正序的(链表总长度len - N)个节点。然后再遍历一次,直接删除目标节点即可。代码:/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode nex

2021-05-29 17:35:54 151

原创 链表专栏之两两交换链表中的节点

题目:给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。解析:设置一个虚拟头结点,指向head. 注意交换的步骤,看图:代码:/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int va

2021-05-29 00:56:40 65

原创 链表专栏之移除链表元素

题目:给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 。解析:可以采用设置一个虚节点的方式来解决。这样子无论是移除的元素位置在头结点、中间节点,都可以一致解决。移除的过程为:选择要删除节点的前一个结点 prev。将 prev 的 next 设置为要删除结点的 next.代码:class Solution { public ListNode removeElements(ListN

2021-05-26 13:00:06 84

原创 数组专栏之螺旋数组

题目:给你一个正整数 n ,生成一个包含 1 到 n^2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。解析:这道题主要就是考察模拟的能力。模拟顺时针遍历数组矩阵的过程。分为四步:模拟上侧从左到右模拟右侧从上到下模拟下侧从右到左模拟左侧从下到上在模拟过程中,要遵循左闭右开的原则,仔细考虑每一处的边界条件。代码:class Solution { public int[][] generateMatrix(int n) {

2021-05-25 12:04:18 248

原创 数组专栏之长度最小的子数组

题目给定一个含有 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 106

原创 数组专栏之二分查找

题目给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。解析:这道题目的前提是数组为有序数组,同时题目还强调数组中无重复元素,因为一旦有重复元素,使用二分查找法返回的元素下标可能不是唯一的,这些都是使用二分法的前提条件,当大家看到题目描述满足如上条件的时候,可要想一想是不是可以用二分法了。我们可以定义 target 是在一个在左闭右闭的区间里,也就是 [left, right](

2021-05-18 15:10:29 72

心理咨询平台项目.zip

心理咨询与诊断平台项目的开发,使用了所学的HTML、CSS、Javascript、JQuery、AJAX等网页开发技术。

2021-04-27

MavenF.zip

这个项目是一个基于SSM框架技术的小项目,包含Spring、Mybatis、Spring mvc。

2019-07-31

mavenFront.zip

这个项目是一个简单的框架技术结合,有Struts2、Mybatis、Spring等框架。

2019-07-31

Mybatis.zip

这个是简单的Mybatis框架的技术,可以用来参考Mybatis的结构和代码实现。

2019-07-31

Struts2.zip

这个就是一个Struts2框架的demo,要连接数据库的,所以下载后无法运行,但是代码结构是可以看的,完整的。

2019-07-30

struts2框架jar包.zip

这个是struts2框架所需要的jar包,下载到javaWeb项目里面的WebContent\WEB-INF\lib下。

2019-07-30

MusicPlayer.zip

该音乐播放器是用Java swing编写的界面,分为客户端和服务端,用户可以通过登录客户端,进行本地以及在线音乐的播放,管理人员可以通过服务器进行在线音乐的导入和管理。

2019-05-10

Java swing 网盘管理系统

界面是用Java swing编写的,项目开发环境是Windows10,JDK1.8,开发软件eclipse,sqlite数据库,visio,该系统采用C/S结构设计,分为客户端、管理员端、业务服务器端、文件服务器端。用户可以通过客户端进行用户的登录注册,文件的上传下载、删除、重命名、分类查询等。管理员可以对全部用户的文件进行管理、并且可以禁用、解封用户的账号。业务服务器支撑网盘客户与管理员的业务请求。文件服务器支持文件传输业务。

2019-05-09

Java swing 网盘管理系统

界面是用Java swing编写的,项目开发环境是Windows10,JDK1.8,开发软件eclipse,sqlite数据库,visio,该系统采用C/S结构设计,分为客户端、管理员端、业务服务器端、文件服务器端。用户可以通过客户端进行用户的登录注册,文件的上传下载、删除、重命名、分类查询等。管理员可以对全部用户的文件进行管理、并且可以禁用、解封用户的账号。业务服务器支撑网盘客户与管理员的业务请求。文件服务器支持文件传输业务。

2019-05-08

空空如也

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

TA关注的人

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