业务系统中,使用update语句更新数据是再正常不过的场景,我们也经常通过update更新的行数,来做一些业务判断,类似下面的伪代码:(mybatis + mysql 场景) if (xxxMapper.updateByPrimaryKeySelective(entity)> ...
面试题剖析 在项目中缓存是如何使用的 这个,你结合你自己项目的业务来,你如果用了那恭喜你,你如果没用那不好意思,你硬加也得加一个场景吧 为啥在项目里要用缓存呢 用缓存,主要是俩用途,高性能和高并发 高性能 假设这么个场景,你有个操作,一个请求过来,吭哧吭哧你各种乱七八糟操作mysql,半天查出来一个结果,耗时 ms。但是这个结果可能接下来几个小时都不会变了,或者变了也可以不用立即反馈给用户。那么 ...
2019-03-10 17:00 0 729 推荐指数:
业务系统中,使用update语句更新数据是再正常不过的场景,我们也经常通过update更新的行数,来做一些业务判断,类似下面的伪代码:(mybatis + mysql 场景) if (xxxMapper.updateByPrimaryKeySelective(entity)> ...
ThinkPHP在开启DEBUG的情况下会在Runtime目录下生成日志,而且debug很多站都没关的,所以影响应该很大吧 我们来看一下ThinkPHP3.2版本生成日志结构: THINKPH ...
线程池是个好东西,最大线程数限制了服务无限制使用宝贵的操作系统线程,最大队列保护内存溢出,完美! 但是线程池使用不当也会导致死锁。这种死锁,要是不知道原理,死都不知道咋死的,并且非常难定位。大家知道,死锁一般都是由于资源征用引起的。而线程池引起的死锁,可能连个synchronize关键字都没有 ...
因为在SubThread9类中getSum()没有用synchronized 修饰,直接写成 public int getSum(){} 而导致了异常java.lang.I ...
Java对多线程有良好的支持,并且提供了方便使用的线程池框架(Executor)。但如果使用不当,可能会带来一些不安全的隐患。本文将分享一次由于随意创建线程池造成线程数持续增加的问题。 一、背景 首先看一个图,下图是线上服务器Java线程数的监控图。 图中每个下降的点都是在该时间点有上线 ...
FILE * popen(const char * command, const char * type)popen函数会通过fork产生子进程,然后从子进程中调用/bin/sh -c执行参数comm ...
Microsoft.Extensions.DependencyInjection中(下面简称DI)的Transient依赖注入关系,表示每次DI获取一个全新的注入对象。但是使用Transient依赖注入关系时,最好要配合IServiceScope来一起使用,因为通过Transient依赖注入 ...
摘自:https://www.cnblogs.com/hollischuang/p/11832947.html FastJson稍微使用不当就会导致StackOverflow GitHub 9.4k Star 的Java工程师成神之路 ,不来了解一下 ...