自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 hashmap keyset 原理,我们都被idea骗了

hashmap的源码一直很好奇,今天开始看了,看到keyset()卡壳了。凭什么是这样的结果呢?难道是keyset()有将键值添加到set中?如此简单,跟踪到父类的构造函数也全都是空空的。那么凭什么keyset在ks = new KeySet();之后就显示成列表了呢? public Set<K> keySet() { Set<K> ks = keySet; if (ks == null) { ks = n.

2020-12-08 18:20:19 404

原创 spring-cloud--security /oauth/token 报错401

微服务简单案例可以参照使用Spring Cloud Security OAuth2搭建授权服务。spring-cloud--security /oauth/token 报错401。错误信息如下:java.lang.IllegalArgumentException: There is no PasswordEncoder mapped for the id "null"在网上看了好...

2019-11-17 19:11:08 1490 1

原创 spring cloud gateway入门案例(先跑起来)

目的:我们的目的是从初学者的角度,用gateway跑helloworld1.创建springboot工程首先利用idea 创建springboot工程。我是先创建了一个gate-parent工程,然后删掉了src作为父工程,然后创建了一个gate-way和web的子模块。gate-way:网关工程web:普通的web工程2.gate-way工程引入依赖引入网关的依赖 <dependency> <groupId>org.springframework..

2021-03-18 17:23:33 443

原创 为什么要用Spring Cloud Gateway

1.有了nginx为什么还需要网关?网关的主要作用有 路由转发 + 过滤器,而nginx只有转发功能。我们把网关看做一个微服务的统一入口,可以进行鉴权、控制、监控、限流等功能。2.为什么使用spring gateway?spring gateway是基于netty 上的,是面向非阻塞IO的,可以应对更高的并发。...

2021-03-18 16:55:17 782

原创 web服务器 应用服务器 容器理解

一直以来对这三个概念不甚了解。今天写写心得,详细的看连接How web servers work?。亮观点:nginx属于web服务器,tomcat属于应用服务器,tomcat也同时是servlet容器。web服务器:偏向于http静态资源,并发高。比如我们经常使用nginx来访问静态资源。应用服务器:偏向于动态资源,并发低。比如使用tomcat访问jsp等动态资源。servlet容器:servlet运行的环境。如tomcat正是一个servlet容器。为什么我们会困惑呢?就是因为历史大发展所致

2020-07-21 13:27:23 179

原创 汇编语言实验10(2) 入门级视野

(2)解决除法溢出的问题问题的精髓在于理解X / N = int(H / N) * 65536 + [rem( H / N) * 65536 + L] / NH / N 有什么特点?最大的特点就是它的余数不能被N整除。这有什么意义?我们来看看除法的过程。大家思考一下这个简单的除法,1位高位,20位低位。H / N想要继续除法,必须要借位对吧。也就是说(H % N) * 10 + 20 除以3的结果肯定是两位数可以容纳的。同理,对于十六进制呢?我们可以将32位的被除数,分成上图中的高、低16位。

2020-07-05 23:58:51 168

原创 汇编语言实验10(1) 入门级视野

1.显示字符串assume cs:codedata segment db 'welcome to masm!',0data endscode segment start: mov dh,8 mov dl,3 ;dh为显示的行号,dl为显示的列数。即显示在8行3列处 mov cl,2 ;颜色为绿色 mov ax,data mov ds,ax ;加载data段地址 mov si,0 call show_str mov ax,4c00h int 21h

2020-07-05 18:17:36 209

原创 汇编语言-实验9

assume cs:codedata segment db 'welcome to masm!' db 2,24h,71hdata endsstack segment db 16 dup(0)stack endscode segment start: mov ax,data mov ds,ax ;加载data首地址到ds段寄存器 mov ax,stack mov ss,ax ;加载stack首地址到es寄存器,用来存放颜色 mov sp,16

2020-07-01 23:28:18 127

原创 jdk性能分析

jprofiler:Jprofiler基本使用

2020-06-11 23:49:23 190

原创 angularjs笔记-angular.module模块理解

1.ng-app的作用

2020-05-23 22:34:15 560

原创 如何实现javascript的循环异步请求

javascript 循环 异步 同步

2020-03-22 18:55:38 1156

原创 理解常量池

在理解常量值之前我们先了解几个基本概念。1.字面量:可以理解为实际值,int a = 8中的8和String a = "hello"中的hello都是字面量。2.符号引用:符号引用就是一个字符串。解析后就成了能直接定位到这个字符串要表示的内容的指针了。可参考JVM里的符号引用如何存储?。可以利用javap -verbose ByteCode.class看到上一篇文章的效果。3.直接引用:是...

2019-09-21 09:35:40 566

原创 JVM内存布局-堆

码出高效学习过程中的心得。1.什么是堆(Heap)?堆存储着所有的实例对象,堆由垃圾回收器自动回收,堆区由各子线程共享使用。堆分为新生代(Young)、老年代(Old)。2.对象出生在哪里?对象出生于新生代Eden区。3.什么是YGC?Eden区装满的时候,触发YGC(Young Garbage Collection)。垃圾回收时在Eden区实现清楚策略,没有被引用的对象直接回...

2019-09-19 10:49:04 97 1

原创 类加载过程的疑问

1.什么是类加载?直白的说,类加载就是将class文件读取到内存中,生成java.lang.Class实例。并完成类型合理性校验,初始化的过程。2.类加载的作用?3.类加载的方式1.命令行启动JVM初始化加载2.Class.forName()加载。DBC 4.0 Drivers 之后可以不进行配置。详细参见:JAVA拾遗–关于SPI机制,这篇文章很有营养。3.ClassLoader....

2019-09-19 08:58:03 101

原创 序列化与持久化的区别,简单、直白、深刻

今天学习到了序列化,但是却疑惑和持久化的区别。记录下心得。如有错误,欢迎指正,持续更新。我们先看看定义:内存中的数据对象只有转换成二进制才可以进行数据持久化和网络传输。序列化:将对象转换成二进制流的过程。反序列化:将二进制流恢复成数据对象的过程。持久化:将数据对象保存在介质上。二者的程度不同。序列化将对象转换成二进制流,持久化将对象转换成介质数据(先转成二进制再持久化)。目的...

2019-09-15 11:08:27 821

原创 TCP断开连接的四次挥手

之前学习了TCP建立连接的三次握手,现在来学习一下TCP断开连接的四次挥手。简单描述一下TCP断开连接的原理。下面是我自己的理解图。这里是比较官方的图。重点说一下各个状态把:established:建立连接状态FIN_WAIT_1:客户端关闭等待FIN_WAIT_2:客户端关闭等待TIME_WAIT:...

2019-09-14 11:56:43 259

原创 外行学习TCP建立连接三次握手

转行快两年了,但是一直浑浑噩噩的,最近奋发图强了。恶补一下基础,对于TCP三次握手的认识模模糊糊,只是听说的状态。写一些从小白到理解的心得。首先应该知道为什么要进行三次握手?1.信息确认。双方确认是否有收发能力。2.防止请求超时导致脏连接。 图1 新垣结衣1 图2 新垣结衣1 ...

2019-09-14 10:23:27 184

原创 内部类的分类及特点

最近看到好多源码中都有内部类的存在,比如ThreadLocal、HashMap中都是这样。也了解到在jdk源码中,静态内部类较为常见。了解内部类是很有必要的。为什么要使用内部类?可以去看下这篇文章链表为什么使用内部类实现。1.内部类可以访问其所在类的私有属性和方法2.不希望除了所属的外部类使用外的其他类进行访问,内部类可以隐藏起来3.可以联合外部类解决多继承问题内部类总共有以下四...

2019-09-13 15:41:19 479

空空如也

空空如也

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

TA关注的人

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