Wesley13 Wesley13
3年前
java并发数据结构
一.BlockingDeque阻塞双端队列(线程安全):注意ArrayDeque和LinkedList仅仅扩展了Deque,是非阻塞类型的双端队列。BlockingQueue单向队列,其内部基于ReentrantLockCondition来控制同步和"阻塞"/"唤醒"的时
Souleigh ✨ Souleigh ✨
4年前
JavaScript 引擎、事件循环、任务队列
一、先引用别人的一幅图(很好的概括了JS主线程和任务队列是如何执行的)1.JS引擎和runtime的区别:引擎:解释并编译代码,让它变成
Wesley13 Wesley13
3年前
java并发神器 AQS(AbstractQueuedSynchronizer)
AbstractQueuedSynchronizerAQS的全称为(AbstractQueuedSynchronizer),这个类在java.util.concurrent.locks包AQS的核心思想是,如果被请求的共享资源空闲,则将当前请求资源的线程设置为有效的
疯震震 疯震震
4年前
【单例深思】饿汉式
1、抛出问题1.为什么饿汉式单例是线程安全的?2.为什么饿汉式单例没有延迟加载(LazyLoading)?2、JVM类加载机制饿汉式单例的实现:javapublicclassSingletonprivatestaticSingletonsingletonnewSingleton();privateS
记录一次还算优雅代码设计
本文重点分享商卡聚合服务的代码设计,包括合理的Sirector线程调度(cpu使用率低),和可维护性的设计。简版代码示例如下:git@github.com:changwenbiao/demosoa.git
Wesley13 Wesley13
3年前
JDK8中JVM堆内存划分
一:JVM中内存JVM中内存通常划分为两个部分,分别为堆内存与栈内存,栈内存主要用运行线程方法存放本地暂时变量与线程中方法运行时候须要的引用对象地址。JVM全部的对象信息都存放在堆内存中。相比栈内存,堆内存能够所大的多,所以JVM一直通过对堆内存划分不同的功能区块实现对堆内存中对象管理。堆内存不够最常见的错误就是OOM(OutOf
Stella981 Stella981
3年前
Python爬取网易云歌单
基本配置:Python版本:3.7相关模块:from urllib import parsefrom lxml import etreefrom urllib3 import disable_warningsimport requests案例关键点:使用单线程爬取,未登录,爬取网易云
Wesley13 Wesley13
3年前
MySQL主从延迟如何解决?
我们知道生产环境中经常会遇到MySQL主从延迟问题,从原理上也能看出主库的事务提交是并发模式,而从库只有一个SQL线程负责解析,所以本身上就可能存在延迟。延迟的主要原因在于:1、从库的配置往往没有主库的配置高2、主库支持并发写入,而5.7之前的版本上从库只有单线程SQL来完成任务。3、MySQL主从之间的同步,并不是完全的实时同步,而是主库
Wesley13 Wesley13
3年前
Java核心技术学习笔记——进阶——第五章 Java多线程和并发编程——5.2 Java多线程实现
1. Java多线程创建的两种方式!(https://imgblog.csdnimg.cn/20201029235126329.png?xossprocessimage/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2hw
一次因PageHelper引起的多线程复用问题的排查和解决 | 京东物流技术团队
A、ProblemDescription1\.PageHelper方法使用了静态的ThreadLocal参数,在startPage()调用紧跟MyBatis查询方法后,才会自动清除ThreadLocal存储的对象。2\.当一个线程先执行了A方法的PageH