自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

厚积薄发者,轻舟万重山

是时候出去走走了

  • 博客(186)
  • 资源 (1)
  • 收藏
  • 关注

原创 Intel lock前缀指令的屏障能力

Intel CPU手册上,关于lock前缀指令有序性的描述,或者说禁止处理器重排序的描述(主要是存储系统重排序)

2022-07-01 21:42:26 1123 1

转载 编译器重排序

Java volatile内存语义的实现,基于C/C++的volatile和内联汇编__asm__ volatile,hotspot x86中用来实现内存屏障的内联汇编语句常见两种形式:__asm__ volatile ("" : : : "memory")和__asm__ volatile ("lock; addl $0,0(%%rsp)" : : : "cc", "memory")。hotspot在不同平台实现内存屏障使用的内联汇编语句不相同,但都必须有内联汇编破坏寄存器条件“memory”。

2022-05-30 21:25:10 1229

原创 密钥协商算法Diffie-Hellman的Java实现

本文的思路是这样的:先了解Diffie-Hellman的流程原理,然后将其流程和Java的实现对应起来;理解了原理和Java实现的流程,再写应用代码进一步辅助验证,最后走一走源码流程中的相关细节,做最终验证;最后,再了解一下性能更好、安全性更高的ECDH(基于椭圆曲线来实现的Diffie-Hellman)

2022-03-03 22:37:15 4070 4

原创 PBE的随笔

PBE随笔

2022-02-17 11:24:41 3659

转载 Password-Based Encryption (PBE)

Password-Based Encryption (PBE)

2022-02-15 15:18:09 289

原创 java DES

目录概述 分组密码的模式 DES的Java代码 无模式 CTR模式示例 一、概述Java安全领域主要由JCA、JCE、JSSE、JAAS组成。其中JCA和JCE在jdk1.4中已经合并了,所以在后续的JDK版本中,摘要和常见的加密算法(例如DES)都可以在JDK中直接使用,主要是两个package——java.security和javax.crypto。引用:Java Cryptography Architecture (JCA) Reference Guide (oracle

2022-02-08 18:18:32 477 2

转载 Efficient data transfer through zero copy

Many Web applications serve a significant amount of static content, which amounts to reading data off of a disk and writing the exact same data back to the response socket. This activity might appear to require relatively little CPU activity, but it’s some

2022-01-05 21:53:09 127 1

原创 hotspot x86平台的内存屏障的实现

源码级分析:86平台上,hotspot内存屏障的实现和缓存一致性协议(例如MESI)是什么关系?

2021-12-15 17:39:45 1137 3

转载 Network Management

原文地址:Network Management — The Linux Kernel documentation (linux-kernel-labs.github.io)目录Network Management Overview Sockets Implementation Overview Sockets Families and Protocols Network processing phases Packet Routing Netfilter Network packets

2021-12-08 16:12:51 679

原创 【理论篇】数据链路层概述

数据链路层主要讨论两个信道五个协议。在简介之前,先捋清楚一些基本概念:链路:连接设备的物理线路,其范围相当于物理层的传输介质 数据链路:链路+链路上的通信协议所以在数据链路层,要讨论的两个信道,一个是点对点信道,一个是广播信道。对于点对点信道,主要讨论PPP协议。对于广播信道,局域网使用的就是广播信道,局域网有多个技术标准,我们主要讨论802.3以太网Ethernet V2(以太网第二版标准)及其协议CSMA/CD,802.11无线局域网WLAN及其协议CSMA/CA,连带VLAN介绍一

2021-10-21 15:27:20 882

原创 【理论篇】物理层

目录基本概念和通信模型 传输介质 信道复用 宽带接入技术物理层的知识比较偏通信原理,我个人觉得作为程序员,知道有这么回事儿,大概了解一下就可以了。一、基本概念和通信模型物理层主要是考虑如何在传输介质上数传输据比特流。物理层的通信模型概念很简单,深究起来搞不了。物理层通信模型:发送端 ——》传输网络——》接收端你要深究起来,就一个发送端,你要探究信号(模拟信号、数字信号)、调制解调器、信道、信号、带通信号(调频、调相、调幅)等,这些在那一大本《通信原理》里面都有。.

2021-10-21 15:08:59 171

原创 【理论篇】计算机网络基础

目录一、基本概念 二、因特网的发展和组成 发展 组成 三、计算机网络体系结构 OSI七层 TCP/IP四层 学习网络的五层 一、基本概念网络:设备通过链路互联组成网络互联网:多个这样的网络通过路由器互联组成互联网因特网:因特网是世界上最大的互联网。因特网和互联网的关系就好像实例和类的关系,因特网是互联网的一个“实例”。“网络把很多计算机连接在一起,而互联网则把很多网络连接在一起。”二、因特网的发展和组成1.发展第一阶段:单个网络向互联网发展

2021-10-21 14:43:07 1242

原创 overcommit_memory

目录overcommit_memory Overcommit Accounting CommitLimit and Committed_AS overcommit_kbytes orovercommit_ratioovercommit_memory:Documentation for /proc/sys/vm/ — The Linux Kernel documentationovercommit_memory这个vm参数用于控制malloc、mmap这些用于在进程虚拟地址空间申请虚拟..

2021-09-27 12:54:16 723

转载 Filesystem Management

原文地址:SO2 Lecture 08 - Filesystem Management — The Linux Kernel documentation (linux-kernel-labs.github.io)目录Filesystem Abstractions Filesystem Operations Mounting a filesystem Opening a file Querying file attributes Reading data from a file W

2021-09-25 13:10:12 256

转载 Memory Management

原文地址:SO2 Lecture 07 - Memory Management — The Linux Kernel documentation (linux-kernel-labs.github.io)目录Physical Memory Management Memory zones Non-Uniform Memory Access Page allocation Small allocations Virtual memory management Fault page.

2021-09-25 12:56:48 456

转载 Address Space

原文地址:Address Space — The Linux Kernel documentation目录X86 MMU Selectors Segment descriptor Segmentation in Linux x86 Paging Page tables Linux paging Translation Look-aside Buffer Linux address space Address space options for 32bit syste

2021-09-22 09:24:24 436

转载 Processes

原文地址:SO2 Lecture 03 - Processes — The Linux Kernel documentation目录Processes and threads Overview of process resources structtask_struct Threads The clone system call Namespaces and "containers" Accessing the current process Context switc.

2021-09-12 21:49:07 602

转载 What is a service mesh? And why do I need one?

原文地址:What's a service mesh? And why do I need one? (buoyant.io)Service meshes like Linkerd and Istio are tools for adding observability, security, and reliability features to applications by inserting them at the platform layer rather than the applicat

2021-09-04 18:18:40 262

转载 Pattern: Service Mesh

原文地址:Pattern: Service Mesh (philcalcado.com)目录What happened when we first started networking computers What happened when we first started with microservices The next logical step The Service MeshPattern: Service MeshAug 3, 2017• Microservice

2021-09-04 16:36:50 446

转载 System calls

原文地址:SO2 Lecture 02 - System calls — The Linux Kernel documentation (linux-kernel-labs.github.io)目录Lecture objectives Linux system calls implementation System call table System call parameters handling Virtual Dynamic Shared Object (VDSO) Acces

2021-08-30 12:18:39 415

转载 Linux kernel architecture

原文地址:Introduction — The Linux Kernel documentation (linux-kernel-labs.github.io)Linux kernel architecturearchArchitecture specific code May be further sub-divided in machine specific code Interfacing with the boot loader and architecture specif

2021-08-25 21:27:43 426

原创 【J2SE】hotspot中如何实现Object.hashCode

openjdk15中,Object.hashCode()方法实现的源码分析

2021-07-18 18:32:50 502 2

原创 【随笔】lambda基础

面向过程是抽象解题步骤;面向对象是抽象问题域中的实体;函数式编程是将行为参数化。行为参数化的含义是一段可以传递的代码。lambda基础有三个点:函数式接口 lambda表达式 方法的引用函数式接口@FunctionnalInterface只包含一个抽象方法的接口就叫做函数式接口。FunctionalInterface (Java SE 15 & JDK 15) (oracle.com)Conceptually, a functional interface h

2021-07-06 00:26:59 153

原创 【tree】二叉堆(大顶堆或小顶堆)

本文目录一、二叉堆的定义 二、二叉堆的插入 三、二叉堆的删除系列目录《树》 《树的遍历》 《二叉查找树》 《AVL》 《红黑树(上)》 《红黑树(下)》 《B树》 《B+树》 《大顶堆、小顶堆》一、二叉堆的定义二叉堆:首先是一棵二叉树,其次这棵二叉树要满足结构性质和堆序性质结构性质:是一颗完全二叉树 堆序性质:对于树中的任意节点,要求key大于它的两个孩子,两个孩子之间没有排序要求1.结构性质2.堆序性质

2021-06-26 21:35:03 1589 3

转载 【tree】B+树

本文目录一、B+树的定义 二、B+树的查找 三、B+树的插入 四、B+树的删除系列目录《树》 《树的遍历》 《二叉查找树》 《AVL》 《红黑树(上)》 《红黑树(下)》 《B树》 《B+树》 《大顶堆、小顶堆》本文转载自:一文彻底弄懂B树和B+树 (xianzilei.cn)一、B+树的定义B+树是B树的一种变形形式。网上各种资料上B+树的定义各有不同,一种定义方式是关键字个数和孩子节点个数相同。这里我们采取维基百科上所定义的方式,即关键字个数比孩子节点个

2021-06-26 14:09:58 758 1

转载 【tree】B树

本文目录一、B树的定义 二、B树的查找 三、B树的插入 四、B树的删除系列目录《树》 《树的遍历》 《二叉查找树》 《AVL》 《红黑树(上)》 《红黑树(下)》 《B树》 《B+树》 《大顶堆、小顶堆》本文转载自:一文彻底弄懂B树和B+树 (xianzilei.cn)一、B树的定义B数也称为B-树,他是一棵多路平衡查找树。我们描述一棵B树时需要指定它的阶数,阶数表示了一个节点最多有多少的孩子节点,一般使用字母m表示阶数。当m取2时,就是我们常见的二叉搜索树

2021-06-26 14:03:49 2823

原创 【tree】红黑树(下)

本文目录一、基本概念 红黑树的定义 NIL叶节点的讨论 引用值为null 引用值为特殊节点NIL 二、删除节点 fixup原则 系列目录《树》 《树的遍历》 《二叉查找树》 《AVL》 《红黑树(上)》 《红黑树(下)》 《B树》 《B+树》 《大顶堆、小顶堆》一、基本概念1、红黑树的定义红黑树:首先是一颗二叉查找树,其次对于树中的任意一个节点,都满足以下5个性质节点颜色不是红色就是黑色; 根节点黑色; 叶节点黑色(N

2021-06-26 13:55:41 357

原创 【tree】红黑树(上)

红黑树的源码实现(Java语言描述)

2021-06-24 23:46:50 400 2

原创 【tree】AVL树

AVL树的递归实现和非递归实现(Java语言描述)

2021-06-13 23:10:34 310 1

原创 【tree】二叉查找树

二叉查找树的递归实现和非递归实现

2021-06-12 23:50:42 368 2

原创 【tree】树的遍历

前序遍历、中序遍历、后序遍历和层序遍历的实现

2021-06-11 10:53:26 2592 1

原创 【tree】树

系列目录:二叉排序树、AVL、红黑树、B树、B+树、大顶堆或小顶堆

2021-06-08 11:36:41 394

原创 【annotation】directly present, indirectly present, present, and associated

一、directly present, indirectly present, present, and associatedAPI documentation:AnnotatedElement (Java SE 15 & JDK 15) (oracle.com)The termsdirectly present,indirectly present,present, andassociatedare used throughout this interface to descri...

2021-05-10 18:38:22 445

原创 【java.lang.ref】当WeakReference的referent重写了finalize方法时会发生什么

问题question:当WeakReference的referent重写了finalize方法时会发生什么?测试代码JVM中是存在这样的情况的:一个Java对象,重写了finalize方法,在使用的过程中又被SoftReference或WeakReference或PhantomReference封装,这时候JVM是怎么处理该referent的?软引用受LRU策略的影响,不太好探究。直接使用虚引用在JVM中的处理流程和弱引用一致,但还需要提供一个关系不大的ReferenceQueue,所.

2021-05-06 00:34:02 395 2

转载 【java.lang.ref】Java Reference Objects

原文地址:Java Reference Objects (kdgregory.com)IntroductionI started programming with Java in 1999, after fifteen years with C and C++. I thought myself fairly competent at C-style memory management, using coding practices such as pointer handoffs, and .

2021-05-04 19:31:05 706

原创 【java.lang.ref】FinalReference & Finalizer & FinalizerThread

目录零、前情概要 ref包内容 系列目录 上一章回顾 一、FinalReference 二、Finalizer 源码概览 FinalizerThread 补充:Runtime.runFinalization() 三、register零、前情概要1.java.lang.ref包的内容Reference & ReferenceQueue & ReferenceHandler SoftReference & WeakReferen..

2021-05-03 21:14:05 1351 4

原创 【java.lang.ref】PhantomReference & jdk.internal.ref.Cleaner

目录零、前情概要 ref包内容 系列目录 上一章回顾 一、PhantomReference 二、jdk.internal.ref.Cleaner零、前情概 要1.java.lang.ref包的内容Reference & ReferenceQueue & ReferenceHandler SoftReference & WeakReference PhantomReference jdk.internal.ref.Cleaner ..

2021-04-30 00:25:27 1178 3

原创 【java.lang.ref】SoftReference & WeakReference

目录零、前情概要 ref包内容 系列目录 上一章回顾 一、WeakReference 适用场景 测试案例 应用举例 三、SoftReference 适用场景 量化软引用“内存紧张”条件 测试验证 总结零、前情概要1.java.lang.ref包的内容Reference & ReferenceQueue & ReferenceHandler SoftReference & WeakReference P..

2021-04-26 00:17:10 848 3

原创 【java.lang.ref】Reference & ReferenceQueue & ReferenceHandler

java.lang.ref包:Reference & ReferenceQueue & ReferenceHandler SoftReference & WeakReference PhantomReference jdk.internal.ref.Cleaner FinalReference Finalizer & FinalizerThread java.lang.ref.Cleaner 零、概述前文《ref包简述》..

2021-04-23 23:30:21 1107 3

原创 【Java.lang.ref】ref包简述

零、API documentationjava.lang.ref API documentation:https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/lang/ref/package-summary.htmlother documentation:https://docs.oracle.com/javase/8/docs/technotes/guides/vm/gctuning/considerations.ht..

2021-04-19 10:25:13 1254 1

架构整洁之道(完整版+书签)

Robert C Martin(bob大叔)《代码整洁之道》完整版,带书签

2019-04-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除