ICode9

精准搜索请尝试: 精确搜索
  • netty源码 之接收连接2021-07-27 20:58:48

    目录 接收链接 netty的接收连接 前话 1、bossGroup 轮询链接事件 2、bossGroup 创建socketChannel 3、ServerBootstrapAcceptor注册到worker线程 4、workerGroup 将 socketChannel 注册到选择的NioEventLoop的selector 5、workerGroup 注册读事件 接收链接 NIO的读事件 whil

  • 3.Golang语言之布尔类型2021-07-17 21:02:39

    1)布尔类型也叫bool类型,bool类型数据只允许取值true和false 2)bool类型占1个字节 3)bool类型适于逻辑运算,一般用于程序流程控制【注:这个后面会详细介绍】 如: if条件控制语句,for循环控制语句 package main import ( "fmt" "unsafe" ) // 演示golang中boolean类型的使用 func main

  • Unsafe.putOrderedXXX系列方法详解(数组赋值的第二种方式)2021-07-09 17:52:52

    在Netty中,IO线程用于存储任务的容器是MpscUnboundedArrayQueue类. 所有对外的读写操作,都’委托’给IO线程来执行,非IO线程(比如业务线程)若要写数据,必须将写操作封装成一个任务,提交到IO线程的任务队列中.IO线程会择机执行任务队列中的任务,将数据写入到网络(实际只是写到TCP缓

  • 记录一下项目中,Acunetix扫描网站漏洞的解决办法2021-07-09 17:32:59

    1.点击劫持:X-Frame-Options 报头缺失参考地址:https://www.cnblogs.com/lianzhilei/p/6429514.html自己项目的解决办法,在Nginx中增加配置:add_header X-Frame-Options SAMEORIGIN;2.未实施 HTTP 严格传输安全 (HSTS)参考地址:https://www.cnblogs.com/xiewenming/p/7298893.html?utm_

  • UNsafe filedownload(不安全的文件下载)——pikachu2021-07-04 20:30:02

    文件下载原理 当我们点击一个下载链接的时候,会向后台提交一个下载请求,这个请求会包含一个下载的文件名称。后台收到这个请求会执行代码,完成下载。 文件下载漏洞利用原理 如果,攻击者提交的不是一个程序预期的的文件名,而是一个精心构造的路径(比如…/…/…/etc/passwd),则很

  • Unsafe控制ConcurrentHashMap内并发数组元素的可见性2021-06-29 16:02:30

    出自:https://www.cnblogs.com/silyvin/p/9106613.html https://mp.weixin.qq.com/s?__biz=MzIwMzY1OTU1NQ==&mid=2247484057&idx=1&sn=c5fb63c68203001fa3a0545cef6c0e06&chksm=96cd42d5a1bacbc325759048d6149d49f8c918d8201026fbb1388e1b8f5247d5a147a9e04a24

  • Netty框架之核心组件2021-06-19 21:58:08

    前言 小编上次分享了netty的线程模型以及简单使用,不知道的小伙伴可以看看Netty框架之线程模型与基础用法,小编承认网络编程还是非常复杂的,一不小心就掉坑里了,即使是小编简单示例的代码,很多小伙伴也问小编这个为什么这么写啊,尤其是pipeline.addLast或addFirst方法里面的参数,然

  • golang的reflect2021-06-19 10:04:25

    目录1. 什么是反射?2. interface:多态魔法2.1. 接口在go中的应用2.2. 特定类型的接口3. 反射:类型的潘多拉魔盒3.1. reflect.Type接口3.2. reflect.Value结构类型3.3. 地址转换技术4. reflect包的应用4.1. example4.2. dump数据结构地址4.3. 地址操作:斗转星移4.4. 猴子补丁:暗渡陈仓5.

  • ThreadLocalRandom 安全吗2021-06-18 09:52:53

      前言   最近在写一些业务代码时遇到一个需要产生随机数的场景,这时自然想到 jdk 包里的 Random 类。但出于对性能的极致追求,就考虑使用 ThreadLocalRandom 类进行优化,在查看 ThreadLocalRandom 实现的过程中,又追了下 Unsafe 有部分代码,整个流程下来,学到了不少东西,也通过搜索和提

  • Edge 91以上554、10080出现ERR_UNSAFE_PORT解决办法2021-06-15 18:58:47

    转自:Edge 91以上554、10080出现ERR_UNSAFE_PORT解决办法 - _SINC - 博客园 (cnblogs.com)   解决办法 在注册表下面这个路径新建一个键值名为1的,输入10080(或554),重启浏览器,即可解决问题。 计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Edge\ExplicitlyAllowedNetwork

  • Go 语言源码分析——map2021-06-14 14:04:14

    哈希表用于存储键值对的映射关系,具有O(1)的读写性能。通过哈希函数可以将不同的键映射到不同索引上,当不同的键映射到同一个索引上时,会产生哈希冲突,可通过开放寻址法、链表法来解决哈希冲突,其中Go使用的是链表法。 一、数据结构  map将键值对存放在桶数组中,每个桶只保存8个键

  • java并发 - CAS2021-06-14 11:33:09

    java并发 - CAS CAS 即 Compa re and Swap ,其是 JDK 提供的非阻塞原子性操作 , 它通过硬件保证了比较-更新操作的原子性 原理 CAS 实现的机制就是 使用Unsafe 类 boolean compareAndSwapLong(Object obj ,long valueOffset,long expect, long update)方 法 : 其中 compareAndS

  • java多线程并发之原子操作-CAS以及原子类atomic2021-06-13 14:59:21

    介绍 可见性问题 让一个线程对共享变量的修改,能够及时的被其他线程看到。 根据JMM中规定的happen before和同步原则: 对某个 volatile字段的写操作happens-before每个后续对该volatile字段的读操作。 对volatile变量v的写入,与所有其他线程后续对v的读同步 要避免可见性

  • 第七节:并发编程之Atomic&Unsafe魔法类详解-杨过2021-06-12 19:36:13

    课堂笔记 说明: 并发编程之Atomic&Unsafe魔法类详解 课程内容 什么是原子操作? CPU原子操作的实现方式 Atomic Unsafe魔法类 原子操作 原子即“不能被进一步分割的最小粒子”,原子操作(atomic operation)即 “ 不可被中断的一个或一系列操作” 术语名称 英文 解释 缓存行 Cach

  • 吃透CAS2021-06-10 20:33:38

    什么是CAS ​ CAS是compare-And-Swap的缩写,意思是比较并交换。它是一条cpu并发原语。它的功能是判断内存某个位置的值是否为预期值。如果是则更改为新的值。这个过程是原子的。因为原语的执行必须是连续的,在执行过程中不允许被中断。也就是说CAS是一条cpu的原子指令。不会造成数

  • 【Netty4】Netty核心组件之NioEventLoop(二)处理消息2021-06-09 23:34:03

    文章目录 1. 概述2. processSelectedKeys() 系类文章: 《Netty服务端启动源码分析(一)整体流程》 《Netty服务端启动源码分析(二)服务端Channel的端口绑定》 《Netty核心组件之NioEventLoop(一)创建》 《Netty核心组件之NioEventLoop(二)处理消息》 1. 概述 本篇接《Netty核心组件

  • ThreadLocalRandom 是线程安全的吗?2021-06-01 13:36:12

    来源:https://zhenbianshu.github.io 前言 最近在写一些业务代码时遇到一个需要产生随机数的场景,这时自然想到 jdk 包里的 Random 类。 但出于对性能的极致追求,就考虑使用 ThreadLocalRandom 类进行优化,在查看 ThreadLocalRandom 实现的过程中,又追了下 Unsafe 有部分代码,整个流程下

  • ThreadLocalRandom 是线程安全的吗?2021-06-01 13:34:23

    来源:https://zhenbianshu.github.io 前言 最近在写一些业务代码时遇到一个需要产生随机数的场景,这时自然想到 jdk 包里的 Random 类。 但出于对性能的极致追求,就考虑使用 ThreadLocalRandom 类进行优化,在查看 ThreadLocalRandom 实现的过程中,又追了下 Unsafe 有部分代码,整个

  • 漫画:什么是CAS机制?(进阶篇)2021-05-30 23:05:08

     永远爱大家的 程序员小灰上一期为大家讲解的CAS机制的基本概念,没看过的小伙伴们可以点击下面的链接:漫画:什么是 CAS 机制?这一期我们来深入介绍之前遗留的两个问题:Java当中CAS的底层实现CAS的ABA问题和解决方法首先看一看AtomicInteger当中常用的自增方法 incrementAndGet:这里需

  • JVM 解剖公园:初始化开销2021-05-30 10:56:38

    1. 写在前面“[JVM 解剖公园][1]”是一个持续更新的系列迷你博客,阅读每篇文章一般需要5到10分钟。限于篇幅,仅对某个主题按照问题、测试、基准程序、观察结果深入讲解。因此,这里的数据和讨论可以当轶事看,不做写作风格、句法和语义错误、重复或一致性检查。如果选择采信文中内容,风险

  • Unsafe.putOrderedXXX系列方法详解(数组赋值的第二种方式)2021-05-28 02:02:36

    在Netty中,IO线程用于存储任务的容器是MpscUnboundedArrayQueue类. 所有对外的读写操作,都'委托'给IO线程来执行,非IO线程(比如业务线程)若要写数据,必须将写操作封装成一个任务,提交到IO线程的任务队列中.IO线程会择机执行任务队列中的任务,将数据写入到网络(实际只是写到TCP缓冲

  • Golang unsafe.Pointer指针2021-05-21 21:59:42

    相较于 C 而言,Go 语言在设计时为了使用安全给指针在类型和运算上增加了限制,这让Go程序员既可以享受指针带来的便利,又避免了指针的危险性。除了常规的指针外,Go 语言在 unsafe 包里其实还通过 unsafe.Pointer 提供了通用指针,通过这个通用指针以及 unsafe 包的其他几个功能又让

  • 2021-05-142021-05-14 23:00:12

    Atomic、自旋锁、CAS、JUC Atomic:是Java自带的一个包,该包中的类方便在多线程环境中,不使用锁的情况下进行原子操作。 有其几种分类: 1. 基本类型 2. 数组类型 3. 引用类型 基本类型: 1. AtomicInteger: 整型原子类 2. AtomicLong: 长整型原子类 3. AtomicBoolean: 布尔型原子

  • Go 指针2021-05-10 19:31:42

    普通指针:*T 对于任意类型 T,它所对应的指针类型就是 *T var i int var ip *int var s string var sp *string Go 是强类型,不同类型对应的 *T 不可相互转换、不可相互赋值、不可做比较、普通指针不可参与计算。 万能指针:unsafe.Pointer unsafe.Pointer 与 *T 的关系,就好比 in

  • 【Rust日报】 2019-07-28:Rust Unsafe:把它们看作公理和定理2021-05-10 13:53:25

    关于 Web 前端开发框架 Seed 的一些资料Seed(https://seed-rs.org/) 也是一个前端 Web 开发框架。这是用 Seed 写的一个前端网站(https://seed-rs-realworld.netlify.com/),这里是一些相关的资源(https://github.com/MartinKavik/awesome-seed-rs)。Repo已经用上 wasm 技术的一些网站这

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有