自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 收藏
  • 关注

原创 JUC之AQS

AQS简介使用方式主要内置方法队列同步器的实现同步队列Node节点独占式同步状态的获取与释放acquire(int arg)addWaiter()enq(node)acquireQueuedshouldParkAfterFailedAcquireparkAndCheckInterruptcancelAcquire(node)tryAcquireNanosdoAcquireNanos(int arg...

2020-05-07 07:10:29 313

原创 Spring IOC 不同scope下的Bean加载流程

概述Spring当中有着不同的bean scope* singleton :默认值,单例的.* prototype :多例的.* request :WEB 项目中,Spring 创建一个 Bean 的对象,将对象存入到 request 域中.* session :WEB 项目中,Spring 创建一个 Bean 的对象,将对象存入到 session 域中.* global sessio...

2020-05-02 23:30:03 241

原创 Spring IOC parentBeanFactory与DependsOn处理

parentBeanFactory与DependsOn处理概述原型检查isPrototypeCurrentlyInCreation(beanName)parentBeanFactory加载originalBeanName(name)合并BeanDefinitiongetMergedLocalBeanDefinition(beanName)checkMergedBeanDefinitionDepen...

2020-05-02 11:24:36 373

原创 Spring IOC 从单例池中获取Bean

Spring IOC 从单例池中获取Bean概述getSingletonisSingletonCurrentlyInCreationgetObjectForBeanInstancegetObjectFromFactoryBeandoGetObjectFromFactoryBeanisSingletonCurrentlyInCreation总结概述在doGetBean方法当中,处理完bename...

2020-05-01 20:18:53 2027

原创 spring IOC bean的加载流程

概述在前面的学习当中,我们了解了spring的资源加载策略,知道了spring如何将资源封装为Resource并且利用ResourceLoader加载Resource资源,然后解析Resource资源,将其装换为保存在spring内部的元数据BeanDefinition。前面做的所有工作都是在为IOC容器开始Bean的加载所做的准备。IOC容器的作用如上图所示,它通过加载元数据,然后将其解析...

2020-05-01 20:03:22 299

原创 超详细LinkedHashMap解析

文章目录LinkedHashMap概述LinkedHashMap原理主要元素构造函数维护链表的操作afterNodeRemovalafterNodeAccessafterNodeInsertionget操作put操作HashMap#putVal(...)Remove操作HashMap#removeNode(...)LinkedHashMap用作实现LRU总结LinkedHashMap概述pub...

2020-04-30 00:05:17 54594 12

原创 超细致ConcurrentHashMap解析

文章目录ConcurrentHashMap概述JDK1.8下的ConcurrentHashMap概述主要变量get操作get(Object key)put操作put(K key, V value)putVal(...)扩容tryPresize数据迁移transfer其他方法treeifyBinresizeStamphelpTransfer总结ConcurrentHashMap概述这个Map是由...

2020-04-29 18:20:08 271

原创 Spring IOC-资源加载策略

文章目录统一资源接口AbstractResourceFileSystemResource统一资源定位:ResourceLoaderResourceLoader 类图DefaultResourceLoaderProtocolResolverFileSystemResourceLoaderResourcePatternResolverPathMatchingResourcePatternResolve...

2020-04-27 14:13:01 360

原创 leetcode457环形数组循环

给定一个含有正整数和负整数的环形数组 nums。 如果某个索引中的数 k 为正数,则向前移动 k 个索引。相反,如果是负数 (-k),则向后移动 k 个索引。因为数组是环形的,所以可以假设最后一个元素的下一个元素是第一个元素,而第一个元素的前一个元素是最后一个元素。确定 nums 中是否存在循环(或周期)。循环必须在相同的索引处开始和结束并且循环长度 > 1。此外,一个循环中的所有运动都必...

2020-04-27 11:39:44 157

原创 leetcode456 132模式

给定一个整数序列:a1, a2, …, an,一个132模式的子序列 ai, aj, ak 被定义为:当 i < j < k 时,ai < ak < aj。设计一个算法,当给定有 n 个数字的序列时,验证这个序列中是否含有132模式的子序列。注意:n 的值小于15000。示例1:输入: [1, 2, 3, 4]输出: False解释: 序列中不存在132模式的子...

2020-04-27 11:38:15 208

原创 java8-函数式接口

文章目录函数式接口概念格式@FunctionalInterface注解自定义函数接口函数式编程lambda的延迟执行Lambda作为参数和返回值默认函数式接口Supplier接口Consumer接口Predicate接口Function接口函数式接口概念有且只有一个抽象方法的接口,函数式接口,即适用于函数式编程场景的接口。而Java中的函数式编程体现就是Lambda,所以函数式接口就是可以...

2020-04-27 01:29:10 127

原创 利用selenium写一牛客网面经的爬虫

使用的库使用到了selenium库和BeautifulSoup这两个库.要想使用这个程序就要首先在安装这两个库.对于selenium来说,还要安装webDriver,这个分别按照自己的浏览器来安装.我使用的是Chrome.为什么要用selenium呢?因为牛客网的面经展示页面时根据滚动条的移动利用ajax动态加载的,没有翻页,最方便的方式就是利用selenium访问网站,等到资源加载完成之后...

2020-04-24 14:11:03 987 6

原创 leetCode229求众数II

给定一个大小为 n 的数组,找出其中所有出现超过 ⌊ n/3 ⌋ 次的元素。说明: 要求算法的时间复杂度为 O(n),空间复杂度为 O(1)。示例 1:输入: [3,2,3]输出: [3]示例 2:输入: [1,1,1,3,3,2,2,2]输出: [1,2]思路一:摩尔投票法,采取和求超过1/2的众数的同样的方法。首先考虑众数的个数,由于去的1/3,说明众数最多只会出现两个。...

2020-04-24 11:44:15 193

原创 HashTable详解

文章目录HashTable概述HashTable结构HashTable原理解析重要字段构造方法get操作get(Object key)put操作put(K key, V value)addEntry(...)Remove操作remove(Object key)扩容rehash()其他重要方法hashcode()containsValue(Object value)HashTable和HashMap...

2020-04-23 23:16:49 783

原创 超详细HashMap解析

文章目录HashMap概述hash表知识复习HashMap整体架构HashMap原理解析重要字段构造方法get操作put操作put(K key, V value)putVal(...)删除操作remove(Object key)removeNode(...)扩容resize()其他重要的方法hashtableSizeFor(int cap)该方法用于找出不小于cap的最小2的幂。treeifyBi...

2020-04-23 18:40:44 448

原创 集合容器--容器总体架构

容器总体结构java的容器具有如下的架构层次:java的容器主要由两个主要的接口Collection和Map组成Collection(接口)├──List(接口)│  ├──LinkedList(实现类)│  ├──ArrayList(实现类)│  └──Vector(实现类)│      └──Stack(实现类)└──Set(接口) ├──TreeSet(实现类)...

2020-04-22 16:46:33 111

原创 KMP算法详解

什么是KMP算法KMP算法是用来进行模式匹配的一种算法。比如:什么是KMP算法KMP算法是用来进行模式匹配的一种算法。比如:我们需要在蓝色字符串中找到黄色字符串。对于模式字符串匹配最简单的方法就是幼稚模式串匹配算法发现不匹配指针回溯:这个算法效率很低。KMP算法可以做到仅仅模式串后移,指针回溯。KMP算法原理如果出现了不匹配,但是我们发现箭头前面的部分是匹...

2020-04-22 14:24:40 177

原创 Category

文章目录java基础基础知识集合容器JVMjava并发杂项数据库数据库基础sqlmysql框架Springjava基础基础知识java基础–面向对象java基础–基础数据类型java基础–java中的关键字java基础–String类集合容器JVMjava并发杂项数据库数据库基础sqlmysql框架SpringSpring源码–解决循环依赖...

2020-04-21 23:23:08 126

原创 java基础--String类

java lang包里面被问到最多的类了。在java当中字符串属于对象。String类常用创建的方法(1) String s1 = “mpptest”(2) String s2 = new String();(3) String s3 = new String(“mpptest”)String常用方法的实现String的域变量: /** The value is us...

2020-04-20 21:40:56 91

原创 java基础--java中的关键字

final关键字final关键字在java中使用非常广泛,可以申明成员变量、方法、类、本地变量。一旦将引用声明为final,将无法再改变这个引用。final关键字还能保证内存同步 。final的使用final变量有成员变量或者是本地变量(方法内的局部变量),在类成员中final经常和static一起使用,作为类常量使用。其中类常量必须在声明时初始化,final成员常量可以在构造函数初...

2020-04-20 21:39:45 169

原创 java基础--java基础数据类型

java的基本数据类型java的基本数据类型有8种。byte:byte 数据类型是8位、有符号的,以二进制补码表示的整数;最小值是 -128(-2^7);最大值是 127(2^7-1);默认值是 0;byte 类型用在大型数组中节约空间,主要代替整数,因为 byte 变量占用的空间只有 int 类型的四分之一;例子:byte a = 100,byte b = -50。sh...

2020-04-20 21:38:36 76

原创 java基础--面向对象

什么是面向对象面向对象简称 OO(Object Oriented),面向对象分析(OOA)、 面向对象设计(OOD)、面向对象程序设计(OOP)对语言来说,一切皆是对象。把现实世界中的对象抽象地体现在编程世界中,一个对象代表了某个具体的操作。一个个对象最终组成了完整的程序设计,这些对象可以是独立存在的,也可以是从别的对象继承过来的。对象之间通过相互作用传递信息,实现程序开发。面向对象...

2020-04-20 21:35:22 84

原创 Spring源码--解决循环依赖

Spring解决循环引用循环引用是指以下情况:@Component("TestService1")public class TestService1 { @Autowired TestService2 testService2; public TestService1(){ System.out.println("construct TestService1"); }...

2020-04-20 21:32:28 179

原创 JUC之ThreadFactory学习

今天在看netty源码的时候,在netty创建NioEventLoopGroup的时候最后会用到这个类,所以就顺便学习一下这个类。首先看到这个类不得不想起设计模式中的工厂设计模式:工厂模式是最常用的模式之一,它可以把对象创建工作集中化,好处大家都知道:改变对象的创建方式将会变得很容易,而且可以控制创建对象的数量。-ThreadFactory源码:package java.util.co...

2019-11-07 21:26:25 120

原创 JDK源码学习-----java.lang.Object

概述/** * Class {@code Object} is the root of the class hierarchy. * Every class has {@code Object} as a superclass. All objects, * including arrays, implement the methods of this class. * * @auth...

2019-11-02 16:14:31 334

原创 使用dubbo仿猫眼微服务架构实战 第三天

用户模块开发业务总结存在的问题1. 必须先启动服务提供者,就是必须先启动user,然后才能启动gateway。不然会报错。这是由于dubbo的特性之一,启动检查:(1)服务启动过程中验证服务提供者的可用性(2)如果验证过程中出了问题 ,那么dubbo会阻止spring的启动(3)dubbo并不建议关闭这个功能,它可以尽可能早的发现服务问题解决办法: 关闭对于user模块的启动检...

2019-10-26 14:40:27 364 1

原创 使用dubbo仿猫眼微服务架构实战 第二天

用户模块开发dao层代码生成guns为我们提供了自动的dao接口代码生成器。到user模块的test文件夹中找到generator包中的EntityGeneragtor。然后对其中的信息进行修改。主要是一些目录和数据库的配置信息。目录信息就配置为工程的java目录。gc.setOutputDir("D:\\IDEA_project_new\\guns\\guns-user\\src\\ma...

2019-10-24 15:27:10 387

原创 使用duboo仿猫眼微服务架构实战 第一天

业务架构构建API网关介绍API网关类似于Facade模式。API网关的具体作用1.身份验证与安全类似于防火墙作用,理论上可以认为API网关之后的所有操作和文件都是安全的。2.审查和检测对用户的行为做一个记录。本值上就是处理一些边缘数据。3.动态路由在cloud中用到了。主要是用于服务和接口的映射4.压力测试针对于高并发的场景,实现阶梯型的压力测试,即慢慢加大并发5.负载...

2019-10-24 10:16:01 522

原创 ThreadLocal学习笔记

ThreadLocal是用来干什么的ThreadLocal是每个线程自己维护的一个存储对象的数据结构,线程间互不影响实现线程封闭。一般我们通过ThreadLocal对象的get/set方法存取对象。每个线程都保持对其线程局部变量副本的隐式引用,只要线程是活动的并且ThreadLocal实例是可访问的;在线程消失之后,其线程局部实例的所有副本都会被垃圾回收(除非存在对这些副本的其他引用)....

2019-10-23 16:53:10 73

原创 LeetCode刷题记录10.6

第101题对称二叉树给定一个二叉树,检查它是否是镜像对称的。例如,二叉树 [1,2,2,3,4,4,3] 是对称的。 1 / \ 2 2 / \ / \3 4 4 3但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的: 1 / \ 2 2 \ \ 3 3递归的方法: publi...

2019-10-06 13:44:15 82

原创 LeetCode刷题记录9.29

第46题 全排列(重点)给定一个没有重复数字的序列,返回其所有可能的全排列。示例:输入: [1,2,3]输出:[ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1]]java解法:public class Permutations46 { public List<List<Integ...

2019-09-29 17:29:49 72

原创 LeetCode刷题记录9.28

第54题 螺旋矩阵题目描述:给定一个包含 m x n 个元素的矩阵(m 行, n 列),请按照顺时针螺旋顺序,返回矩阵中的所有元素。示例 1:输入:[ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ]]输出: [1,2,3,6,9,8,7,4,5]示例 2:输入:[ [1, 2, 3, 4], [5, 6, 7, 8], [9,10,...

2019-09-28 17:12:37 106

空空如也

空空如也

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

TA关注的人

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