Wesley13 Wesley13
3年前
java 多线程总结篇4——锁机制
在开发Java多线程应用程序中,各个线程之间由于要共享资源,必须用到锁机制。Java提供了多种多线程锁机制的实现方式,常见的有synchronized、ReentrantLock、Semaphore、AtomicInteger等。每种机制都有优缺点与各自的适用场景,必须熟练掌握他们的特点才能在Java多线程应用开发时得心应手。——《Java锁机制详解》(
菜园前端 菜园前端
2年前
什么是 JavaScript 单线程?
原文链接:什么是JavaScript单线程?单线程是指当存在多个任务时候,所有任务都必须排队并且按照顺序执行。这里就会有同学问为什么不是多线程?假设是多线程,同时执行一些任务,某个任务进行了该dom的修改,而某个任务进行了该dom的删除,这样就会出现一些问
Wesley13 Wesley13
3年前
4、jstack查看线程栈信息
1、介绍利用jps、top、jstack命令找到进程中耗时最大的线程,以及线程状态等等,同时最后还可以显示出死锁的线程查找:FoundoneJavaleveldeadlock即可1、jps获得进程号!(https://oscimg.oschina.net/oscnet/da00a309fa6
Stella981 Stella981
3年前
Druid连接池 一个设置 removeAbandonedTimeout
Druid连接池一个设置removeAbandonedTimeout博客分类:数据库 <!超过时间限制是否回收 <propertyname"removeAbandoned"value"true"/ <!超时时间;单位为秒。180秒3分钟 <propertyname"remov
Stella981 Stella981
3年前
Spring Boot2.X+mybatis+Druid+PageHelper实现多数据源并分页,支持多个字段动态排序,结构层级分明,代码耦合,框架入门
一、SpringBoot整合Mybatis、Druid和PageHelper并实现多数据源和分页,支持多个字段动态排序,其中对分页插件进行了封装,满足于任何场景的开发Druid是一个数据库连接池。Druid可以说是目前最好的数据库连接池!因其优秀的功能、性能和扩展性方面,深受开发人员的青睐。Druid已经在阿里巴巴部署了超过600个应用,经过一年多
Stella981 Stella981
3年前
JUC学习之Exchanger
直接看代码吧package exchange;import java.util.concurrent.Exchanger;/  Exchanger让两个线程可以互换信息。  例子中服务生线程往空的杯子里倒水,顾客线程从装满水的杯子里喝水,  然后通过Exchanger
Stella981 Stella981
3年前
IntentService用法小结
废话少说,先总结:1\.Service默认是在主线程(UI线程)运行的。2\.IntentService可以为我们开启一个独立的线程来工作。注:IntentService必须开启一个无参的构造方法。流程:构造方法onCreateonStartCommandonHandlerIntentonDestory
Stella981 Stella981
3年前
InnoDB脏页刷新机制Checkpoint
我们知道InnoDB采用WriteAheadLog策略来防止宕机数据丢失,即事务提交时,先写重做日志,再修改内存数据页,这样就产生了脏页。既然有重做日志保证数据持久性,查询时也可以直接从缓冲池页中取数据,那为什么还要刷新脏页到磁盘呢?如果重做日志可以无限增大,同时缓冲池足够大,能够缓存所有数据,那么是不需要将缓冲池中的脏页刷新到磁盘。但是,通常会有以下几
Stella981 Stella981
3年前
HikariCP
数据库连接池技术数据库连接池负责分配、管理和释放数据库的连接。1.数据库连接复用。重复使用现有的数据库连接,可以避免连接频繁建立、关闭的开销。2.统一的连接管理。释放空闲时间超过最大空闲时间的数据库连接,避免因为没有释放数据库连接而引起的数据库连接泄漏。HikariCP字节码精简:优化代码,直到编译后的字节码最少
Wesley13 Wesley13
3年前
Java多线程并发编程一览笔录
知识体系图:!(https://static.oschina.net/uploads/space/2017/0122/170830_4rOH_155593.png)1、线程是什么?线程是进程中独立运行的子任务。2、创建线程的方式方式一:将类声明为Thread的子