- 博客(15)
- 收藏
- 关注
原创 教你 Shiro 整合 SpringBoot,避开各种坑
最近搞了下 Shiro 安全框架,找了一些网上的博客文章,但是一到自己实现的时候就遇到了各种坑,需要各种查资料看源码以及各种测试。 那么这篇文章就教大家如何将 Shiro 整合到 SpringBoot 中,并避开一些小坑,这次实现了基本的登陆以及角色权限,往后的文章也讲解了其他的功能,如 《教你 Shiro + SpringBoot 整合 JWT》 附上源码:https://...
2018-05-06 17:01:51 64139 43
原创 经典的 Top K 问题,你真的懂了么?
什么是 Top K 问题?简单来说就是在一堆数据里面找到前 K 大(当然也可以是前 K 小)的数。这个问题也是十分经典的算法问题,不论是面试中还是实际开发中,都非常典型。而这个问题其实也有很多种做法,你真的都懂了么?一. 立刻就能想到的解法既然是要前 K 大的数,那么最直接的当然就是排序了,通过如快排等效率较高的排序算法,可以在平均 O(nlogn)的时间复杂度找到结果。这种方式在数据...
2019-01-28 15:20:28 623
原创 谈一谈 JVM 对锁的优化
JDK 1.6 对并发性进行了很大的改进,这也是为了使线程之间更好更高效地共享数据,解决竞争问题,实现线程安全。因此从 JDK 1.6 开始,实现了很多锁的优化技术。一. 从 ReentrantLock 和 synchronized 看锁的优化讲正题之前,先说一下 ReentrantLock 和 synchronized 这对冤家,我们经常会拿这两个锁作比较,其中一个是显式锁,实现于 Lo...
2019-01-28 15:19:21 472
原创 Java 程序员都该懂的 volatile 关键字
今天,来谈谈 Java 并发编程中的一个基础知识点:volatile 关键字本篇文章主要从可见性,原子性和有序性进行讲解一. 主存与工作内存说 volatile 之前,先来聊聊 Java 的内存模型。在 Java 内存模型中,规定了所有的变量都是存储在主内存当中,而每个线程都有属于自己的工作内存。线程的工作内存保存了被该内存使用到的变量的主内存副本拷贝,线程对变量的所有操作(读取,赋值...
2019-01-28 15:18:33 277 1
原创 Java 程序员都该懂的 Java8 HashMap
HashMap 一直是非常常用的数据结构,也是面试中十分常问到的集合类型,今天就来说说 HashMap。但是为什么要专门说明是 Java8 的 HashMap 呢?我们都知道,Java8 有很多大的变化和改动,如函数式编程等,而 HashMap 也有了一个比较大的变化。先了解一下 Map常见的Map类型有以下几种:HashMap:哈希表的实现无序访问速度快key不允许重复(...
2019-01-28 15:17:43 408
原创 一行代码完成 JAVA 的 EXCEL 读写——EasyExcel 的方法封装
前段时间在 github 上发现了阿里的 EasyExcel 项目,觉得挺不错的,就写了一个简单的方法封装,做到只用一个函数就完成 Excel 的导入或者导。刚好前段时间更新修复了一些 BUG,就把我的这个封装分享出来,请多多指教附上源码:https://github.com/HowieYuan/easyexcel-method-encapsulationEasyExcelEasyExc...
2019-01-28 15:16:37 982
原创 一行代码完成 JAVA 的 EXCEL 读写——EasyExcel 的方法封装
前段时间在 github 上发现了阿里的 EasyExcel 项目,觉得挺不错的,就写了一个简单的方法封装,做到只用一个函数就完成 Excel 的导入或者导。刚好前段时间更新修复了一些 BUG,就把我的这个封装分享出来,请多多指教附上源码:https://github.com/HowieYuan/easyexcel-method-encapsulationEasyExcelEasyExc...
2018-09-18 12:38:00 3659 2
原创 简洁又快速地处理集合——Java8 Stream(下)
上一篇文章我讲解 Stream 流的基本原理,以及它与集合的区别关系,讲了那么多抽象的,本篇文章我们开始实战,讲解流的各个方法以及各种操作 没有看过上篇文章的可以先点击进去学习一下 简洁又快速地处理集合——Java8 Stream(上),当然你直接看这篇也可以,不过了解其本身才能更融会贯通哦。 值得注意的是:学习 Stream 之前必须先学习 lambda 的相关知识。本...
2018-07-31 10:37:06 4647 3
原创 简洁又快速地处理集合——Java8 Stream(上)
Java 8 发布至今也已经好几年过去,如今 Java 也已经向 11 迈去,但是 Java 8 作出的改变可以说是革命性的,影响足够深远,学习 Java 8 应该是 Java 开发者的必修课。 今天给大家带来 Java 8 Stream 讲解,为什么直接讲这个,是因为只要你学完,立刻就能上手,并能让它在你的代码中大展身手。 值得注意的是:学习 Stream 之前必须先...
2018-07-31 10:36:18 1073
原创 教你十分钟构建好 SpringBoot + SSM 框架
目前最主流的 java web 框架应该是 SSM,而 SSM 框架由于更轻便与灵活目前受到了许多人的青睐。而 SpringBoot 的轻量化,简化项目配置, 没有 XML 配置要求等优点现在也得到了大众的青睐 而本文,我将教大家如何在 intellij idea 中快速构建好一个 Maven + Spring + SpringMVC + MyBatis + SpringBoot ...
2018-07-22 11:16:17 581
原创 你必须搞清楚的String,StringBuilder,StringBuffer
String,StringBuilder 以及 StringBuffer 这三个类的关系与区别一直是 Java 的经典问题,这次就来讲一下关于这三个类的一些知识一. 简单对比String : 字符常量StringBuilder : 字符变量StringBuffer : 字符变量String 属于常量类型,被声明为 final class,所有的属性也都是 final...
2018-07-19 17:39:15 211
原创 告诉你 SQL 数据库与 NoSQL 数据库的区别
简单来说 SQL 数据库和 NoSQL 数据库有着共同的目标:存储数据,但存储的方式不同一. 表SQL中的表结构具有严格的数据模式约束: 存储数据很难出错。NoSQL存储数据更加灵活自由:可能导致数据不一致性问题的发生。SQL每个表规定了固定的字段,各个字段有固定的类型NoSQL而 NoSQL 使用类 Json 的键值对存储数据(还有使用阵列、图形的)...
2018-07-11 14:13:34 1231
原创 到底要不要报读计算机专业?
前言前段时间,有人发起一个讨论,主题是你是如何进入计算机软件行业的,看了一圈回答,我发现很多人并不是一开始就是计算机专业的,有人中途转专业进入计算机,有人考研跨考到计算机,有人工作之后转行从事计算机;除此之外,很大一部分人是填报志愿的时候不知道选择什么而报读了计算机,有人是跟风,有人是听说工资高,还有人是听妈妈的话。因此我个人便有感而发,趁着现在也是各个省份填报志愿的时期,写了这篇文章,给...
2018-06-30 20:14:46 885
原创 分享一些 Java 后端的个人干货
学习 Java 也有了不少时间,入 Java 后台的坑也有了一段时日。这段时间里,听过许多前辈的经验与分享,也看过许多大佬的文章和作品。找了个时间整理和总结了一下我个人到目前为止一路以来的听到看到或者自己感悟到的干货。 这篇文章可能更多的是面对初学者,当然,只要有人看了我的这篇文章后能有所收获,我就心满意足了。本文主要有那么几个部分:学习路线推荐一些书籍和公众号...
2018-06-28 16:42:12 12978 1
原创 教你 Shiro + SpringBoot 整合 JWT
本篇文章将教大家在 shiro + springBoot 的基础上整合 JWT (JSON Web Token) 如果对 shiro 如何整合 springBoot 还不了解的可以先去看我的上一篇文章 《教你 Shiro 整合 SpringBoot,避开各种坑》 附上源码:https://github.com/HowieYuan/shiroJWTJSON Web...
2018-05-06 17:04:02 8240 3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人