ICode9

精准搜索请尝试: 精确搜索
  • 阻塞与非阻塞初认识2022-07-28 22:06:22

    阻塞与非阻塞 阻塞与非阻塞概念 阻塞:等待某件事情发生。如前面举例说明,使用read函数获取底层硬件数据,如果没有数据,会让任务休眠等待。 在使用poll方式,如果传入的等待时间不为0,任务是需要休眠等待的,也是阻塞的。 如果poll方式,将传入的等待时间为0,也即是不等待。没有数据立马返回,这

  • Java阻塞队列2022-07-26 16:02:51

    概述 阻塞队列是一个支持两个附加操作的队列,这两个附加的操作支持阻塞的插入和移除方法。 1、支持阻塞的插入方法:意思是当队列满时,队列会阻塞插入元素的线程,知道队列不满。 2、支持阻塞的移除方法:意思是在队列为空时,获取元素的线程会等待队列变为非空。 阻塞队列常用语生产者和消

  • Linux 5种IO模型2022-07-24 16:03:26

    https://hollischuang.github.io/toBeTopJavaer/#/basics/java-basic/linux-io?id=io%e5%a4%8d%e7%94%a8%e6%a8%a1%e5%9e%8b 阻塞IO:data = socket.read(); 非阻塞IO: while(true){ data = socket.read(); if(data!= error){ 处理数据 break; } } io

  • NIO到底是什么的简称?2022-07-24 12:31:22

    有人称之为New I/O,有些人认为是 Non-block I/O,那到底是那种简称呢? 其实,两种说法都对,只是站的角度不同,所以相对的书法就不一样,就行同样的简称在不同的学术领域所代表的含义也不同 至于New I/O这种,它相对于之前的I/O类库是新增的,就拿JAVA而言,JDK1.4之前,它的socket只支持阻塞的I/O

  • 3.0 JAVA多线程并发_面经2022-07-23 03:00:10

    JAVA 多线程并发 JAVA 并发知识库 JAVA 线程实现/创建方式 继承 Thread 类 Thread 类本质上是实现了 Runnable 接口的一个实例,代表一个线程的实例。启动线程的唯一方法就是通过 Thread 类的 start()实例方法。start()方法是一个 native 方法,它将启动一个新线程,并执行run()方法 p

  • 别在高并发场景中使用悲观锁2022-07-22 16:06:30

    乐观锁、悲观锁并不像行级锁、共享锁等概念一样是真实存在的锁。其实他们只是人们定义出来的概念,可以认为是一种思想。 悲观锁和乐观锁 悲观锁,正如其名,它指的是对数据被外界修改持悲观态度,因此,在整个数据处理过程中,需要先将数据进行锁定,获得锁之后再进行操作。 在MySQL中,可以使用

  • HTTP Study2022-07-22 12:10:04

    HTTP  定义:在两点之间传输文本,视频,图片等超文本数据的协议和规范 来自3.1 HTTP 常见面试题 | 小林coding (xiaolincoding.com) HTTP风险 窃听: 通信使用明文,https通过信息加密(混合加密)解决 对称加密和非对称加密 篡改: 无法验证报文的完整性,https通过校验机制(摘要算法)解决 摘要算法

  • ThreadPoolExecutor2022-07-19 20:34:59

    1.corePoolSize:指定了线程池中的线程数量。 2.maximumPoolSize:指定了线程池中的最大线程数量。 3.keepAliveTime:当前线程池数量超过 corePoolSize 时,多余的空闲线程的存活时间,即多次时间内会被销毁。 4.unit:keepAliveTime 的单位。 5.workQueue:任务队列,被提交但尚未被执行的任务

  • 文件上传案例阻塞问题2022-07-19 14:34:44

    package com.yang.Test.ServerStudy.Test; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.Socket; /** * 文件上传案例的客户端:读取本地上的文件,上传到服务器,读取服务器回写的数据

  • Node.js简介2022-07-19 09:01:23

    Node.js是一个开源和跨平台的JavaScript运行时环境。它几乎是任何类型项目的流行工具!   Node.js在浏览器之外运行V8 JavaScript 引擎(Google Chrome的内核)。这使得Node.js的性能非常好。   Node.js应用程序在单个进程中运行,无需为每个请求创建新的线程。Node.js在其标准库中提

  • 任务管理2022-07-14 07:32:34

    1.任务的基本概念 从系统的角度看,任务是竞争系统资源的最小单位FreeRTOS是一个支持多任务的操作系统,在FreeRTOS中,任务可以使用或等待CPU,使用内存空间等系统资源,并独立于其他任务运行 每个任务在自己的环境中运行,在任何时刻,只有一个任务得到运行(对单CPU而言),FreeRTOS调度器决定运行

  • SHEIN推荐后台面经2022-07-13 01:00:30

    一面(2021.11.30)30min 项目介绍,项目难点 HashMap和TreeMap的区别,HashMap的衍生结构 线程池的原理和流程,自己手动实现一个线程池 网络编程,同步和异步的区别,阻塞和非阻塞的区别   二面(2021.12.10) 30min 项目经历   三面(2021.12.15) 10min 提三个问题给cto

  • Undertow - 总结2022-07-12 00:10:02

    参考资料 1、官方文档:https://undertow.io/ 介绍 Undertow 是 RedHAT 红帽公司开源的产品,采用 JAVA 开发,是一款灵活,高性能的 web 服务器,提供了 NIO 的阻塞/非阻塞API。

  • LockSupport和Unsafe2022-07-11 16:34:22

    LockSupport LockSupport 的主要功能是提供线程一个"许可", 通过这个"许可"来控制线程的阻塞和恢复;      底层也是依赖于unsafe实现的    LockSupport是用来创建锁和其他同步类的基本线程阻塞原语。LockSupport 提供park()和unpark()方法实现阻塞线程和解除线程阻塞,LockSu

  • java并发编程面试题92022-07-09 12:40:24

    92、在 Java 中 Executor 和 Executors 的区别? Executors 工具类的不同方法按照我们的需求创建了不同的线程池,来满足业务的需求。Executor 接口对象能执行我们的线程任务。ExecutorService 接口继承了 Executor 接口并进行了扩展,提供了更多的方法我们能获得任务执行的

  • 单机高并发模型设计2022-07-09 09:03:06

    背景 在微服务架构下,我们习惯使用多机器、分布式存储、缓存去支持一个高并发的请求模型,而忽略了单机高并发模型是如何工作的。这篇文章通过解构客户端与服务端的建立连接和数据传输过程,阐述下如何进行单机高并发模型设计。 经典C10K问题 如何在一台物理机上同时服务10K用户,及10000

  • GMP模型里为什么要有P?2022-07-08 18:04:15

    关于GMP模型里为什么要有P,进一步推敲问题的背后,其实这个问题本质是想问:”为什么不是 G 和 M 直接绑定就完了,还要搞多一个 P 出来,那么麻烦,为的是什么,是要解决什么问题吗? 这就要说到go的历史版本了,在 Go1.1 之前 Go 的调度模型其实就是 GM 模型,也就是没有 P。 如下图: G:gouritine

  • 并发2022-07-04 20:05:42

    并发编程又称为多线程编程,包括同步:线程之间写作;互斥:独占锁 ; 分工:大任务拆解。 并发特性:原子性、可见性、有序性 java线程为内核级线程,jvm不具备调度CPU的权限,因为Thread类的start等方法内调用的都是native方法,native方法底层是c++实现的。 Java Thread依赖OSThread,由OSThread创建

  • 阻塞队列2022-07-01 14:36:45

    1. 什么是阻塞队列? 阻塞队列(BlockingQueue) 是一个支持两个附加操作的队列。这两个附加的操作是:在队列为空时,获取元素的线程会等待队列变为非空。当队列满时,存储元素的线程会等待队列可用。 阻塞队列常用于生产者和消费者的场景,生产者是往队列里添加元素的线程,消费者是从队列里拿

  • 解决multiprocessing.Queue()无限阻塞问题2022-06-30 21:03:33

    问题 使用multiprocessing.Process()创建并行任务需要跨进程收集返回值 很自然想到使用queue进行出入参捕获,发现程序在each.join()无法继续 解决 开始以为是返回值数量过多导致queue被塞满,打断点并为发现相应问题。 深入研究发现使用multiprocessing.Queue()产生的queue存在一些问

  • 【MySQL】MySQL中如何定位DDL被阻塞的问题2022-06-24 23:03:36

      1.查看DDL阻塞 查看DDL操作对应的状态 show processlist;      2.(MySQL5.6)定位哪些会话阻塞了DDL操作 select * from information_schema.innodb_trx;    information_schema.innodb_trx.trx_mysql_thread_id是线程id,再结合information_schema.processlist进一步

  • 关于阻塞赋值综合的电路是怎样的2022-06-24 21:36:05

    在时序逻辑中使用了阻塞赋值的代码,综合后的电路是怎样的呢? 下面用vivado进行综合实现看看效果: 可以看出这里中间变量b被优化掉了,直接由寄存器c进行输出。但是还是要遵循代码规范,在时序逻辑建模中使用非阻塞赋值!  而modelsim进行功能仿真结果是怎样的呢? 下面进行一个简单的测试:

  • 流的应用和对象串化行2022-06-23 21:33:30

    流的应用 try { Socket socket = new Socket(InetAddress.getByName("localhost"), 12345); PrintWriter out = new PrintWriter( new BufferedWriter( new OutputStreamWriter( socket.getOutp

  • 常见JAVA IO/NIO模型简介说明2022-06-22 23:01:29

    我们常见的IO模型有:阻塞 IO 模型、非阻塞 IO 模型、多路复用 IO 模型、 信号驱动 IO 模型、异步 IO 模型;下面我们就简单介绍一下以上IO模型。 1、阻塞 IO 模型      传统的一种IO 模型,即在读写数据过程中会发生阻塞现象。当用户线程发出IO 请求之后,内核会去查看数据是否就绪,如

  • IO\NIO2022-06-19 12:33:41

    转自:https://www.jianshu.com/p/5bb812ca5f8e 1、阻塞与非阻塞 阻塞与非阻塞是描述进程在访问某个资源时,数据是否准备就绪的的一种处理方式。当数据没有准备就绪时: 阻塞:线程持续等待资源中数据准备完成,直到返回响应结果。 非阻塞:线程直接返回结果,不会持续等待资源准备数据结束

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

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

ICode9版权所有