- 博客(14)
- 收藏
- 关注
原创 java map详解
java map详解Map 是一种键-值对(key-value)集合,Map 集合中的每一个元素都包含一个键对象和一个值对象。其中,键对象不允许重复,而值对象可以重复,并且值对象还可以是 Map 类型的,就像数组中的元素还可以是数组一样。HaspMapHashMap 主要用来存放键值对,它基于哈希表的 Map 接口实现,是常用的 Java 集合之一,是非线程安全的。HashMap 可以存储 null 的 key 和 value,但 null 作为键只能有一个,null 作为值可以有多个JDK1.
2021-07-13 13:37:26
1553
原创 WEB 认证授权
认证授权什么是认证(Authentication)通俗地讲就是验证当前用户的身份。互联网中的认证:用户名密码登录邮箱发送登录链接手机号接收验证码只要你能收到邮箱/验证码,就默认你是账号的主人什么是授权(Authorization)用户授予第三方应用访问该用户某些资源的权限。实现授权的方式有:cookie、session、JWT、SSO、OAuth2。什么是凭证(Credentials)实现认证和授权的前提是需要一种媒介(证书)来标记访问者的身份。Cookie&Session
2021-07-12 16:13:29
1158
原创 MySQL Explain详解
MySQL Explain详解前言在工作中,排查慢的sql,常常用到explain这个命令来查看一个这些SQL语句的执行计划,查看该SQL语句有没有使用上了索引,有没有做全表扫描,这都可以通过explain命令来查看。所以我们深入了解MySQL的基于开销的优化器,还可以获得很多可能被优化器考虑到的访问策略的细节。使用方法介绍sql:-- 普通查询SELECT * FROM table1 t1-- explain查询sql执行计划explain SELECT * FROM table1 dem
2021-07-07 17:21:13
148
原创 java 抽象类&接口
java 抽象类&接口抽象类抽象类体现了数据抽象的思想,是实现多态的一种机制。抽象类定义了一组抽象的方法,至于这组抽象方法的具体表现形式由子类来继承实现。抽象类就是用来继承的,否则它就没有存在的任何意义。特点:1.抽象类可以有构造方法,但不能创建对象,只能继承2.抽象类可以没有抽象方法3.抽象方法不可以用static.final修饰 访问权限不能用private修饰4.抽象类的子类必须实现抽象类所有的抽象方法,否则子类也必须使抽象类public abstract class Abst
2021-07-06 15:08:54
88
原创 java Collection详解
Collection前言 java中集合是基础知识很重要的部分,我们需要了解他的底层原理,扩容等等相关知识集合分为Collection和Map两种体系。下面先介绍Collection的集合类的继承树如下图所示[外链图片转存中…(img-HywvEwzS-1625542061229)]Collection接口介绍根据上方的继承树可以知道,Collection 接口有 3 种子类型集合: List、Set 和 Queue,AbstractCollection 是 Java 集合框架中 Collec
2021-07-06 11:30:34
737
原创 MySql数据库存储引擎
Mysql数据库存储引擎MySql数据库存储引擎简介 Mysql是关系型数据库,用于存储和组织信息的数据结构,不同表不同的结构,有的复杂有的简单,在实际开发中可能需要各种各样的表,不同的表意味着需要不同的数据结构和数据内容,数据处理上也存在不同的差异,对于Mysql提供了不同的存储引擎、索引技巧、锁定水平等功能,我们可以根据不同的需求来选择不同的存储引擎,存储引擎是数据库管理系统用来从数据库创建,读取和更新数据的软件模块。 Mysql支持的存储引擎有9种,但是常见的就那么几种,在Mysql 5.
2021-03-22 11:01:36
342
1
原创 gradle命令打jar包【可执行jar或者工具类jar包】
gradle命令打jar包【可执行jar或者工具类jar包】平常我们基本用idea工具生成jar包,但有些人是不使用idea进行开发的(比如我们老板用vscode开发),所以打包时就受到了限制。所以让我想一个他也能打包的方法,所以我就想到了用gradle打包工具类jar包。方法如下:在build.gradle配置文件需要加上:apply plugin: 'java'apply plugin...
2019-12-24 11:57:32
3511
原创 BIO、NIO、AIO区别(炒鸡容易理解)
BIO、NIO、AIO区别在了解它们的区别之前,我们首先先要了解以下几点概念:阻塞:进行读写操作时,没有东西可读可写时,程序就进入等待的状态,直到可读或可写为止。(简单的理解就是一根筋,必须要等这件事做完才去做其他的事情,否则一直处于等待的状态。)非阻塞:进行读写操作时,没有东西可读可写时,Java调用会马上返回 ,程序不会等待。(你先排上号,先去干其他的事情,当叫到你的时候,你再去干这个...
2019-12-19 11:44:02
1475
3
原创 JVM:类加载的过程
JVM:类加载的过程java类加载过程可分为3个步骤,分别为:加载、连接(验证、准备、解析)和初始化过程,这些都是在程序运行期间去完成的。加载加载阶段是把类的.class文件中的二进制读到内存中,将其放在运行时数据区的方法区中,然后在堆中创建.class对象。加载的顺序为:.class文件---->读取到内存---->数据放到方法区----->在堆中创建.class对...
2019-12-18 11:01:53
252
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人