九章 九章
3年前
一 java线程的等待/通知模型
java中线程之间的通信问题,有这么一个模型:一个线程修改了一个对象的值,而另一个线程感知到了变化,然后进行相应的操作,整个过程开始于一个线程,而最终执行又是另一个线程。前者是生产者,后者就是消费者,也可以叫做生产者消费者问题生产者生产了产品,如何通知消费者?下面就介绍下java线程中的等待通知机制。其它语言类似,自行研究。代码附上下面是以买小
专注IP定位 专注IP定位
3年前
“挂图作战”技术篇之网络测量
随着互联网的不断发展,网络由最初的单纯数据传送发展到多媒体信息传送。这一演变过程就使得网络流量的形式发生了极大的变化。许多专家提出应当更加深入地认识现有互联网的内在机制,而认识事物的第一步就是要测量它,并用数字表示出来。由此,“网络测量”这个研究领域应运而生。网络测量的概念人们对网络进行研究的最终目的是为了建立高效、稳定、安全、互操作性强、可预测以及可控制
Wesley13 Wesley13
3年前
unity 序列化和反序列化
什么是序列化和反序列化(1)序列化是指把对象转换为字节序列的过程,而反序列化是指把字节序列恢复为对象的过程;. (2)序列化:对象序列化的最主要的用处就是在传递和保存对象的时候,保证对象的完整性和可传递性。序列化是把对象转换成有序字节流,以便在网络上传输或者保存在本地文件中。序列化后的字节流保存了对象的状态以及相关的描述信息。序列化机制
Stella981 Stella981
3年前
Executor框架详解
任务是一组逻辑工作单元,线程是使任务异步执行的机制。下面分析两种通过创建线程来执行任务的策略。1将所有任务放在单个任务中串行执行;2为每个任务创建单独的线程来执行实际上两种方式都存在一些严重的缺陷。串行执行的问题在于其糟糕的响应和吞吐量;而为每个任务单独创建线程的问题在于资源管理的复杂性,容易造成资源的浪费和过度消耗,影响系统的稳定性。为了提
Stella981 Stella981
3年前
Spring Cloud分布式微服务云架构源码分析 — Eureka
在看具体源码前,我们先回顾一下之前我们所实现的内容,从而找一个合适的切入口去分析。首先,服务注册中心、服务提供者、服务消费者这三个主要元素来说,后两者(也就是Eureka客户端)在整个运行机制中是大部分通信行为的主动发起者,而注册中心主要是处理请求的接收者。所以,我们可以从Eureka的客户端作为入口看看它是如何完成这些主动通信行为的。我们在将一个普通的
Wesley13 Wesley13
3年前
Java并发系列3
考虑这样的场景:我司出了一款新游戏,因模式新颖、宣传到位,导致游戏开服火爆,每次新开一个服务器就会一下涌入大量玩家。假如一个线路服务器的承载力上限是5000,那么我们该通过什么机制进行资源调配呢?比较容易想到的方法就是给每个玩家发许可证,同时一个服务器的许可证上限为5000,这样的话,许可证超出上限则玩家需要排队。今天我们讲的并发工具就如同代码层
Wesley13 Wesley13
3年前
C++多态性与虚函数
  派生一个类的原因并非总是为了继承或是添加新的成员,有时是为了重新定义基类的成员,使得基类成员“获得新生”。面向对象的程序设计真正的力量不仅仅是继承,而且还在于允许派生类对象像基类对象一样处理,其核心机制就是多态和动态联编。(一)多态性  多态是指同样的消息被不同的对象接收时导致不同的行为。所谓消息是指对类成员函数的调用,不同的行为是指的不同的实现
Stella981 Stella981
3年前
Node.js 应用故障排查手册 —— 综合性 GC 问题和优化
楔子本章前面两节生产案例分别侧重于单一的CPU高和单一的内存问题,我们也给大家详细展示了问题的定位排查过程,那么实际上还有一类相对更复杂的场景——它本质上是V8引擎的GC引发的问题。简单的给大家介绍下什么是GC,GC实际上是语言引擎实现的一种自动垃圾回收机制,它会在设定的条件触发时(比如堆内存达到一定值)时查看当前堆上哪些对象已
Stella981 Stella981
3年前
GOT段在linux系统中实现代码动态加载的作用和其他段的说明
上一节我们看到,当程序想调用系统函数时,在编译阶段无法确认被调用函数所在的虚拟地址。因此必须有机制让程序在运行过程中,在调用系统API的时候有办法去确定所调用的系统函数对应的入口地址,这就是代码运行时对应动态加载的过程。动态加载,也就是在调用系统函数时再去确认所调用的函数地址的技术需要使用两个段,一个是.plt段,一个是.got.plt段。后者其实是.g
Wesley13 Wesley13
3年前
Java基础知识笔记
Java基础知识笔记6继承6继承继承是一种由已创建的类创建新类的机制,利用继承,我们先创建一个共有属性的一般类,根据一般类再创建具有特殊属性的新类,新类继承一般类的状态和行为,并根据需要增加他自己新的状态和行为,由继承得到的类称为子类,被继承的称为父类。Java中,一个子类只能继承一个父类,不支持多重继承;1继承的基