最近在研究微信小程序授权登录的后端实现,网上有很多资料但是都比较散,所以查了很多资料自己实现了出来,顺便在这里记录一下总体逻辑。 以下是小程序官方给出的实现流程,这个和我最终实现的逻辑有所差别,不过可以作为参考: 获取登陆凭证 在小程序端用户登录时调用wx.login,调用的返回值内会有一个code,这就是需要传递给后端的内容,code只能被使用一…
什么是Kotlin Kotlin 是一门现代的、静态类型的能够运行在JVM上的编程语言,它旨在提供更简洁、安全、高效的软件开发体验,同时保持与 Java 完美互操作性,其支持函数式编程风格,拥有清晰的语法、强大的类型推断以及空安全特性,使开发者能够更轻松地编写可维护和可扩展的代码。 在Kotlin官网顶部你就可以看到这样一句话: 让开发人员更快乐的…
最近在写接口的时候一直在想这个接口文档应该怎么搞好一些,要知道一个项目接口数量那么多,我要是一个个写,就算是整个模板在此基础上修改也不是很简单,这个时候我就想了,能不能有一个可以快速便捷的生成接口文档的东西呢? 在此之前我也使用过Swagger这类接口文档工具,但是尽管它的功能十分强大,但是在我仅仅只想快速得到一份完善的接口文档的场景下,还要为其做…
在JDK中的java.lang.Exception包下为我们提供了非常多的异常类型 如数据库访问异常时应抛出SQLException,操作阻塞超时时应抛出TimeoutException,将给定字符串无法转换为Path对象时应抛出InvalidPathException 为了满足需要,我们也可以创建自己的异常类,从而在进程中抛出特定类型的异常,这样…
前言 在上一篇博文中,我们为研究排序算法做了基本的准备工作,并且讲到了两种排序算法,那么在这篇文章中,会讲到接下来的几种排序算法,它们分别是:选择排序、归并排序 选择排序 稳定性:否 时间复杂度:$O(n^2)$(平均) 选择排序是一种十分简单的排序方式,它每次找出乱序集合中最小的值,并将其与集合中最前端的值进行交换,最终完成其排序的过程. 我们将…
排序 排序算法(英语:Sorting algorithm)是一种能将一串数据依照特定排序方式排列的算法。基本上,排序算法的输出必须遵守下列两个原则: 输出结果为递增序列(递增是针对所需的排序顺序而言) 输出结果是原输入的一种排列、或是重组 在本文中,相关算法将用于处理一组随机整数,并将这串整数整理为非递增序列,所有数据将维护在一个ArrayList…
最近在学习CS61B的时候遇到一个问题,使用数组来实现双向链表的时候要求用泛型数组. 在Java中,如果向创建一个泛型数组首先想到的写法可能是: T array = new T[1]; 但是这时会发现IDEA会报错类型形参 'T' 不能直接实例化,这是由于Java泛型的类型擦除机制导致的. Java 泛型(generics)是 JDK 5 中引入的…
构造方法 构造方法是一个与类同名的方法,它主要完成对象的初始化,当该类实例化一个对象时会自动调用构造方法.一个类中必须含有构造方法,但并非强制要求写出,如果没有写出的话Java会自动添加一个无参构造方法以供初始化,该构造方法不包含任何的参数,且方法体为空. 默认构造方法的访问修饰符将会和所在类的访问修饰符保持一致,一旦我们在程序中定义了构造方法,那…