灯灯灯灯 灯灯灯灯
4年前
Java并发之Semaphore源码解析
Semaphore前情提要在学习本章前,需要先了解ReentrantLock源码解析,ReentrantLock源码解析里介绍的方法有很多是本章的铺垫。下面,我们进入本章正题Semaphore。从概念上来讲,信号量(Semaphore)会维护一组许可证用于限制线程对资源的访问,当我们有一资源允许线程并发访问,但我们希望能限制访问量,就可以用信号量对访问线程
皕杰报表之性能管理
1报表缓存当某个客户端访问某个报表,引擎将其计算出来后,会将运算结果缓存下来,之后如果再有别的客户端用相同的参数访问同一个报表,引擎会将缓存下来的报表结果直接返回给该客户端,而不会重新计算报表。这种缓存方式在大用户并发的情况下可以大大的提高性能,缓解服务器
待兔 待兔
4年前
关于Golang的那些事(一) -- Node.js和Golang对比
之前一直用Node.js作为开发语言,用了差不多4年的Node.js,涉及前端和后端,最近看到Golang这个新兴之秀挺火的,于是想探究探究一下这门语言,对比了一下他们的Githubrepo,截止现在Node.js的repo有72.5K星,issue数量是859个,Golang的repo有75.7K星,issue数量是5K个。从趋势来看,Golang来势
kenx kenx
3年前
Mysql 日期格式化 复杂日期区间查询
前言最近在做项目涉及到Mysql的复杂日期查询,日期查询其实在数据库中查询其实还是用的挺多的,比如查询开始日期到结束日期的区间信息,查询日期小于有效日期的信息,查询当天的日期,明天的日期,做比较等。查询使用场景案例1.时间区间查询查询,2021年06月01号到2021年08月25号的数据javaSELECTFROMdateTestwhe
Stella981 Stella981
3年前
Flutter仿写一个iOS风格的通讯录
此文章主要介绍怎么使用Flutter的Cupertino风格控件,写一个iOS风格的通讯录,还有在此过程中遇到的问题及解决办法。大家在用Flutter写App的时候,一般都会使用material风格的控件,因为material风格的控件比较丰富,但是,他在iOS上就会显得Android气息比较重,不太适合,所以本文章将通过用仿写iOS通讯录,系统地介绍C
Stella981 Stella981
3年前
Js中polyfill的使用限制
随着浏览器的更新,JS也在新增功能功能。这些功能为我们开发带来了很大的便利。在旧浏览器上使用,需要引入相关的polyfill才能用。然而,有些功能在旧浏览器中是无法完美实现的,只有在一定条件下才能使用。本文将为大家分析这些功能的使用限制。Symbol1.禁止用typeof和instanceof,如果要判断,建议判断是否是string。
Stella981 Stella981
3年前
Python自制微信机器人:群发消息、自动接收好友
!程序员鼓励师(https://oscimg.oschina.net/oscnet/b1dcd888c663bd956dad172e1ffb85ef1f7.png)运营公众号也有半年了,今年5月份开始的,之前一直用一款windows工具来运营自动接受好友请求、群发文章、自动回复等操作,但颇有不便。举几个场景:1.突然在外面看到一篇文章很好
Wesley13 Wesley13
3年前
2014 全国最新省市地区 SQL(国家统计局发布20130831版)
根据国家统计局20130831最新的统计结果生成的最新国家省市,直辖市包含了县和直辖市,但是我用的没有县,所以经过的我的加工。china.txt为处理过的单纯的国家省市代码及结构。s\_region\_1.sql为没有pid的数据结构。s\_region.sql为我加工过的数据结构。百度云盘:http://pan.baidu.com
Stella981 Stella981
3年前
Python实现守护进程
概念守护进程(Daemon)也称为精灵进程是一种生存期较长的一种进程。它们独立于控制终端并且周期性的执行某种任务或等待处理某些发生的事件。他们常常在系统引导装入时启动,在系统关闭时终止。unix系统有很多守护进程,大多数服务器都是用守护进程实现的,例如inetd守护进程。需要了解的相关概念进程(process)
Easter79 Easter79
3年前
Spring两种依赖注入方式的比较
我们知道,Spring对象属性的注入方式有两种:设值注入和构造注入。先看代码:  假设有个类为People,该对象包含三个属性,name和school还有age,这些属性都有各自的setter和getter方法,还有一个包含这三个属性的构造方法。如果用spring来管理这个对象,那么有以下两种方式为People设置属性:  1.设值注入: