浩浩 浩浩
4年前
JVM--指令重排序+volatile关键字
volatile关键字1、volatile翻译为不稳定的,容易改变的。意思很明确,如果使用volatile定义一个变量,意思就是可能该变量改变频繁,并且设计到多线程访问问题。2、不过现在jdk的synchronized关键字性能已经足够出色,也提供了多种Lock类,因此volatile关键字能实现的功能jdk的同步方法都能够实
cpp加油站 cpp加油站
3年前
【工欲善其事,必先利其器】之gdb五大高级用法
本篇文章讲解gdb的一些高级用法,在我们的开发生涯中,调试是很重要的技能,而在linux下开发,最常用的调试工具就是gdb了,所以这里介绍几种gdb比较高级的用法,助力我们的调试技能。还是先看下思维导图:1.gdb怎么调试多线程gdb调试多线程时,默认情况下是所有线程同时都在执行,但是假设我们想只有一个线程继续执行,其他线程都暂停呢?下面就来看一看该怎么
Wesley13 Wesley13
3年前
java同步机制(1)Volatile变量
Java语言包含两种内在的同步机制:同步块(或方法)和volatile变量(不稳定变量)。这两种机制的提出都是为了实现代码线程的安全性。其中Volatile变量的同步性较差(但有时它更简单并且开销更低),而且其使用也更容易出错。Java语言中的volatile变量可以被看作是一种“程度较轻的synchronized”;与synchr
Stella981 Stella981
3年前
Promise的奇怪用法和自己实现一个Promise
原文链接: Promise的奇怪用法和自己实现一个Promise(https://my.oschina.net/ahaoboy/blog/4645165)使用Promise实现一个页面所有图片加载完毕的回调importReact,{useEffect}from"react";exportdefault()
Wesley13 Wesley13
3年前
Java中正则表达式的一些特殊用法
最近在研究数据库迁移工具,阅读源码的过程中学习了一些正则表达式的特殊用法,于是记录一下。@Testpublicvoidtest(){Stringsql"CREATETABLEtest_table(\n""idint(11)
Stella981 Stella981
3年前
Guava学习笔记:EventBus
EventBus基本用法:使用Guava之后,如果要订阅消息,就不用再继承指定的接口,只需要在指定的方法上加上@Subscribe注解即可。代码如下:消息封装类:public class TestEvent {            private final int message;          
Wesley13 Wesley13
3年前
90行代码,15个元素实现无限滚动
前言在本篇文章你将会学到:IntersectionObserverAPI的用法,以及如何兼容。如何在ReactHook中实现无限滚动。如何正确渲染多达10000个元素的列表。!(https://oscimg.oschina.net/oscnet/4749b4
Stella981 Stella981
3年前
LuaThread的实现
在Lua只支持协程,并不支持系统级的线程,于是便想自己实现一个。用法如下:localthreadThread.create()thread:start()thread:run("returnarg..'world!'","hello",function(returnData)print(returnD
javalover123 javalover123
1年前
Java代码性能测试实战之ContiPerf
最近测试一个开源项目,发现生成的全局id有重复,方法加上synchronized提交PR后,有些同行对性能有疑虑,就准备做个代码性能测试。Java基准性能测试一般用JMH比较多,但是官方建议性能测试单独一个项目,感觉麻烦了点。发现ContiPerf可以方便的设置执行次数、时长、线程数、预热时长,还有Html格式报告,感觉还比较适合,基于Junit
小万哥 小万哥
6个月前
NumPy 分割与搜索数组详解
NumPy分割数组NumPy提供了np.arraysplit()函数来分割数组,将一个数组拆分成多个较小的子数组。基本用法语法:pythonnp.arraysplit(array,indicesorsections,axisNone)array:要分割的N