Wesley13 Wesley13
3年前
java并发编程实战:第十六章
一、什么是内存模型,为什么要使用它如果缺少同步,那么将会有许多因素使得线程无法立即甚至永远看到一个线程的操作结果编译器把变量保存在本地寄存器而不是内存中编译器中生成的指令顺序,可以与源代码中的顺序不同处理器采用乱序或并行的方式来执行指令保存在处理器本地缓存中的值,对于其他处理器是不可见在单线程中,只要
JAVA多线程并发编程-避坑指南
本篇旨在基于编码规范、工作中积累的研发经验等,整理在多线程开发的过程中需要注意的部分,比如不考虑线程池参数、线程安全、死锁等问题,将会存在潜在极大的风险。并且对其进行根因分析,避免每天踩一坑,坑坑不一样。
CuterCorley CuterCorley
4年前
数据库编程 MySQL 技巧与经验
1.MySQL创建数据表时设定引擎并添加外键约束创建两个数据表,在它们之间添加外键约束,然后在被添加外键的表中添加数据,发现并没有提示报错,很正常地插入了数据,说明外键没有添加成功,在SQL可视化工具里查看表的属性,并点击外部键会出现弹窗,提示是因为引擎的问题,导致不能添加外键。MySQL安装时默认用的表引擎是MyISAM,而MyISAM是不支持外键的,如
Wesley13 Wesley13
3年前
Java并发编程(08):Executor线程池框架
本文源码:GitHub·点这里(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fgithub.com%2Fcicadasmile%2Fjavabaseparent)||GitEE·点这里(https://gitee.com/cicadasmile/javabasepare
Stella981 Stella981
3年前
Rust编程进阶:059、所有模式语法2
例子://4、通过..匹配fnmain(){//letx5;//matchx{//1..5println!("1to5"),//1|2|3|4|5println!("1to5"),//
Wesley13 Wesley13
3年前
Java并发编程:AQS的公平性
所谓公平是指所有线程对临界资源申请访问权限的成功率都一样,它不会让某些线程拥有优先权。通过几篇文章的分析我们知道了JDK的AQS的锁是基于CLH锁进行优化的,而其中使用了FIFO队列,也就是说等待队列是一个先进先出的队列。那是否就可以说每条线程获取锁时就是公平的呢?关于公平性,严格来说应该分成三个点来看:入队阶段、唤醒阶段以及闯入策略。友情链接:
Stella981 Stella981
3年前
2019Android网络编程面试题
!(https://oscimg.oschina.net/oscnet/2fb1b5ce31baa49c3b496fc8fa9cc694f9f.gif)极力推荐文章:欢迎收藏Android干货分享(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fmp.weixin.q
Wesley13 Wesley13
3年前
Java 网络编程的一些概念
网络编程:实现连接到网络的计算机之间的网络通信,比如QQ的聊天、传文件。ip:一台计算机在网络中的唯一标识查看本机ip:windows是ipconfig,linux是ifconfigipv4:4个整数,0255之间,点号分隔,比如192.168.1.1,约42亿个地址,2011年初已耗尽ipv6:8组,每组4个16进制数,冒号分隔,比如AB
Stella981 Stella981
3年前
Scratch少儿编程系列:(九)音乐高级技巧
一、程序说明本程序用来演奏音乐,相对于“Scratch少儿编程系列:(八)演奏简单音乐(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fwww.cnblogs.com%2Fsiweihz%2Fp%2F11028468.html)”而言,本节介绍的方法适用于复杂点的音乐。二、程序流
Stella981 Stella981
3年前
Javascript模块化编程(二):AMD规范
七、模块的规范先想一想,为什么模块很重要?因为有了模块,我们就可以更方便地使用别人的代码,想要什么功能,就加载什么模块。但是,这样做有一个前提,那就是大家必须以同样的方式编写模块,否则你有你的写法,我有我的写法,岂不是乱了套!考虑到Javascript模块现在还没有官方规范,这一点就更重要了。目前,通行的Javascript模块规范共有两种: