背景 有时我们在做开发的时候需要记录每个任务执行时间,或者记录一段代码执行时间,最简单的方法就是打印当前时间与执行完时间的差值,然后这样如果执行大量测试的话就很麻烦,并且不直观,如果想对执行的时间做进一步控制,则需要在程序中很多地方修改,目前spring-framework提供了一个StopWatc ...
分类:
编程语言 时间:
2019-04-12 11:43:18
阅读次数:
211
一 什么是消息队列 我们可以把消息队列比作是一个存放消息的容器,当我们需要使用消息的时候可以取出消息供自己使用。消息队列是分布式系统中重要的组件,使用消息队列主要是为了通过异步处理提高系统性能和削峰、降低系统耦合性。目前使用较多的消息队列有ActiveMQ,RabbitMQ,Kafka,Rocket ...
分类:
其他好文 时间:
2019-04-10 13:15:14
阅读次数:
194
问题: 使用Android Studio 遇到模拟器启动不成功,直接退出,其中event log报错信息: Emulator: Process finished with exit code 139 (interrupted by signal 11: SIGSEGV) 环境: 64-bit Ubu ...
分类:
移动开发 时间:
2019-04-07 21:45:24
阅读次数:
356
一、Psycopg简介Psycopg是Python编程语言中最流行的PostgreSQL数据库适配器。它的主要功能是完整实现Python DB API 2.0规范和线程安全(多个线程可以共享相同的连接)。它专为大量多线程应用程序而设计,可以创建和销毁大量游标并创建大量并发“INSERT”或“UPDA ...
分类:
数据库 时间:
2019-04-05 19:58:09
阅读次数:
181
前言 生产者和消费者问题是多线程模型中的经典问题:生产者和消费者在同一时间段内共用同一个存储空间,生产者往存储空间中添加产品,消费者从存储空间中取走产品,当存储空间为空时,消费者阻塞,当存储空间满时,生产者阻塞。 在JAVA中实现生产者消费者问题时,有三种常用的方式: 使用Object的wait/n ...
分类:
编程语言 时间:
2019-04-03 00:01:26
阅读次数:
218
使用传统命名方式:1、编辑/etc/default/grub配置文件GRUP_CMDLING_LINUX="rhgbquietnet.ifnames=0"或:修改/boot/grub2/grub.cfg2、为grub2生成其配置文件grub2-mkconfig-o/etc/grub2.cfg3、重启系统
分类:
其他好文 时间:
2019-04-02 00:11:37
阅读次数:
174
背景需求 生产消费模型是线程协作关系中十分常见的一种。通常,一个(多个)线程负责生产,一个(多个)线程可以从生产的列表中获取并消费;生产的内容可以按需求设计,可以是一个Integer,可以是String,可以Object,也可以是任意类型的对象,只要有生产消费的需求。 例如,厨师负责生产美食,放在桌 ...
分类:
编程语言 时间:
2019-03-30 01:00:18
阅读次数:
189
BeyondCompare3是一款非常好用的小工具,能直观比较两个文件或文件夹的差别,包括文档、图片、音频和各种脚本文件。 但使用一段时间后会因“许可证密钥已被撤销:3281-0350“而无法使用,近日发现了最完美的解决方法以供参考。 BeyondCompare3是一款非常好用的小工具,能直观比较两 ...
分类:
其他好文 时间:
2019-03-26 15:05:09
阅读次数:
165
#idea开始的内存大小-Xms512m#idea最大的内存 -Xmx2048m#代码内存容量 -XX:ReservedCodeCacheSize=480m -XX:+UseConcMarkSweepGC -XX:SoftRefLRUPolicyMSPerMB=50 -ea -Dsun.io.use... ...
分类:
其他好文 时间:
2019-03-24 18:51:55
阅读次数:
124
1.线程安全产生的原因 如果有多个线程在同时运行,而这些线程可能会同时运行这段代码。 程序每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就是线程安全的。 以电影院卖票为例演示线程安全问题 由三个不同的渠道同时卖100张票 线程任务: 此时执行代码会发现会出现卖第0张和 ...
分类:
编程语言 时间:
2019-03-19 16:33:04
阅读次数:
166