ICode9

精准搜索请尝试: 精确搜索
  • 12、jmeter--吞吐量控制器2022-08-17 12:30:38

    吞吐量控制器(Throughput Controller)用来控制其下元件的执行次数,并无控制吞吐量的功能。 作用:控制其下的子节点的执行次数与负载比例分配 吞吐量控制器字段介绍:   Total Executions:按照次数来执行   percent Executions:按照百分比来执行   Per User:线程数,当选Total E

  • 第七章 - 本地方法栈2022-08-17 09:05:49

     小时候最常说的话,我长大之后要成为天下第一的大剑仙。 1.本地方法栈 Java虚拟机栈用于管理Java方法的调用,而本地方法栈用于管理本地方法的调用。 本地方法栈,也是线程私有的。 允许被实现成固定或者是可动态扩展的内存大小(在内存溢出方面和虚拟机栈相同) 如果线程请求分配

  • 多线程和异步2022-08-17 09:01:22

    多线程和异步 异步方法—Async、Await   一:前言 1.所有带有Async关键字的异步方法返回类型:     ① Task<T>:如果调用方法想通过调用异步方法获取一个T类型的返回值,那么签名必须为Task<TResult>;     ② Task:如果调用方法不想通过异步方法获取一个值,仅仅想追踪异步方法

  • Redission2022-08-17 03:00:28

    Redisson的原理   分布式锁可能存在锁过期释放,业务没执行完的问题。有些人认为,稍微把锁过期时间设置长一些就可以啦。   其实我们设想一下,是否可以给获得锁的线程,开启一个定时守护线程,每隔一段时间检查锁是否还存在,存在则对锁的过期时间延长,防止锁过期提前释放。   当前开源

  • 对象完成具体业务逻辑在并发架构中产生的影响的思考2022-08-17 02:01:22

    思考 回合制6v6游戏,战斗场景中的战斗调度器,会依次按组筛选双方 对手 进行kill,一般情况下,写一个公共方法 kill(a,b) 即可解决。 这种方式,很容易能看出在并发模式下,会出现哪些并发问题。 举个列子 如果服务器上有100个战场,那可以开线程池并发执行kill的逻辑,除了战场的线程池,还有一个

  • java 并发编程规约2022-08-17 02:00:36

    Rule 1. 【强制】创建线程或线程池时请指定有意义的线程名称,方便出错时回溯 1)创建单条线程时直接指定线程名称 ``` Thread t = new Thread(); t.setName("cleanup-thread"); ``` 2) 线程池则使用guava或自行封装的ThreadFactory,指定命名规则。 //guava 或自行封装的ThreadF

  • Redis-5.0141 分布式锁-182022-08-16 22:30:08

    1. 问题描述     随着业务发展的需要,原单体单机部署的系统被演化成分布式集群系统后,由于分布式系统多线程的特点以及分布在不同机器上,这将使原单机部署情况下的并发控制锁策略失效,单纯的 Java API 并不能提供分布式锁的能力。为了解决这个问题就需要一种跨 JVM 的互斥机制来控

  • 性能测试2022-08-16 18:30:19

    什么是软件性能 所以对一个产品而言,性能的及时性是用响应时间或者吞吐量来进行衡量。 一个用户操作行为,或者说是事务,比如单个的事务,响应时间就是完成事务所需要的时间,对用户而言,响应时间就是端到端的用户基本体验。比如登录打开抖音,视频显示播放,这个过程总共耗时是3秒,那么就是抖音

  • 双写一致策略2022-08-16 17:31:25

    先更新数据库还是redis? 针对双写一致性问题,首先要讨论下是先更新数据库还是redis?mysql具有良好的事务支持,redis也是支持事务的,可以通过MUTI指令开启事务,WATCH监控关注的key是否被修改,EXEC执行事务,但是redis没有事务回退,也就会导致一个问题:如果先写redis写入失败了,或者中间有问题要

  • 性能测试(一)2022-08-16 17:04:15

    一、软件性能: 对一个产品而言,性能的及时性是用响应时间+吞吐量来进行衡量。 事务:一个用户操作行为,或者说是事务,比如单个的事务,响应时间就是完成事务所需要的时间,对用户而言,响应时间就是端到端的用户基本体验。比如登录打开抖音,视频显示播放,这个过程总共耗时是3秒,那么就是抖音的响

  • 100行代码实现一个RISC-V架构下的多线程管理框架2022-08-16 13:04:34

    1. 摘要 本文将基于RISC-V架构和qemu仿真器实现一个简单的多线程调度和管理框架, 旨在通过简单的代码阐明如何实现线程的上下文保存和切换, 线程的调度并非本文的重点, 故线程调度模块只是简单地采用了轮询的方式. 2. 上下文是什么 对于一个运行中的程序, 我们可以把它看作一个状

  • StringBuffer和StringBuilder2022-08-15 22:03:59

    StringBuffer线程安全; 执行效率:StringBuilder > StringBuffer > String  

  • .Net - 线程内变量(数据存储)的方法2022-08-15 18:00:39

    1. 使用ThreadStatic特性 [ThreadStatic] 2. 数据槽 Thread.AllocateNamedDataSlot("slot"); 3. .NET 4.0 后增加的 ThreadLocal<T> 类型 new ThreadLocal<string>(() => "hehe", true); 详情请看:https://www.cnblogs.com/li150dan/p/11445392.html

  • 如何正确的中断线程?你的姿势是否正确2022-08-15 09:02:42

    Java停止线程的逻辑(协同、通知) 在Java程序中,我们想要停止一个线程可以通过interrupt方法进行停止。但是当我们调用interrupt方法之后,它可能并不会立刻就会停止线程,而是通知线程需要停止。线程接收到通知之后会根据自身的情况判断是否需要停止,它可能会立即停止,也有可能会执行一段时

  • 第五章 - 虚拟机栈2022-08-15 08:30:09

     不需要太用力表达什么,大家都有感受,不如沉默 1.虚拟机栈概述 虚拟机栈出现的背景 由于跨平台性的设计,Java的指令都是根据栈来设计的。不同平台CPU架构不同,所以不能设计为基于寄存器的。 优点是跨平台,指令集小,编译器容易实现,缺点是性能下降,实现同样的功能需要更多的指令。

  • 计算机操作系统秋招学习第一轮(二)2022-08-15 01:33:52

    主要参考书籍:《CSAPP》、《图解操作系统》 上回学到了写传播 在解决这个缓存一致性的问题,其实我们只需要做到写传播和事务串行化 写传播就是指一个核心的cache发生了数据变更,必须传播到其他的核心当中去。 不过还存在一个问题,不同核心接收到传播的数据变更顺序可能不一样。我们必

  • ForkJoinPool的使用及基本原理2022-08-15 00:01:22

    一、简介 ForkJoinPool是自Java7开始,提供的一个用于并行执行的任务框架。其主旨是将大任务分成若干小任务,之后再并行对这些小任务进行计算,最终汇总这些任务的结果,得到最终的结果。 其广泛用在java8的parallelStream和CompletableFuture中。 这个描述实际上比较接近于单机版的map-r

  • 周总结2022-08-14 19:02:17

    UDP协议 # server import socket server = socket.socket(type=socket.SOCK_DGRAM) server.bind(('127.0.0.1', 8080)) msg, address = server.recvfrom(1024) print('msg>>>:%s' % msg.decode('utf8')) print('addr>>>:

  • Netty - NIO基础2022-08-14 17:30:19

      一、NIO的三大组件 1.1 Channel   常见的Channel有: FileChannel -- 文件传输通道 DatagramChannel -- UDP数据传输通道 SocketChannel -- TCP数据传输通道(客户端,服务器端通用) ServerSocketChannel -- TCP数据传输通道(专用于服务器端) 1.2 Buffer 常见的Buffer: 只有Byt

  • 学习python-周总结082022-08-14 16:31:03

    周总结 一、操作系统的发展史 三大核心硬件 CPU:计算机中真正干活的人 内存:给CPU准备需要运行的代码 硬盘:永远存储将来可能要被运行的代码 注意:CPU是整个计算机执行效率的核心 穿孔卡片 输入设备>>>CPU>>>输出设备 利用率低,输入设备卡片要全部读完,才能给CPU读代码,但是一个程序

  • Java AQS锁实现原理2022-08-14 14:30:50

    ​  整体介绍 概念 ​     首先阅读一下类的源码注释,可以知道,这几个接口是最关键的。 ​   这几个方法是使用AQS类的关键,只有这几个方法是可以定制的,其他方法几乎都是final的,不可修改。 从代码实现上看,能看到的变量几乎都是volatile的,能看到的方法几乎都是CAS或者Unsafe类的原

  • Java学习笔记之—java内存结构2022-08-14 13:00:49

    java内存结构 之前一直是在学习c++,所以对c++的内存结构比较了解。但是目前由于工作需要从事Java开发,而自己对这方面的知识比较欠缺,所以从网络上阅读查看别人的学习总结,希望能从中总结出自己的理解,也帮助自己在需要时进行翻阅。 Java内存区域 首先是java内存区域的分析,当Java程序运

  • 带着问题看AQS waitState 系列一2022-08-14 12:01:04

    AQS中存在设置waitState状态的方法 shouldParkAfterFailedAcquire , 根据问题反推其设计的原因    shouldParkAfterFailedAcquire源码如下       以ReentrantLock为例子   问题 ReentrantLock进行unlock时,源码如下      AQS根据waitStatus进行队列中线程的唤醒,waitStat

  • 使用多线程及线程池批量拷贝数据到MongoDB2022-08-13 23:30:29

    @目录前言一、原来代码二、改进后代码1.使用new Thread方式2.使用Runnable接口3.使用线程池 提示:本文仅供学习交流,请勿用于非法活动! 前言 本文大概内容: 例如:随着MongoDB的广泛应用,电商用到MongoDB也越来越多。本文主要是在将购物车模块切换到MongoDB框架前,如何快速将Mysql中购物

  • python学习Day432022-08-13 22:02:35

    Day 43 今日内容概要 验证GIL的存在 验证GIL的特点 验证python多线程是否有用 死锁现象 信号量 event事件 进程池与线程池(重要) 协程 协程实现TCP服务端并发 今日内容详细 1.验证GIL的存在 from threading import Thread money = 100 def task(): global money money -

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

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

ICode9版权所有