前言 在并发编程中,需要解决两个关键问题: 线程之间如何通信; 线程之间如何同步; 线程通信是指线程之间以何种机制来交换信息。在命令式编程中,线程之间的通信机制有两种:共享内存和消息传递。 在共享内存的并发模型里,线程之间共享程序的公共状态,线程之间通过写-读内存中的公共状态来隐式进行通信。 在消息 ...
分类:
其他好文 时间:
2020-07-11 15:37:40
阅读次数:
82
public override void OnException(HttpActionExecutedContext actionExecutedContext) { var x = actionExecutedContext.Exception; Trace.TraceError(x.ToStri ...
apt-cache和apt-get是apt包的管理工具, 他们根据/etc/apt/sources.list里的软件源地址列表搜索目标软件、并通过维护本地软件包列表来安装和卸载软件。 Ubuntu : apt-get 命令 Ubuntu中apt与apt-get命令的区别 一.查看本机是否安装软件 w ...
分类:
系统相关 时间:
2020-07-11 09:46:35
阅读次数:
73
package com.bi import java.sql.{Connection, DriverManager, Timestamp} import java.util.Calendar /** * Created by xxx on 2017/6/28. */ object MySqlConn ...
分类:
数据库 时间:
2020-07-10 23:50:33
阅读次数:
64
Header 和 Params 的区别: Headers The REST headers and parameters contain a wealth of information that can help you track down issues when you encounter th ...
分类:
其他好文 时间:
2020-07-10 16:59:18
阅读次数:
62
Buffered缓冲流 示例代码: /** * 缓冲流的使用 * 1.缓冲流 * BufferedInputStream * BufferedOutputStream * BufferedReader * BufferedWriter * * 2。作用:提高读取和写入的速度 * 提高速度的原因:内部 ...
分类:
其他好文 时间:
2020-07-10 15:33:27
阅读次数:
53
1.1 关于Caffeine Cache ? Google Guava Cache是一种非常优秀本地缓存解决方案,提供了基于容量,时间和引用的缓存回收方式。基于容量的方式内部实现采用LRU算法,基于引用回收很好的利用了Java虚拟机的垃圾回收机制。其中的缓存构造器CacheBuilder采用构建者模 ...
分类:
系统相关 时间:
2020-07-10 13:38:09
阅读次数:
146
一、Log4j2日志框架Spring5 已经移除 Log4jConfigListener,官方建议使用 Log4j21)引入 jar 包 2)创建 log4j2.xml 配置文件 FATAL > ERROR > WARN > INFO > DEBUG > TRACE > ALL --> ... ...
分类:
编程语言 时间:
2020-07-10 11:18:27
阅读次数:
58
两条SQL命中的记录各三条。一看是死锁,第一反应是发生记录资源互斥等待。猜想会不会是这6行记录在执行update的时候SQL1和SQL2修改的记录发生了互斥 菜瓜:所以你最开始想的是更新时两条SQL获取记录的顺序反了,譬如说SQL1先拿35610742,再拿35610744前,SQL2先把35610 ...
分类:
其他好文 时间:
2020-07-10 00:27:44
阅读次数:
67
Laravel Redis分布式锁的使用 创建锁 use Illuminate\Support\Facades\Cache; $lock = Cache::lock('foo', 10); if ($lock->get()) { // 处理业务逻辑 sleep(3); $lock->release( ...
分类:
其他好文 时间:
2020-07-09 22:22:13
阅读次数:
117