易娃 易娃
4年前
知乎从Python转为Go,是不是代表Go比Python好?
众所周知,知乎早在几年前就将推荐系统从Python转为了Go。于是乎,一部分人就说Go比Python好,Go和Python两大社区的相关开发人员为此也争论过不少,似乎,谁也没完全说服谁。知乎从Python转为Go,是不是代表Go比Python好?我认为,各有优点,谁也取代不了谁,会长期共存!“由Python语言转向Go语言
Wesley13 Wesley13
3年前
java并发神器 AQS(AbstractQueuedSynchronizer)
AbstractQueuedSynchronizerAQS的全称为(AbstractQueuedSynchronizer),这个类在java.util.concurrent.locks包AQS的核心思想是,如果被请求的共享资源空闲,则将当前请求资源的线程设置为有效的
Wesley13 Wesley13
3年前
Java高并发编程四
_做个笔记,java线程常用的方法,耐心看完._编号方法说明1publicvoidstart()使该线程开始执行;Java虚拟机调用该线程的run方法。2publicvoidrun()如果该线程是使用独立的Runnable运行对象构造的,则调用该Runnable对象的run方法;否则,该方
Wesley13 Wesley13
3年前
Java并发(三):重排序
在执行程序时为了提高性能,提高并行度,编译器和处理器常常会对指令做重排序。重排序分三种类型:1.编译器优化的重排序。编译器在不改变单线程程序语义的前提下,可以重新安排语句的执行顺序。2.指令级并行的重排序。现代处理器采用了指令级并行技术(InstructionLevelParallelism,ILP)来将多条指令重叠执行。如果不存在数据依
Wesley13 Wesley13
3年前
Java并发编程之Synchronized
引子目前在Java中存在两种锁机制:synchronized和Lock,今天我们先来介绍一下synchronizedsynchronized可以保证方法或代码块在运行时,同一时刻只有一个线程可以进入到临界区,同时它还保证了共享变量的内存可见性。用法Java中的每个对象都可以作为锁。每一个Object类及其子类
Wesley13 Wesley13
3年前
JUC并发编程学习笔记
JUC(并发编程),java.util.concurrent得工具类!image.png(https://uploadimages.jianshu.io/upload_images/8379611bfca9f6c63f253b4.png?imageMogr2/autoorient/strip%7CimageView2/2/w/1240)首先得了
Wesley13 Wesley13
3年前
Java 多线程(一)—— 概念的引入
并发和并行并行:指两个或多个时间在同一时刻发生(同时发生);并发:指两个或多个事件在一个时间段内发生。  在操作系统中,安装了多个程序,并发指的是在一段时间内宏观上有多个程序同时运行,这在单CPU系统中,每一时刻只能有一道程序执行,即微观上这些程序是分时的交替运行,只不过是给人的感觉是同时运行,那是因为分时交替
Wesley13 Wesley13
3年前
Java并发编程之ConcurrentHashMap
ConcurrentHashMapConcurrentHashMap是一个线程安全的HashTable,它的主要功能是提供了一组和HashTable功能相同但是线程安全的方法。ConcurrentHashMap可以做到读取数据不加锁,并且其内部的结构可以让其在进行写操作的时候能够将锁的粒度保持地尽量地小,不用对整个ConcurrentHashM
Wesley13 Wesley13
3年前
Java并发编程学习教程
一年前由于工作需要从微软技术栈入坑Java,并陆陆续续做了一个Java后台项目,目前在搞ScalaJava混合的后台开发,一直觉得并发编程是所有后台工程师的基本功,所以也学习了小一年Java的并发工具,对整体的并发理解乃至分布式都有一定的提高,所以想和大家分享一下。我的学习路线首先说说学习路线,我一开始是直接上手JCIP(JavaConc
Wesley13 Wesley13
3年前
Java线程的join操作有什么作用?
计算机为了提升CPU使用效率和交互性而引入了并发机制,任务的执行也抽象成了线程,并发机制让一个CPU能够轮流执行多个线程,从宏观上看多个线程就像是同时执行一样。并发使得线程的执行顺序不容易控制,而实际工程中很多场景都会涉及某个线程需要依赖另外一个或几个线程的执行结果,这就要被依赖的线程需要先执行完,这时就需要join操作。比如下面的场景,假如要计算AB的结