![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 51
Java的相关知识
_码农耕地人
这个作者很懒,什么都没留下…
展开
-
Java如何与Json字符串进行转化?如何将Java的字符串转化为JSON字符串?JSON字符串如何转化为JAVA的字符串?
Java如何与Json字符串进行转化?如何将Java的字符串转化为JSON字符串?JSON字符串如何转化为JAVA的字符串?原创 2022-08-02 11:28:03 · 747 阅读 · 0 评论 -
SpringBoot生成小程序即时通讯的userSig密钥。
一)导入相关依赖:一定要添加这个最新的依赖,否则各种报错!!! <!--userSig依赖--> <dependency> <groupId>com.github.tencentyun</groupId> <artifactId>tls-sig-api-v2</artifactId> <version>2.0</version>原创 2022-04-18 18:07:15 · 651 阅读 · 0 评论 -
动态规划实现最大字段和
一)问题描述:给定长度为n的整数序列,a[1...n], 求[1,n]某个子区间[i , j]使得a[i]+…+a[j]和最大.求出最大的这个和.例如(-2,11,-4,13,-5,2)的最大子段和为20,所求子区间为[2,4].规定当所有整数都是负数时,最大字段和为0二)问题分析 :1、确定规划数组的意义:res[i]表示当以第i个数结尾时的最大字段和。(一定注意数组性质是以第i个数结尾的)2、状态转移方程:F=Max(res[i-1]+arr[i],arr[i])。...原创 2022-04-14 10:57:45 · 1267 阅读 · 0 评论 -
动态规划算法详解,Java实现相关例题。
前沿基础:一)基本理解:1、动态规划定义:将将原问题拆解为若干个子问题,同时保留子问题的答案,使得每个子问题只求解一次最终得到原问题的答案。 这样一听总感觉和分治算法很像,其实动态规划就是将分治递归算法转化成了非递归形式,减少了系统栈的调用,使用循环来解决问题。2、动态规划算法的说白了就是找到整个问题的全局最优解,这也是与贪心算法寻找局部最优解的本质区别。3、通常我们可以先用从顶向下的思考方式来写出递归分治的代码,然后再联想从低向下的思想来转化为动态规划代码.4、无论是递...原创 2022-03-31 11:48:51 · 4137 阅读 · 0 评论 -
Java计算一段程序的运行时间
本文主要介绍了两种方法,一种是毫秒级别的计算,另一种是更精确的纳秒级别的计算。一)毫秒级别计算时间 //初始时间 long startTime = System.currentTimeMillis(); /*要计算的程序部分*/ //结束时间 long endTime = System.currentTimeMillis(); //打印 System.out.println("程序.原创 2022-03-30 21:27:37 · 12338 阅读 · 1 评论 -
选择排序。Java泛型设计选择排序。
前言基础:1、选择排序的时间复杂度为O(n2),空间复杂度为O(1)。2、选择排序是一个稳定的排序算法。3、每轮排序之后元素所在的位置就是其最终所在的位置。选择排序的逻辑非常简单,只是每次选择最小的元素放在第i个位置上,循环不变量如下图:public class SelectSort { public SelectSort(){} //arr[0,i]是有序的 public static <E extends Comparable&l.原创 2022-03-24 14:51:42 · 430 阅读 · 0 评论 -
堆排序。Java泛型实现推排序。
前言基础:1、堆排序的时间复杂度为O(nlogn),空间复杂度为O(1)。2、推排序是不稳定的排序算法。3、每次排序保证了后i个元素是有序的,第后i个元素所在的位置是其最后所在的位置,每次将区域内最大的元素放在倒数第i个位置上。4、堆排序大致分为整理堆和排序两个过程。下述代码都是索引从0开始的,所以:1、双亲节点:(i-1)/2。2、左孩子:2*i+1。3、右孩子:2*i+2.4、是否为叶子节点的条件 2 * i + 1 < n 或 2 * i + 2&l...原创 2022-03-23 20:35:15 · 1220 阅读 · 0 评论 -
二分查找法。Java泛型设计二分查找法。
前言基础:1、只能针对有序的数组进行查找。2、时间复杂度为O(logn)。3、使用前可以先排序,然后再查找,广泛应用于当一大组数据需要频繁查找,于是我们先将其进行排序,然后再通过二分查找进行查找。4、主要有两种实现方式:递归法和非递归法。5、如果有两个相同的元素,二分查找法返回的永远都是下标值小的那个索引。 例:Integer arr[]={0,1,2,3,3};找3,最终返回的是index=3而不是4.6、二分查找法的核心就是确定边界,看好函数目的确定if条件,w...原创 2022-03-22 18:31:50 · 1405 阅读 · 0 评论 -
希尔排序法。Java实现希尔排序
前言基础:1、因为希尔排序法的步长选取不是固定的,不同的步长会对应不同的复杂度,但是综合起来希尔排序法的时间复杂度是在O(nlogn)~O(n2)之间。空间复杂度为O(1)是一种不稳定的排序算法。2、希尔排序法最适合用于数据量不是特别大,而且数据近乎有序的数组。因为希尔排序法可以说是插入排序法的一个改进版。3、当数据量不是很大(近乎一百万以内时)希尔排序法的排序效率可能还会率高于时间复杂度为O(nlogn)的快排和归并排序法。排序原理由于插入排序的的在数组近乎有序的情况下性能最佳,而且原创 2022-03-17 21:56:28 · 657 阅读 · 0 评论 -
如何使用idea将自己写的代码封装起来供别人使用
最近做一个多人的项目,我负责数据库,别人需要复制我的代码才能执行响应的步骤,我嫌太麻烦于是将自己的代码封装成了jar包,供大家使用,极大的简化了开发效率首先我们找到文件里面的项目结构,并且找到工件的添加按钮然后按照图中步骤:这样我们的jar包就构建好啦,此时还差最后一步就是将其构建一下。最后我们直接右键找到其绝对位置将他们复制一下,就可以放到别人的项目中了。...原创 2022-03-17 21:08:23 · 4583 阅读 · 0 评论 -
冒泡排序法。Java实现冒泡排序法
前言基础:1、冒泡排序法的时间复杂度为O(n2),空间复杂度为O(1),不需要额外的辅助空间。2、冒泡实质是不断两两比较,一旦两个相邻的元素是逆序的,就会交换这两个元素的位置,最终进行n-1次这样的操作。3、每轮循环结束之后过后,保证了arr[n-i,n]是有序的,并且保证了倒数第i个元素呆在了该元素应该呆在的位置。下论循环后面这i个元素不再进入比较交换。4、每次排序之后,就会将整个数组的杂乱度减小,即减小逆序对的个数。...原创 2022-03-17 12:06:52 · 1594 阅读 · 0 评论 -
快速排序,Java实现快速排序以及泛型设计快速排序
本文主要介绍了三版快速排序,第三版是最终版本,也是优化后性能最佳的版本。前言基础:1、快排的时间复杂度为O(nlogn)。2、之所以快是因为不断的划分,类似于归并排序法,但是归并是每次取一半,快排是不一定取一半,可能左边多右边少,也可能右边多左边少。3、对于未经过任何优化过的快速排序,数组越有序排序的效率越低,因为当数组完全有序会生成一个深度为元素个数的栈,很有可能超出系统栈的深度。可以通过随机数选取来优化这样的问题。4、快排是原地排序算法,不需要额外的辅助空间,空间复杂度为O(1).原创 2022-03-16 11:34:53 · 1180 阅读 · 0 评论 -
Java日期的格式转化,从一种格式转化为另一种格式
public static void main(String[] args) { String old_str = "12-12月-2022"; SimpleDateFormat new_format = new SimpleDateFormat("yyyy/MM/dd"); SimpleDateFormat old_format = new SimpleDateFormat("dd-MM月-yyyy"); Date date = n...原创 2022-03-14 15:22:53 · 1230 阅读 · 0 评论 -
Java链接PostgreSql数据库及基本使用
我是应用Java封装的思想将所有的方法封装到了一个类里。一)准备工作:1、下载链接需要的jar包。链接选择最新版本即可。2、下载之后添加到模块里:3、创建一个工具类Util,书写空参构造,用于对数据库的全部操作。二)链接 所需内容:数据库名,端口号,数据库地址,数据库用户名,密码public static Connection Connect(){ Connection c = null; try { ...原创 2022-03-14 09:49:31 · 19479 阅读 · 8 评论 -
Java读取excel数据
一)导入相关的MAVEN依赖。 <!--excel的依赖--> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>4.1.0</version> </dependen原创 2022-03-13 22:07:52 · 2078 阅读 · 0 评论 -
JAVA查询风险等级
查询风险等级原创 2022-02-10 14:01:40 · 948 阅读 · 0 评论 -
SpringBoot项目无法导入jsoup依赖,MAVEN导入依赖,在依赖中不显示。
SpringBoot项目无法导入jsoup依赖,MAVEN导入依赖,在依赖中不显示。原创 2022-02-07 19:39:20 · 1904 阅读 · 0 评论 -
JWT与Shiro框架认证与授权详解
一)JWT与Shiro基础:1、单点登录:了解JWT之前,我们先了解一下JWT的最多应用场景----单点登录。图中有四个系统,sso只有登录的功能,1系统处理订单,2系统处理购物车,3系统处理用于数据的。如果没有单点登录,管理者就需要登录4次系统输入4次用户名和密码,这就导致我们要输入很多次用户名和密码。于是出现了单点登录,只需要在sso登录一次,然后所有与其绑定的信任系统都不用再次登录就可以使用。再举一个简单的例子,淘宝和天猫是两个相互信任的系统,你会发现当你登录了天猫或者淘宝之后另一原创 2022-01-29 22:32:55 · 3728 阅读 · 3 评论