对Content-type的理解? 发表于 2020-11-12 | 分类于 计算机网络 字数统计: 2.1k | 阅读时长 ≈ 10 [TOC] Content-Type是指http/https发送信息至服务器时的内容编码类型,contentType用于表明发送数据流的类型,服务器根据编码类型使用特定的解析方式,获取数据流中的数据。 一:application/x-www-form-urlencoded 主要用于如下:urlenc ... 阅读全文 »
编程中如何使用CPU缓存? 发表于 2020-11-12 字数统计: 154 | 阅读时长 ≈ 1 CPU缓存会把一片连续的内存空间读入, 因为数组结构是连续的内存地址,所以数组全部或者部分元素被连续存在CPU缓存里面, 平均读取每个元素的时间只要3个CPU时钟周期。 而链表的节点是分散在堆空间里面的,这时候CPU缓存帮不上忙,只能是去读取内存,平均读取时间需要100个CPU时钟周期。 这样算 ... 阅读全文 »
redis分布式锁剖析 发表于 2020-11-12 | 分类于 redis 字数统计: 408 | 阅读时长 ≈ 1 如何用Redis实现分布式锁? 1https://juejin.im/post/6844903616667451399 加锁 12345678910String threadId = Thread.currentThread().getId()if ... 阅读全文 »
双亲委派剖析 发表于 2020-11-08 | 分类于 Java虚拟机 字数统计: 1.5k | 阅读时长 ≈ 6 [TOC] 定义双亲委派模型要求除了顶层的启动类加载器外,其余的类加载器都应当有自己的父类加载器。 双亲委派模型的工作过程是: 如果一个类加载器收到了类加载的请求,它首先不会自己去尝试加载这个类,而是把这个请求委派给父类加载器去完成。 每一个层次的类加载器都是如此。因此,所有的加载请求最终都应该传 ... 阅读全文 »
逃逸分析 发表于 2020-11-08 | 分类于 Java虚拟机 字数统计: 2k | 阅读时长 ≈ 7 [TOC] 在Java的编译体系中,一个Java的源代码文件变成计算机可执行的机器指令的过程中,需要经过两段编译,第一段是把.java文件转换成.class文件。第二段编译是把.class转换成机器指令的过程。 第一段编译就是javac命令。 在第二编译阶段,JVM 通过解释字节码将其翻译成对应的机 ... 阅读全文 »
G1相关补充 发表于 2020-11-07 | 分类于 Java虚拟机 字数统计: 2k | 阅读时长 ≈ 7 [TOC] G1收集概览: G1算法将堆划分为若干个区域(Region),它仍然属于分代收集器。不过,这些区域的一部分包含新生代,新生代的垃圾收集依然采用暂停所有应用线程的方式,将存活对象拷贝到老年代或者Survivor空间。老年代也分成很多区域,G1收集器通过将对象从一个区域复制到另外一个区域,完 ... 阅读全文 »
泛型问题 发表于 2020-11-07 | 分类于 Java基础 字数统计: 869 | 阅读时长 ≈ 3 [TOC] 1. 概述泛型指的是可以将类型作为参数进行传递,其本质上就是类型参数化。比如:我们平时定义一个方法的时候,常会指定要传入一个具体类对象作为参数。而如果使用泛型,那么这个具体传入类的对象,就可以指定为某个类型,而不必指定具体的类。也就是我们将某个类型作为参数进行传递了。 1234/ ... 阅读全文 »
TLAB是什么 发表于 2020-11-07 | 分类于 Java虚拟机 字数统计: 237 | 阅读时长 ≈ 1 [TOC] TLAB (Thread Local Allocation Buffer,线程本地分配缓冲区)是 Java 中内存分配的一个概念,它是在 Java 堆中划分出来的针对每个线程的内存区域,专门在该区域为该线程创建的对象分配内存。它的主要目的是在多线程并发环境下需要进行内存分配的时候,减少线 ... 阅读全文 »
final关键字 发表于 2020-11-07 | 分类于 Java基础 字数统计: 205 | 阅读时长 ≈ 1 finalfinal 类不能被继承,所有成员方法都会被隐式地指定为 final 方法,final 方法不能被重写。 final 变量表示常量,只能被赋值一次,赋值后值不再改变。 修饰基本数据类型时,该值在初始化后不能改变。 修饰引用类型时,引用指向的对象在初始化后不能改变,但该对象的内容可以发生变 ... 阅读全文 »
ReentrantReadWriteLock剖析 发表于 2020-11-07 | 分类于 并发编程 字数统计: 4.2k | 阅读时长 ≈ 17 [TOC] 一、读写锁简介 现实中有这样一种场景:对共享资源有读和写的操作,且写操作没有读操作那么频繁。在没有写操作的时候,多个线程同时读一个资源没有任何问题,所以应该允许多个线程同时读取共享资源;但是如果一个线程想去写这些共享资源,就不应该允许其他线程对该资源进行读和写的操作了。 针对这种场景 ... 阅读全文 »