自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Embra_ce的博客

一个程序媛的花前月下

  • 博客(21)
  • 收藏
  • 关注

原创 小程序登录和用户信息保存

小程序登录总结登录流程前端通过获取的临时登录凭证传递给后端,后端应用调用auth.code2Session 接口换取用户的唯一标识openid和session_key,完善用户信息。后端向前端颁布自定义的登录态令牌,登录成功。openID和unionID的区别微信开放平台支持企业或个人申请应用,例如小程序,公众号等,每个应用有一个appidopenID是每个用户在不同应用下的唯一标识,同一用户在不同应用下有不同的openid,或者换句话来说,openid只在对应的appid.

2020-08-12 14:52:36 2096

原创 OAuth2的初步了解

为什么会出现OAuth?授权机制,用于授权第三方应用,获取用户数据。OAuth1.0和OAuth2.0的区别1.0缺点:1.0中使用的是http协议,容易遭受中间人攻击,伪造回调地址,拿到用户访问令牌。1.0a中改善了这一点,增加了签名过程攻击者无法伪造回调地址,无法拿到用户访问令牌,但是签名过程增加了复杂度,且实用性不高。2.0改进:去掉签名,使用SSL(https)保证安全性。 所有的token不再有对应的secret,签名过程简洁,这也直接导致2.0不兼容老版本。 能更好的

2020-08-12 11:58:33 257 1

原创 字节码看Java代码的执行

public static void main(java.lang.String[]); Code: 0: iconst_0 1: istore_1 2: iconst_0 3: istore_2 4: getstatic #2 // Field java/lang/Syst...

2020-04-21 09:10:17 163

原创 Git&Gitlab使用那些事

一.git的安装(mac版)二.gitlab创建一个别人可以参与的项目三.git&gitlab的协同操作四.git的常用命令介绍一,git的安装1).先判断电脑是否已经安装了git。首先打开电脑的终端输入[git --version]如果显示出git的版本号,那么你的电脑是已经安装过git的。如果命令不存在则没有安装,那么打开git官网。”https...

2019-07-26 10:36:13 831

转载 关于为何使用B tree和B+ tree的原因

https://blog.csdn.net/weixin_30531261/article/details/79312676

2019-02-25 21:02:38 2533

原创 Mysql出现中文乱码

当进行数据库操作时,出现中文乱码时alter table `tablename` convert to charset utf8; 可用此语句进行修改。

2019-02-18 14:17:23 150

原创 二叉树的遍历

二叉树的性质1,二叉树的第i层最多包含2*i-1个节点。2,二叉树如果深度为k(有k层),那么最多含有(2^k )-1个节点。3,若二叉树按照从上到下从左到右的方式编号,某节点的编号为k,那么他的左右子树分别编号为2k,2k+1.4,二叉树分类:满二叉树,完全二叉树,平衡二叉树。满二叉树:除了叶子结点以外所有的结点都必须满足度最大,即,一个深度为k的满二叉树,其包含的叶子结点数...

2019-01-27 17:51:56 237

原创 关于哈希和加密

哈希:将目标文本转换成为具有相同长度,不可逆的杂凑字符串(或称为信息摘要,其长度都是固定的);加密:以某种特殊的算法,将原本信息数据进行改变,使得即使没有权限的人看到消息也不能从中得到任何有用信息,但是加密的信息是保证可逆的,即可加密必可解密(其长度与目标文本成正比)。 哈希算法与加密     1,哈希算法:R= H(s) 是多对一映射,多个不同的s可以通过哈希算法H得到相同的R,...

2018-11-10 18:34:57 1114

