摘要: Supplier是函数式编程的另一个接口,与Function、Predicate接口类似,区别在于Supplier不接收任何参数,只返回结果。 Supplier的基本使用 @FunctionalInterface public interface Supplier<T> { /** * Gets a 阅读全文
posted @ 2022-09-21 10:00 六层楼 阅读(1700) 评论(0) 推荐(0) 编辑
摘要: 给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。 回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 例如,121 是回文,而 123 不是。 示例 1: 输入:x = 121 输出:true 示例 2: 输入:x = -121 输出:false 阅读全文
posted @ 2022-09-13 13:59 六层楼 阅读(25) 评论(0) 推荐(0) 编辑
摘要: 在为数据库某字段(varchar(255))创建索引的时候出现如下问题: Specified key was too long; max key length is 767 bytes 出现这个问题是因为创建索引时指定的字段超过了存储引擎默认的长度。 数据库存储引擎不同导致的索引长度限制 MySQL 阅读全文
posted @ 2022-07-27 16:19 六层楼 阅读(1280) 评论(0) 推荐(1) 编辑
摘要: 对于写Java的同学来说,参数校验是繁琐且重复性很高的代码。很多时候我们的业务代码编写之前先要进行很多的参数校验,浪费了大量的时间和精力。而java中其实已经内置了参数校验的工具,本篇文章主要介绍如何使用Javax.validation来进行参数校验。 @validated注解 @validated 阅读全文
posted @ 2021-12-16 14:39 六层楼 阅读(599) 评论(0) 推荐(0) 编辑
摘要: 一、爬楼梯 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数。 示例 1: 输入: 2 输出: 2 解释: 有两种方法可以爬到楼顶。 1 阶 + 1 阶 2 阶 示例 2: 输入: 3 输出: 3 解 阅读全文
posted @ 2021-07-13 16:43 六层楼 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 第一篇文章中,我用如何保证线程顺序执行的例子作为Java并发系列的开胃菜。本篇我们依然不会有源码分析,而是用另外两个多线程的例子来引出Java.util.concurrent中的几个并发工具的用法。 系列文章 Java并发编程(一)如何保证线程顺序执行 - 简书 (jianshu.com) 一、如何 阅读全文
posted @ 2021-05-17 17:55 六层楼 阅读(1623) 评论(2) 推荐(1) 编辑
摘要: 只要了解过多线程,我们就知道线程开始的顺序跟执行的顺序是不一样的。如果只是创建三个线程然后执行,最后的执行顺序是不可预期的。这是因为在创建完线程之后,线程执行的开始时间取决于CPU何时分配时间片,线程可以看成是相对于的主线程的一个异步操作。 public class FIFOThreadExampl 阅读全文
posted @ 2021-05-14 14:51 六层楼 阅读(4529) 评论(2) 推荐(2) 编辑
摘要: 本篇是简单介绍如何自定义线程池并在Java 8 的Parallel Streams中使用线程池。并举例介绍如何不使用普通线程池而是使用自定义线程池来调用Parallel streams API。 1. 介绍 在本篇教程中,您将学习如何使用强大的并行流API(在Java8中)创建用于批量数据处理的自定 阅读全文
posted @ 2021-05-12 11:00 六层楼 阅读(2752) 评论(0) 推荐(0) 编辑
摘要: Spring boot中使用Retrofit拦截器增加日志打印功能 目前存在的问题 Retrofit是个封装良好的基于OKHTTP的框架,我们可以方便的使用Retrofit来调用API。那么应该如何优雅的使用Retrofit来调用API呢? 一、Retrofit如何添加拦截器 Retrofit本身不 阅读全文
posted @ 2020-12-31 22:58 六层楼 阅读(961) 评论(0) 推荐(0) 编辑
摘要: 感谢 千呼万唤始出来,探索Java8系列第四篇闪亮登场。探索Java8第一篇是2018年4月9号发布的,也就是说本篇距离探索Java8第一篇发布已经整整过去了两年半的时间。前三篇我发布到了简书、博客园、CSDN、掘金、SegmentFault,累计阅读量估计在10W左右。正是因为这个,所以我才有动力 阅读全文
posted @ 2020-11-09 17:38 六层楼 阅读(447) 评论(0) 推荐(0) 编辑
摘要: 有趣的两位数 有数学家发现⼀些两位数很有意思,⽐如, 34 * 86 = 43 * 68 也就是说,如果把他们的十位数和个位数交换,二者乘积不变。 编程求出满足该性质的两位数组合。 提示,暴力解法非最优解。 解题思路 先给出暴力求解的答案。考虑到11X99=99X11,这种情况不属于解题集。另外,1 阅读全文
posted @ 2020-10-09 17:39 六层楼 阅读(586) 评论(0) 推荐(0) 编辑
摘要: 游戏币组合 ⼩明的抽屉⾥有n个游戏币,总⾯值m,游戏币的设置有1分的,2分的,5分的,10分的,⽽在⼩明 所拥有的游戏币中有些⾯值的游戏币可能没有,求⼀共有多少种可能的游戏币组合⽅式? 输⼊:输⼊两个数n(游戏币的个数),m(总⾯值)。 输出:请输出可能的组合⽅式数; 解题思路 暴力求解显然是一种能 阅读全文
posted @ 2020-10-09 17:32 六层楼 阅读(1509) 评论(0) 推荐(0) 编辑
摘要: 部门优化 某公司内有 4 个项⽬组,项⽬组 A、B、C、D,项⽬组A现有10人,项⽬组B现有7人,项⽬组C现 有5人,项⽬组D现有4人。为了实现跨项⽬组协作,公司决定每⽉从⼈数最多的项⽬组中抽调 3 ⼈ 出来,到其他剩下 3 组中,每组 1 人,这称之为一次调整优化(亦即经过第⼀次调整后,A组有7 阅读全文
posted @ 2020-10-09 17:31 六层楼 阅读(922) 评论(0) 推荐(0) 编辑
摘要: Comming soon 阅读全文
posted @ 2020-08-31 17:31 六层楼 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 最近遇到一个面试题。 给定一个数字n,输出一个n阶矩阵。矩阵中的元素为1到n²。按回形排列 eg1 : 输入:n=2 输出: 1 2 4 3 eg2: 输入:n=3 输出: 1 2 3 8 9 4 7 6 5 思路: 这个题属于现实中遇到很简单,但是程序实现还是有些难度的问题。 面试的时候面试官让我 阅读全文
posted @ 2020-07-29 18:10 六层楼 阅读(883) 评论(0) 推荐(0) 编辑
摘要: 我最近一直在研究如何给Keycloak的登录页面加上验证码功能,Keycloak的7.0.x目前是没有登录验证码的。不过可惜的是,到目前为止我也没成功实现验证码功能。但我在这个过程中发现了另外两个Keycloak自带的能替代验证码的功能。 暴力检测(Brute Force Detection) 首先 阅读全文
posted @ 2020-06-28 17:39 六层楼 阅读(1965) 评论(0) 推荐(0) 编辑
摘要: 最近项目又用到了Mybaits。在Mybatis中分页是个比较头疼的事,因为需要我们每次都写重复的sql。好在我们有PageHelper这样的分页工具,它可以拦截你的sql,从而进行分页操作。 一、使用PageHelper分页和遇到的问题 首先我们引入maven依赖。 然后假定你有个需要分页的查询方 阅读全文
posted @ 2020-05-08 23:32 六层楼 阅读(1707) 评论(2) 推荐(1) 编辑
摘要: ![](https://img2020.cnblogs.com/blog/712911/202003/712911-20200331221231337-433415672.png) 阅读全文
posted @ 2020-03-31 22:13 六层楼 阅读(1615) 评论(1) 推荐(1) 编辑
摘要: 后端项目集成Keycloak之后我们是无法直接访问后端的接口或者页面的。此时必须先获取到token然后携带着token去访问接口。 本篇我们讲述两种获取token然后请求的方式 1. 使用HTTP请求获取token 2. 使用Postman的认证工具 一、使用HTTP请求获取token 后端集成ke 阅读全文
posted @ 2020-01-31 23:03 六层楼 阅读(4246) 评论(1) 推荐(1) 编辑
摘要: keycloak是一个面向现代应用和服务的开源身份和访问管理解决方案。它使得针对应用程序和服务的保护变得容易,几乎不需要代码。简而言之,Keycloak的主要是为Web应用或者RESTful API提供SSO。 关于Keycloak的基础知识,你可以自己下载。网上有很多入门的教程,本篇直接从Java 阅读全文
posted @ 2019-12-31 11:36 六层楼 阅读(7613) 评论(0) 推荐(0) 编辑