九章 九章
4年前
一 java线程的等待/通知模型
java中线程之间的通信问题,有这么一个模型:一个线程修改了一个对象的值,而另一个线程感知到了变化,然后进行相应的操作,整个过程开始于一个线程,而最终执行又是另一个线程。前者是生产者,后者就是消费者,也可以叫做生产者消费者问题生产者生产了产品,如何通知消费者?下面就介绍下java线程中的等待通知机制。其它语言类似,自行研究。代码附上下面是以买小
Wesley13 Wesley13
3年前
IO模型(BIO,NIO,AIO)及其区别
BIO:同步阻塞IONIO:同步非阻塞IOAIO:异步非阻塞IO先弄清楚同步、异步,阻塞、非阻塞概念。io操作分为两部分,发起io请求,和io数据读写。阻塞、非阻塞主要是针对线程发起io请求后,是否立即返回来定义的,立即返回称为非阻塞io,否则称为阻塞io。同步、异步主要针对io数据读写来定义的,读写数据过程中不阻塞线程称为异步io
Stella981 Stella981
3年前
JVM内存模型和类加载机制
JVM内存模型Java代码是运行在Java虚拟机(JVM)上的,Java虚拟机通过解释执行(解释器)或编译执行(编译器)来完成。Java内存模型分为5个部分:方法区(MethodArea),Java堆(Heap),Java栈(VMStack),本地方法栈(NativeMethodStack),程序计数器(PC寄存器)!(ht
Stella981 Stella981
3年前
AV1解码器模型
这篇文章可以作为AV1规范中与解码器型号和级别有关的部分的简介,本文的其余部分描述了一些AV1基本概念,AV1解码器模型,并提供了开发它时做出决策的原因。有关解码器模型的更多详细信息,请阅读AV1规范。文/ AndreyNorkin原文链接:https://norkin.org/research/av1\_decoder\_
Stella981 Stella981
3年前
JVM(四)JVM的双亲委派模型
1、两种不同的类加载器  从JAVA虚拟机的角度来讲,只存在两种不同的类加载器:一种是启动类加载器(BootstrapClassLoader),这个类加载器使用C语言实现,是虚拟机自身的一部分;另一种就是所有其他的类加载器,这些加载器都由Java语言实现,独立于虚拟机外部,并且全都继承自抽象类java,lang.ClassLoader。
Wesley13 Wesley13
3年前
MongoDB数据模型设计的思考
Collection的单个doc有大小上限,现在是16MB,这就使得你不可能把所有东西都揉到一个collection里。而且如果collection结构过于复杂,既会影响查询、更新效率,也会造成维护困难和操作风险。你有尝试过手一抖就把一个doc不小心存成null的么,反正我做过,要是一个人所有信息都在这个collection里面,
HVV蓝队视角的技战法分析
一、背景1.HVV行动简介HVV行动是国家应对网络安全问题所做的重要布局之一。从2016年开始,随着我国对网络安全的重视,演习规模不断扩大,越来越多的单位都加入到HVV行动中,网络安全对抗演练越来越贴近实际情况,各机构对待网络安全需求也从被动构建,升级为业