首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏初见Linux

    11-3 激活修改

    三、修改环境 现在用户已经知道了系统启动文件的位置和内容,就可以修改启动文件,来自定义我们的环境。(准) 1.用户应当修改哪些文件 一般来说,在 PATH 中添加目录或定义额外的环境变量,需要将这些更改放入到 .bash_profile 文件中(或者是其它的等效文件,这取决于系统的发行版本,比如 Ubuntu 系统使用的是 .profile 文件),其它的改变则应录入 .bashrc 文件中。除非是系统管理员需要修改用户公用的默认设置,普通用户只需对主目录下的文件作出修改即可。当然用户也可以修改其它目录

    77210发布于 2020-08-11
  • 来自专栏AI机器学习与深度学习算法

    机器学习入门 11-3 Soft Margin SVM

    本系列是《玩转机器学习教程》一个整理的视频笔记。前面两个小节具体介绍了Hard Margin SVM算法的思想,并将这种思想转换为数学中的最优化问题。这一小节:

    1.1K31发布于 2020-07-02
  • 来自专栏阿飞的学习记录

    23种设计模式之里氏替换原则

    Liskov { public static void main(String[] args) { A a = new A(); System.out.println("11 System.out.println("1-8="+a.func1(1,8)); B b = new B(); System.out.println("11 return a+b; } public int func2(int a,int b){ return func1(a,b)+9; } } 输出 11 -3=8 1-8=-7 11-3=14 1-8=9 11+3+9=23 这里我们B类的本意是调用方法进行 11-3的运算 但是因为我们B类重写了A类的方法 导致我们的11-3的结果变为了14 我们发现原来正常运行的相减功能发生了错误 -3="+b.func3(11,3)); } } 输出 11-3=8 1-8=-7 11+3=14 1+8=9 11+3+9=23 11-3=8 组合的方式依然可以使用A的方法

    41210编辑于 2022-03-23
  • 来自专栏CSDNToQQCode

    软考中级(软件设计师)——数据流图(DFD图下午第一题15分)(必拿题)

    非信用卡客户填写信用卡申请表,说明所要申请的信用卡类型及申请者的基本信息,提交CCMS.如果信用卡申请被银行接受,CCMS将记录该客户的基本信息,并发送确认函给该客户,告知客户信用卡的有效期及信贷限额; 信用 卡客户可以通过CCMS查询并核实其交易信息(包括信用卡交易记录及交易额)●图11-3和图11-4分别给出了该系统的顶层数据流图和0层数据流图的初稿。 11-3​​​​ 11-4 [问题1] (3分) 根据[说明], 将图11- 3中的E1 ~ E3填充完整。 [问题2] (3分) 图11-3中缺少三条数据流,根据[说明] , 分别指出这三条数据流的起点和终点。 非信用卡客户填写信用卡申请表,说明所要申请的信用卡类型及申请者的基本信息,提交CCMS.如果信用卡申请被银行接受,CCMS将记录该客户的基本信息,并发送确认函给该客,告知客户信用卡的有效期及信贷限额;否则该客户将会收到封拒绝函

    4.3K21编辑于 2022-11-30
  • 来自专栏cloudskyme

    并发,又是并发

    对比串联执行和并发执行 ``` java? : 循环次数 并发执行时间 串联执行时间 一百万 2ms 4ms 十万 2ms 2ms 一万 1ms 0ms 通过数据的对比我们可以看出。 在一万以下的循环次数时,串联的执行速度比并发的执行速度块。是因为线程上下文切换导致额外的开销。 死锁与活锁的区别,死锁与饥饿的区别? 这种划分是使用并发度获得的,它是 ConcurrentHashMap 类构造函数的一个可选参数,默认值为 16,这样在多线程情况下就能避免争用。 同时加入了更多的辅助变量来提高并发度,具体内容还是查看源码吧。 volatile 变量和 atomic 变量有什么不同?

    1.6K41发布于 2020-06-15
  • 来自专栏look Java

    😀 Java并发 - (并发基础)

    Java并发 - (并发基础) 1、什么是共享资源 堆是被所有线程共享的一块内存区域。在虚拟机启动时创建。此内存区域的唯一目的就是存放对象实例 Java中几乎所有的对象实例都在这里分配内存。 如下图: 2、并发编程的难点 原子性问题 操作系统做任务切换(CPU切换),可以发生在任何一条CPU指令执行完成后; CPU能保证的原子操作是指令级别的,而不是高级语言的操作符(例如:n++)。 为了提高性能,编译器和处理器常常会对指令做重排序; 重排序不会影响单线程的执行结果,但是在并发情况下,可能会出现诡异的BUG。 参考地址:https://zhuanlan.zhihu.com/p/298448987 3、JMM 并发编程的关键目标 并发编程需要处理两个关键问题,即线程之间如何通信和同步。 并发编程的内存模型 共有两种并发编程模型:共享内存模型、消息传递模型,Java采用的是前者。

    59510编辑于 2023-12-07
  • 来自专栏学习笔记持续记录中...

    Java设计模式:(1)设计模式七大设计原则-里氏替换原则

    Liskov01 { public static void main(String[] args) { A a = new A(); System.out.println("11 Liskov { public static void main(String[] args) { A a = new A(); System.out.println("11 b.func1(1, 8)); System.out.println("11+3+9=" + b.func2(11, 3)); System.out.println("11

    64820发布于 2020-03-17
  • 来自专栏ReganYue's Blog

    Go并发之CSP并发模型、协程并发

    Go并发之CSP并发模型、协程并发 什么是CSP并发模型 CSP 即通信顺序进程、交谈循序程序,又被译为交换消息的循序程序(communicating sequential processes),它是一种用来描述并发性系统之间进行交互的模型 但是容易出现死锁的情况,且未给予直接的并行支持,并行需要建立在并发的基础之上。 在CSP模型里面,进程间需要经过一种被称为管道来进行通信。 通过管道能够实现百万级的并发。如果说线程是抢占式的,那么协程是协作式的。在协程里面,也是通过管道来调度的。 解放线程对CPU和内存的开销,线程是先占用CPU和内存后才调度,而协程是通过通信发送信号来调度,协程全是通过管道,由于协程的消耗比线程小很多,所以能够实现百万并发。 8G内存的电脑,用JAVA,C来做并发,差不多也就千级并发,而用GO语言,通过管道可以让并发能力得到很大提升。

    1.2K10发布于 2021-09-16
  • 来自专栏ImportSource

    并发编程-并发的简史

    1.1.A(Very)Brief History of Concurrency 并发的简史 在很久以前,计算机没有操作系统;他们只执行一个程序,从头到尾的执行,并且这个程序直接访问机器的所有资源。 线程还提供了一个自然的分解模式,这种模式可以充分的利用多处理器系统中的硬件的并发性。 在同一个program中的多个线程可以被并行的调度到多个cpu上。

    1.2K70发布于 2018-04-03
  • 来自专栏蛋蛋编程手记

    并发map并发设计演进

    concurrentHashMap的底层指导思想之前有提过,就是通过细化锁的粒度来优化并发情况下的锁冲突从而实现高性能的。这种思想在很多设计中都能看到,比如Innodb的行级锁概念。 jdk1.8之前,并发map通过引入segment来细化锁的粒度,就是把原本的数组分到多个不同的段里,每个段单独管理自己的数组,段与段之间不冲突,即使数组扩容也是段内部的数组扩容。 segment长度默认是16,可以构造时指定,后面不会变化,所以并发度主要还是看segment的个数了。 数据越多并发冲突的概率越大 jdk1.8废弃了segment的概念,锁粒度更加的细化,直接给数组的链首或树根元素加锁。只要没有hash冲突就没有并发冲突。数据多了,数组会扩容,并发冲突的概率并没有变大

    53920编辑于 2022-07-27
  • 来自专栏全栈程序员必看

    Jmeter并发测试_并发测试

    jmeter并发测试报错 请大神给指点一下是因为什么报错,并发循环1-5次的时候不会报错,循环多次就开始报错了。 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。

    1.7K30编辑于 2022-11-11
  • 来自专栏数据云团

    并发篇-python并发通信

    使用多线程实现并发服务器与使用多进程实现并发服务器 ? python支持的并发分为多线程并发和多进程并发还有异步IO。 多进程并发即运行多个独立的程序,优势在于并发处理的任务都由操作系统管理,不足之处在于程序与各进程之间的通信和数据共享不方便; 多线程并发则由程序员管理并发处理的任务,这种并发方式可以方便地在线程间共享数据 对于计算密集型程序,多进程并发优于多线程并发。 对于多进程并发,python支持两种实现方式 一种是采用进程安全的数据结构:multiprocessing.JoinableQueue,这种数据结构自己管理“加锁”的过程,程序员无需担心“死锁”的问题;

    1.3K10发布于 2019-07-18
  • 来自专栏产品优化

    Java 并发编程·Java 并发

    Java 并发 线程状态转换 新建(New) 创建后尚未启动。 可运行(Runnable) 可能正在运行,也可能正在等待 CPU 时间片。 它是 JUC 并发包中的核心基础组件。 CountDownLatch 用来控制一个或者多个线程等待多个线程。 以下代码模拟了对某个服务的并发请求,每次只能有 3 个客户端同时访问,请求总数为 10。 在 Java 内存模型中,允许编译器和处理器对指令进行重排序,重排序过程不会影响到单线程程序的执行,却会影响到多线程并发执行的正确性。 互斥同步属于一种悲观的并发策略,总是认为只要不去做正确的同步措施,那就肯定会出现问题。

    3.4K32编辑于 2022-12-01
  • 来自专栏别先生

    Java并发编程与高并发之线程并发容器

    可以使用此程序进行并发测试。 34 // 线程池调度的时候加上并发控制。给定一个值代表运行的并发数目。 35 // 3代表并发的数目,控制台打印一次执行三次。 34 // 线程池调度的时候加上并发控制。给定一个值代表运行的并发数目。 35 // 3代表并发的数目,一次获取3个许可,控制台每次打印1个。 35 // 线程池调度的时候加上并发控制。给定一个值代表运行的并发数目。 36 // 3代表并发的数目,一次获取3个许可,控制台每次打印1个。 36 // 线程池调度的时候加上并发控制。给定一个值代表运行的并发数目。 37 // 3代表并发的数目,一次获取3个许可,控制台每次打印1个。

    1.9K20发布于 2020-02-18
  • 来自专栏golang分享

    并发

    C.一个进程可以创建和撤销多个线程;同一个进程中的多个线程之间可以并发执行。并发和并行A. 多线程程序在一个核的cpu上运行,就是并发。B. 多线程程序在多个核的cpu上运行,就是并行。 并发是指逻辑上具备同时处理多个任务的能力;并行则是物理上同时执行多个任务。协程和线程协程:独立的栈空间,共享堆空间,调度由用户自己控制,本质上有点类似于用户级线程,这些用户级线程的调度也是自己实现的。 的栈内存占用和由于实现机制而大幅减少的创建和销毁开销是go高并发的根本原因。并发主要由切换时间片来实现"同时"运行,并行则是直接利用多核实现多线程的运行,go可以设置使用核数,以发挥多核计算机的能力。 单点Server的N种并发模型汇总协程与线程主要区别是它将不再被内核调度,而是交给了程序自己而线程是将自己交给内核调度,所以也不难理解golang中调度器的存在。 Go 调度器牢牢地锁定了协程的控制权,即便协程发生阻塞,调度器也能够快速切换到其他协程运行,在高并发网络 I/O 密集的环境下保证了程序的高性能。

    5K11编辑于 2023-11-30
  • 来自专栏愿天堂没有BUG(公众号同名)

    如果你精通java虚拟机:新生代垃圾回收YoungGC之后,薪资不止20K

    以线程栈为例,G1会扫描虚拟机所有JavaThread和VMThread的线程栈中的每一个栈帧,找到其中的对象引用,并对它们应用G1ParCopyClosure,如代码清单11-3所示: 代码清单11- 之前根集中的引用指向Eden Region对象,对这些引用应用G1ParCopyClosure之后,Eden Region的对象会被复制到SurvivorRegion,所以根集的引用也需要相应改变指向,如图1111-3 清理根集 copy_to_survivor_space在移动对象后还会用G1ScanEvacuatedObjClosure处理对象的成员,如果成员也属于CSet,则将它们放入一个G1ParScanThreadState

    67820编辑于 2022-10-31
  • 来自专栏数据云团

    并发篇-python并发通信-2

    死锁是指两个或两个以上的进程或线程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。

    92120发布于 2019-07-18
  • 来自专栏小工匠聊架构

    并发编程-01并发初窥

    文章目录 引言 思维导图 基础知识构建 涉及的知识点一览 高并发处理思路与手段一览 并发初窥 概念 并发问题模拟 代码 ? 引言 说来惭愧,一直没有系统的梳理过并发编程的知识,这次借着学习_Jimin_老师的《Java并发编程与高并发解决方案》课程的机会,结合以往工作中的使用,好好的梳理下并发编程与高并发的知识,形成一个较为完善的并发编程知识体系 ---- 高并发处理思路与手段一览 ? ---- 并发初窥 概念 并发: 同时拥有两个或者多个线程,如果程序在单核处理器上运行多个线程将交替地换入或者换出内存,这些线程是 同时“存在”的,每个线程都处于执行过程中的某个状态,如果运行在多核处理器上 高并发:服务能同时处理很多请求,提高程序性能 ---- 并发问题模拟 首先说明如下代码是存在并发问题的,这里是为了抛出问题,后续给出解决办法.

    60120发布于 2021-08-17
  • 来自专栏全栈程序员必看

    Jmeter并发测试_高并发测试

    进入后语言是英文的可以选择Options—Choose Language—Chinese(Simplified) 选择左侧TestPlan—添加—线程(用户)—线程组 线程组介绍: 线程数,即为并发请求数量 为0表示并发执行 ramp-Up时间,即为几秒内开启全部线程,可修改 循环次数为1表示所有线程只执行一次。

    2.9K30编辑于 2022-11-19
  • 来自专栏SpringBoot教程

    Java并发简介(什么是并发

    文章目录 并发概念 并发和并行 同步和异步 阻塞和非阻塞 进程和线程 竞态条件和临界区 管程 并发的特点 提升资源利用率 程序响应更快 并发的问题 安全性问题 缓存导致的可见性问题 线程切换带来的原子性问题 学习 Java 并发编程,应该先熟悉并发的基本概念,然后进一步了解并发的特性以及其特性所面临的问题。掌握了这些,当学习 Java 并发工具时,才会明白它们各自是为了解决什么问题,为什么要这样设计。 并发的问题 任何事物都有利弊,并发也不例外。 我们知道了并发带来的好处:提升资源利用率、程序响应更快,同时也要认识到并发带来的问题,主要有: 安全性问题 活跃性问题 性能问题 安全性问题 并发最重要的问题是并发安全问题。 并发安全:是指保证程序的正确性,使得并发处理结果符合预期。

    1.4K10编辑于 2023-03-09
领券