Forwarding References0 码力 | 107 页 | 3.72 MB | 1 年前3
Java 源码剖析——彻底搞懂Reference 和ReferenceQueue0国际(CC BY-SA 4.0) 之前博主的一篇读书笔记——《深入理解Java虚拟机》系列之回收对象算法与四种引用类型博客中为家介绍了Java中的四种引用类型,很多同学都希望能够对引用,还有不同类型引用的原理进行更深入了解。因此博主查看了抽象父类Reference和负责注册引用对象的引用队列ReferenceQueue的源码在此和大家一起分享,并做了一些分析,感兴趣的同学可以一起学习。 ## Reference源码分析 一个构造函数带需要注册到的引用队列,一个不带。`queue`的意义在于我们以吃从外部通过对queue的操作来了解到引用实例所指向的实际对象是否被回收了,同时我们也可以过queue对引用实例进行一些额外的操作;但如果我们的引用实例在创建时没有指定一个引用队列,我们要想知道实际对象是否被回收,就只能够不停地轮询引用实例的get()方法是否为空了。值得注意的是虚引用Phantom e类也被称为引用类,它的实例 Reference Instance就是引实例,但是由于它是一个抽象类,它的实例只能是子类软(soft)引用,弱(weak)引用,虚(phantom)引用的某个,至于引用实例所引用的对象我们称之为实际对象(也就是我们上面所写出的referent)。 volatile ReferenceQueue queue; /* 引用对象队列 */0 码力 | 6 页 | 283.24 KB | 2 年前3
Reference manual for FPDoc Document version 3.2.20 码力 | 47 页 | 196.25 KB | 2 年前3
2.2.2 深入理解BFEcf13f/p1_1.jpg) 章淼 百度智能云 架构师 ## 什么是BFE? • 百度统一的七层流量转发平台 • HTTP, HTTPS, HTTP/2, QUIC • 2012年开始建设 • 每日转发请求约1万亿,日峰值超过1KW QPS • 2019年,核心转发引擎对外开源 • BFE => Beyond Front End • https://github.com/bfenetworks/bfe 没有统一七层接入的问题 • 功能重复开发 • 运维成本高 • 流量统一控制能力低 • 引入BFE后 • 功能统一开发 • 运维统一管理 • 流量控制能力增强 • BFE平台的主要功能 • 接入和转发,流量调度,安全防攻击,数据分析 ## BFE部署前  ## BFE主要设计思想 · 转发模型优化 · 支持多租户 • 引入条件表达式,减少正则表达式使用 - 降低动态配置加载的难度 - 区分“常规配置”和“动态配置” • 增强服务状态监控能力 • 向外展现大量内部的执行状态0 码力 | 26 页 | 1.78 MB | 2 年前3
make & MakefileUniversity ## make & Makefile 程序的编写步骤 • 依赖关系图 工程管理与 make make 的工作原理 规则与依赖关系 通配符的使用 • 变量的定义和引用 • 自动变量 模式规则 • Makefile 的结构 make 命令参数与选项 • 常见的错误 • 依赖关系的自动生成 • Turbo C 的 make 与 make 相关的命令 o目标与lex.h相关。要实现这样的关联可以通过`Makefile`更强大的内置函数功能实现: $(subst .c,.o,*.c): lex.h 注意:.c,.o中间没有空格! ## 变量的定义和引用 • Makefile支持强大的变量定义,并且提供许多内置变量,同时还具有宏定义和函数定义等功能,这些使得make能产生奇效; 变量的定义文法如下: $$ \begin{aligned}&a (Simply Expanded Variable), 两者的区别: 如果value中如果出现变量的引用, 该引用是在var_name定义时就展开 (simply), 还是在下文引用var_name时才展开 (recursively), 因此如果value中没有变量引用, 两者效果一样; • 变量的引用格式如下: $$ \begin{aligned}&\=\{var\_{n}ame\}\quad0 码力 | 36 页 | 975.98 KB | 2 年前3
C++高性能并行编程与优化 - 课件 - 12 从计算机组成原理看 C 语言指针C 语言有 int* 这种指针类型,C++ 中还新增了 int& 这种引用类型。引用和指针是一样的,只是包装了一层语法糖,唯二的区别是:他不需要手动写 & 和 * 运算符;他的拷贝是导致他指向的值拷贝,而不是对门牌号的拷贝。 • 但是 C++ 的 int&& 并不是二级指针,而是右值引用,之后的课里会讲到。 ## 实验:你的电脑是大端还是小端? 如果说 p 是一个指向 [Image](/uploads/documents/0/9/6/3/0963fff64fa57377ee5925164d5ace9b/p60_1.jpg) ## C++ 的引用:无需手动 & 和 * • C++ 的引用类型 int& 本质无非是 int* 指针。 · 区别在于: - 他不需要手动 & 来创建。 • 他不需要手动 * 来创建。 - 他无法重新赋值,指向新的变量。 的)只需一个起始地址就能确定。 - 而动态长度的数组(通过 malloc 在堆上分配的)就需要起始地址和数组长度两个,才能确定下来,也就是 char* 和 int 两个。 - 所以要把动态数组的引用传给函数,需要有两个参数,一个指针加一个长度。 main.cpp #include#include #include void fillarr(char* 0 码力 | 128 页 | 2.95 MB | 2 年前3
Google C++ Style Guide0 码力 | 83 页 | 238.71 KB | 2 年前3
Lock-Free Atomic Shared Pointers Without a Split Reference Count? It Can Be Done!0 码力 | 45 页 | 5.12 MB | 1 年前3
Qcon北京2018-《以Null的处理、回调地狱的应对为例,看C#背后的问题解决思路》-Mads+Torgersen0 码力 | 32 页 | 2.66 MB | 2 年前3
《Java 应用与开发》课程讲义 - 王晓东111 10.1 集合概念及分类 ..... 112 10.1.1 集合和数组 ..... 112 10.1.2 集合类型 ..... 112 10.1.3 对 Java 集合中只能保存引用类型的数据的说明 ..... 113 10.1.4 集合相关 API 的关系 ..... 113 10.2 Collection 和 Map 接口 ..... 113 10.2.1 Collection 3.3 ServletConfig 功能和方法 ..... 256 20.4 转发和重定向 ..... 257 20.4.1 Web 跳转方式 ..... 257 20.4.2 实现转发 ..... 258 20.4.3 Servlet 之间共享数据的方法总结 ..... 258 20.4.4 转发与重定向的区别 ..... 259 20.5 课后习题 ..... 259 Servlet 类结构 ..... 213 16.2 Servlet 处理流程 ..... 216 19.1 使用 HttpSession 实现会话跟踪 ..... 249 20.1 重定向和转发的区别 ..... 259 23.1 JSP 的执行过程 …… 279 23.2 include 动作和指令的差异 …… 283 24.1 MVC 设计模式 …… 297 24.2 Strut20 码力 | 330 页 | 6.54 MB | 2 年前3
共 801 条
- 1
- 2
- 3
- 4
- 5
- 6
- 81













