![](https://img-blog.csdnimg.cn/20190918140012416.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
基础
文章平均质量分 95
基础知识
ooyhao
一起学习,一起进步
展开
-
浅谈OAuth2.0授权码模式
浅谈OAuth2.0授权码模式原创 2023-09-19 10:09:09 · 284 阅读 · 0 评论 -
【JVM】之类加载子系统
Java & JVMJava是跨平台的语言,JVM是跨语言的平台。Java【write once,run anywhere】一次编译到处运行。由于Java经过前端编译器[Javac]生成的是字节码class文件,而这个class文件在不同平台的虚拟机都是可以运行的,这也就是Java语言称为是跨平台的语言的原因。JVM是跨语言的平台,与其说JVM是JVM,不如说是CVM(个人理解),即Class VM. 因为如今的JVM已经不再是转为Java而用的,JVM可以加载运行所有符合规范的class文原创 2021-11-15 22:49:30 · 712 阅读 · 0 评论 -
【Java基础】之集合
集合集合继承图Collection继承图常用方法1. add:添加元素2. remove:删除指定元素,或指定下标。重载;3. contains:查找指定元素是否存在4. size:获取元素的个数5. isEmpty:判断集合是否为空;6. clear:清空7. addAll:添加多个元素;8. containsAll:查找多个元素是否同时存在;9. removeAll:删除多个元素;注意:remove方法的重载;// List 中有一个重载方法。remove()pub原创 2021-11-14 23:04:26 · 748 阅读 · 0 评论 -
[navicat premium] [IM002] [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序
https://blog.csdn.net/weixin_42207959/article/details/85019659转载 2020-09-04 10:15:28 · 529 阅读 · 0 评论 -
使用动态代理技术实现ORM工具
使用动态代理技术实现ORM工具源代码仓库:https://gitee.com/ooyhao/public-code-repository代理模式分为静态代理和动态代理。而代理模式中,又分为两种,一种是基于实现接口的:jdk动态代理,一种是基于继承类的:cglib动态代理。正常都是继续指定的实现类,通过代理模式来增强,而像类似于mybatis 根据接口来创建实现类并实现指定功能的确实不常见。所以,这里主要是演示如何使用JDK动态代理技术来实现SQL操作功能。涉及到技术点:如何在基于代理模式创建指原创 2020-08-29 16:38:22 · 386 阅读 · 0 评论 -
HashMap的参数总结
HashMap的参数总结通过前面的解析,我们大致把HashMap的数据结构,put方法的存储过程,get及相关方法的查询过程和remove方法的移除过程解析了一遍,接下来我们看一下面试中常会问到的参数,其实我们前面都接触到了,只是这里单独拿出来总结一下。默认初始化容量/** * The default initial capacity - MUST be a power of two. ...原创 2020-05-05 13:28:49 · 3823 阅读 · 0 评论 -
HashMap的remove相关方法
HashMap的remove相关方法前面增加和查询都解析完了,这里我们看一下跟删除相关的方法。Remove keypublic V remove(Object key) { Node<K,V> e; return (e = removeNode(hash(key), key, null, false, true)) == null ? null : e.value...原创 2020-05-05 13:28:18 · 1129 阅读 · 0 评论 -
HashMap的get,containKey, containsValue方法
HashMap的get,containKey, containsValue方法前面我们基本把put方法的过程解析完了,这一篇我们看一下与查询有关的方法。get 方法下面我们先看一下通过key获取value的方法get。public V get(Object key) { Node<K,V> e; return (e = getNode(hash(key), ke...原创 2020-05-05 13:27:48 · 1929 阅读 · 0 评论 -
HashMap的putVal方法和resize
HashMap的putVal方法和resize声明重要声明:由于本人内功不够,本文未有涉及红黑树如何添加元素,仅用简明思路和方法来了解HashMap的存值过程,备以今后面试等场景。以博客记之,便于后续翻阅,不适深究者putVal 方法解析其实HashMap的简单存储过程已经在前面一篇文章演示过了,这里主要是来看一下putVal方法。首先,先看一下putVal方法的源码:final V ...原创 2020-05-04 17:03:13 · 346 阅读 · 0 评论 -
初试HashMap的put存储过程
在正式深入了解HashMap之前,我们先按照一个简单的例子来走一遍HashMap的put方法的存储过程。案例HashMap<String,Object> hashMap = new HashMap<>();hashMap.put("name","ooyhao");hashMap.put("gender","男");源码分析下面我们通过分析上面的两行代码,来进行...原创 2020-05-04 11:38:33 · 550 阅读 · 3 评论 -
java基础之ArrayList源码分析
ArrayList源码分析部分参考自:https://www.cnblogs.com/aflyun/p/6444913.htmlhttps://www.cnblogs.com/ysocean/p/8622264.html#_label0概述ArrayList底层是由数组实现的,是一个自动扩容的数组。(由于数组的长度是固定的,扩容时其实是进行数组复制)public class Arr...原创 2020-04-25 17:31:31 · 253 阅读 · 0 评论 -
Java集合之LinkedList源码分析
LinkedList部分参考来源: https://www.cnblogs.com/aflyun/p/6481274.html文章目录LinkedListLinkedList 介绍LinkedList 的方法总结LinkedList 源码分析Get ElementRemove ElementAdd ElementSearch Elementother总结LinkedList 介绍Li...原创 2019-11-11 22:30:57 · 149 阅读 · 0 评论 -
Java基础之 String类 源码分析
String 类部分参考自:https://www.cnblogs.com/ysocean/p/8571426.html#_label0定义String类是一个不可变类。其一旦被赋值,就不能别修改了。我们先来看一下源码:public final class String implements java.io.Serializable, Comparable<String>...原创 2020-04-08 11:03:43 · 315 阅读 · 0 评论 -
Java基础之 Integer 类源码分析
Integer 类源码说明Java中Integer是基本数据类型int的包装类。也就是每一个Integer对象包含一个int类型的属性,是抽象类Number类的子类,位于java.lang包下。部分源码:public final class Integer extends Number implements Comparable<Integer> { @Native ...原创 2020-04-05 20:16:39 · 324 阅读 · 0 评论