摘要:
GitHub:https://github.com/JDawnF一、TCP协议: 位于传输层, 提供可靠的字节流服务。所谓的字节流服务(Byte Stream Service) 是指, 为了方便传输,... 阅读全文
摘要:
在前面的这篇文章中介绍了线程池的相关知识,现在我们来看一下跟线程池相关的框架--Executor。一.什么是Executor1.Executor框架的两级调度模型在HotSpot VM的线程模型中,Java线程(... 阅读全文
摘要:
前言:像我们连接数据库一样,需要不断地创建连接,销毁连接,如果都是人为地一个个创建和销毁的话会很费劲,所以就诞生了数据库连接池,线程池的产生也是同样的道理。线程池预先创建了若干数量的线程,并且不能由用户直接对线程... 阅读全文
摘要:
一.对象头包含的信息1.Mark Word:这一部分主要包括 存储对象自身的运行时数据,如哈希码(HashCode)、 GC分代年龄、 锁状态标志、 线程持有的锁、 偏向线程ID、 偏向时间戳等。注意这里的1bi... 阅读全文
摘要:
一.对象的创建1.类加载检查和分配内存虚拟机遇到一条new指令时,首先将去检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已被加载、 解析和初始化过。 如果没有,那必须先... 阅读全文
摘要:
GitHub:https://github.com/JDawnF目录一.什么是Redis二.RedisTemplate及其相关方法三.RedisTemplate操作Redis数据库的具体例子四.RedisTemp... 阅读全文
摘要:
一.运行时数据区域有哪些?首先,我们先来看一张图:如上面的图所示,运行时内存区域主要分为:1.程序计数器,2.Java虚拟机栈,3.本地方法栈,4.Java堆,5.方法区等等,下面就一个个来剖析一下。二.这些区域... 阅读全文
摘要:
一.前言: 在很多情况下,我们都是通过主线程创建并启动子线程的,如果子线程中需要耗费大量的时间计算的话,主线程往往会比子线程先结束,这个时候就会导致有时候主线程想获取子线程计算之后的结果,但是却获取不... 阅读全文