原创 Java8 Lambda表达式

 什么是lambda表达式:lambda表达式是一个匿名函数,即没有函数名的函数。Java8使用lambda表达式来代替匿名类,使代码更加简洁是一段可以传递的代码,主要使用的是箭头操作符 。左侧:Lambda (参数列表)右侧:函数实现的功能,如果超过一句代码,用大括号括起来lambda表达式依赖于接口的支持,(函数式接口:只存在一个抽象方法的接口,可以使用@Function...

2018-08-25 15:40:58 234

原创 Java 线程池

为什么要使用线程池:目前的大多数网络服务器,包括Web服务器、Email服务器以及数据库服务器等都具有一个共同点,就是单位时间内必须处理数目巨大的连接请求,但处理时间却相对较短。 传统多线程方案中我们采用的服务器模型则是一旦接受到请求之后,即创建一个新的线程,由该线程执行任务。任务执行完毕后,线程退出,这就是是“即时创建, 即时销毁”的策略。尽管与创建进程相比,创建线程的时间已经大大的缩短,但是如...

2018-08-22 18:23:55 232

原创 Java 内部类(成员内部类)

内部类:将一个类的定义放在另一个类的内部,这个类就是内部类。内部类是一种非常有用的特性,他允许你将一些逻辑相关的类组合在一起,并控制位于内部的类的可视性。他了解外部类,并且与之通信。内部类的分类:成员内部类静态内部类局部内部类匿名内部类创建一个内部类public class OuterClass { class InnerClass1 { private ...

2018-08-21 13:49:06 247

原创 关于数据库索引

数据库索引:1,索引是什么?    数据库索引是一种数据结构,为了在进行数据检索的时候提高检索的效率,Mysql数据库通常使用的数据库索引是B+tree.Mysql存储引擎:Innodb,MyISAM.索引在存储上分为两种:聚簇索引和非聚簇索引,区别是存储数据的树的叶子节点是否存储数据Inoodb:使用的是聚簇索引,叶子节点存储相应的数据。MyISAM:使用非聚簇索引,叶子...

2018-08-11 00:31:59 581

原创 关于数据库 Explain 的解释

判断一条语句在执行的时候有没有走索引,我们可以再该语句之前增加  explain关键字,在使用了explain关键字后,可以向你显式的表明,该语句的性能。我们先来了解一下各个标识的意思+----+-------------+-------+-------+-------------------+---------+---------+-------+------| id | select_t...

2018-08-10 22:55:50 3338

转载 关于URI 和URL 的区别

转自https://www.cnblogs.com/wuyun-blog/p/5706703.html

2018-07-12 17:31:12 153

原创 关于Java 偏向锁,轻量级锁,重量级锁的应用和区别,优点和缺点

1,偏向锁。偏向锁:顾名思义,偏心与某一个线程锁,而他偏心的线程就是第一个访问该锁的线程,在某个锁第一次被一个线程所访问的时候,该锁会在她的Mark Word中记录该线程的线程id,而在该线程第二次去访问这个锁的时候,只需进行一次CAS操作,去检验该线程是不是他所偏向的锁(其实就是检测Mark Word中保存的线程id是否和当前线程所匹配),那么该线程访问临界资源的...

2018-06-25 17:53:31 1587

原创 Spring MVC + MyBatis整合配置

最近学习Spring MVC + Mybatis整合,但是搭建基础环境的时候一直出现问题,经过不懈努力终于完成了首先我们看一下applicationContext.xml文件的配置<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" ...

2018-05-14 10:45:40 136

原创 关于Spring MVC中自定义类型转换器的方式

关于Spring mvc ,我觉得他是一个特别人性化的框架,它的内部实现,帮我们省去了很多麻烦例如,在我们在前端页面输入数据的时候,后台接受数据的时候,如果事先写好一个类,且后台接收到响应参数为该类型时,那么他就会自动匹配类的属性,并将值注入,那么后台接受到的参数就是一个已经注入好参数的实例;这是一个User类,包含以下属性import java.io.Serializable;public ...

2018-04-27 17:35:23 2156 2

原创 HashMap源码解析《三》get,remove方法

1.hashmap中的get方法 public V get(Object key) { Node<K,V> e; return (e = getNode(hash(key), key)) == null ? null : e.value; //根据得到结果取得值,如果不存在当前键则返回null,如果存在返回value值 } final...

2018-04-02 21:07:24 458

原创 HashMap源码解析《二》

在上一篇文章中,关于Hashmap的初始化和put方法有所了解,发现了其中特别有趣的算法。今天先来看看他的初始化方法然后看看一些算法:1,hashMap的初始化方法   主要是用Map去初始化hashMap的这个方法 public HashMap(Map<? extends K, ? extends V> m) { this.loadFactor = DEFAULT_L...

2018-04-02 13:11:10 164

原创 HashMap源码解析《一》put方法

在jdk1.8里边 hashmap的实现原理不仅仅只由位桶+链表实现 ,增加位桶+红黑树实现,在桶中链表存储的元素个数到达阈值时(默认为8),将在底层将链表转为红黑树,但因为我本人红黑树掌握的并不好,所以不讨论有关红黑树,本文主要讲解基础,hashmap的put方法,其他请等待下文;一,所涉及到的名词;1,bucket   桶,对于系统开始初始化hashmap的时候,会创建一个长度为capacit...

2018-03-27 18:37:09 416

原创 关于HTTP协议的相关内容

HTTP协议是用于从www服务器传输超文本到本地浏览器的传送协议,使浏览器更加高效,使网络传输减少,保证计算机正确的传输超文本文档,还确定传输文档中的那个部分,以及那部分内容首先显示等HTTP是一个应用层协议,由请求和响应构成,是一个标准的客户端服务器模型。HTTP协议通常承载于TCP协议之上,有时也承载与TLS/SSL(传输层安全协议)协议层之上,默认的http端口是80,HTTPS

2018-01-29 21:57:19 1235 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除