Java
文章平均质量分 96
SH的全栈笔记
这个作者很懒,什么都没留下…
展开
-
ArrayList 从源码角度剖析底层原理
本篇文章已放到 Github github.com/sh-blog 仓库中,里面对我写的所有文章都做了分类,更加方便阅读。同时也会发布一些职位信息,持续更新中,欢迎 Star对于 ArrayList 来说,我们平常用的最多的方法应该就是 add 和 remove 了,本文就主要通过这两个基础的方法入手,通过源码来看看 ArrayList 的底层原理。add默认添加元素这个应该是平常用的最多的方法了,其用法如下。接下来我们就来看看 add 方法的底层源码。ensureCapacityIn.原创 2021-07-20 10:47:04 · 215 阅读 · 2 评论 -
初探Java类型擦除
什么是类型擦除为了让你们快速的对类型擦除有一个印象,首先举一个很简单也很经典的例子。// 指定泛型为StringList<String> list1 = new ArrayList<>();// 指定泛型为IntegerList<Integer> list2 = new ArrayList<>();System.out.println(list1.getClass() == list2.getClass()); // true上面的判断结果是t原创 2020-12-15 17:56:45 · 107 阅读 · 0 评论 -
浅谈JVM和垃圾回收
写在前面简单的介绍一下JVM(Java Virtual Machine)吧,它也叫Java虚拟机。虽然它叫虚拟机,但是实际上不是我们所理解的虚拟机,它更像操作系统中的一个进程。JVM屏蔽了各个操作系统底层的相关的东西,Java程序只需要生成对应的字节码文件,然后由JVM来负责解释运行。介绍几个容易混淆的概念,JDK(Java Development Kit) 可以算是整个Java的核心,其中有编译、调试的工具包和基础类库,它也包含了JRE。JRE(Java Runtime Environment),包原创 2020-12-15 17:54:59 · 127 阅读 · 0 评论 -
如何在SpringBoot中集成JWT(JSON Web Token)鉴权
这篇博客主要是简单介绍了一下什么是JWT,以及如何在Spring Boot项目中使用JWT(JSON Web Token)。1.关于JWT1.1 什么是JWT老生常谈的开头,我们要用这样一种工具,首先得知道以下几个问题。这个工具是什么,这个工具解决了什么问题是否适用于当前我们所处得业务场景用了之后是否会带来任何其他问题怎么用才是最佳实践那什么是JWT呢?以下是我对jwt官网上对JWT介绍的翻译。JSON Web Token (JWT)是一种定义了一种紧凑并且独立的,用于在各方之间使用原创 2020-12-01 15:14:12 · 197 阅读 · 0 评论 -
想在Java中实现Excel和Csv的导出吗?看这就对了
前言最近在项目中遇到一个需求,需要后端提供一个下载Csv和Excel表格的接口。这个接口接收前端的查询参数,针对这些参数对数据库做查询操作。将查询到的结果生成Excel和Csv文件,再以字节流的形式返回给前端。前端拿到这个流文件之后,最开始用ajax来接收,但是前端发送的请求却被浏览器cancel掉了。后来发现,发展了如此之久的Ajax居然不支持流文件下载。后来前端换成了最原始的XMLHttpRequest,才修复了这个问题。首先给出项目源码的地址。这是源码,欢迎大家star或者提MR。Csv新建原创 2020-12-01 15:13:09 · 445 阅读 · 0 评论 -
手把手教你从零开始搭建SpringBoot后端项目框架
原料新鲜的IntelliJ IDEA、一双手、以及电脑一台。搭建框架新建项目打开IDE,点击File -> New Project。在左侧的列表中的选择Maven项目,点击Next。填写GroupId和ArtifactId什么是GroupId和ArtifactId?大家可以参考一下google出来的定义,可以参考一下。GroupID是项目组织唯一的标识符,实际对应JAVA的包的结构,是main目录里java的目录结构。ArtifactID就是项目的唯一的标识符,实际对应项目的名称,就原创 2020-12-01 11:54:38 · 1069 阅读 · 0 评论