手机图片上传后获取到的宽高反了,网上的说法是操作系统里的文件属性功能可能已经把图片给修正过了,看到的图片是正确的,但是通过getimagesize获取到的宽高不对;这时需要用到exif扩展的exif_read_data方法获取图片头部信息 exif扩展安装:[https://www.cnblogs. ...
分类:
Web程序 时间:
2021-07-28 21:37:41
阅读次数:
0
1. 🍎vmstat查看监控系统资源状态 vmstat [刷新延时 刷新次数] eg: vmstat 1 3 procs: 进程信息字段 r: 等待运行的进程数,数量越大,系统越繁忙; b: 不可被唤醒的进程数量,数量越大,系统越繁忙; memory: 内存信息字段 swpd: 虚拟内存的使用情况 ...
分类:
系统相关 时间:
2021-07-27 17:39:56
阅读次数:
0
《对线面试官》系列目前已经连载31篇啦,这是一个讲人话面试系列 【对线面试官】Java注解 【对线面试官】Java泛型 【对线面试官】 Java NIO 【对线面试官】Java反射 && 动态代理 【对线面试官】多线程基础 【对线面试官】 CAS 【对线面试官】synchronized 【对线面试官 ...
分类:
其他好文 时间:
2021-07-27 17:37:43
阅读次数:
0
程序员经常要面临的一个问题就是:如何提高程序性能? 这篇文章,我们循序渐进,从内存、磁盘I/O、网络I/O、CPU、缓存、架构、算法等多层次递进,串联起高性能开发十大必须掌握的核心技术。 - I/O优化:零拷贝技术- I/O优化:多路复用技术- 线程池技术- 无锁编程技术- 进程间通信技术- RPC ...
分类:
其他好文 时间:
2021-07-27 17:35:42
阅读次数:
0
ThreadPoolExecutor添加线程源码解析——addWorker 该方法的主要目的就是为了向线程池中创建线程(worker),并执行线程。 private boolean addWorker(Runnable firstTask, boolean core) { retry: for (; ...
分类:
编程语言 时间:
2021-07-27 17:35:04
阅读次数:
0
核心思想 读写分离,空间换时间,避免为保证并发安全导致的激烈的锁竞争。 关键点 1、CopyOnWrite适用于读多写少的情况,最大程度的提高读的效率; 2、CopyOnWrite是最终一致性,在写的过程中,原有的读的数据是不会发生更新的,只有新的读才能读到最新数据; 3、如何使其他线程能够及时读到 ...
分类:
其他好文 时间:
2021-07-26 16:56:42
阅读次数:
0
首先我们来看下进程程注入的核心逻辑(不考虑寻找目标进程、不考虑注入内容的执行) /* 注入恶意Payload: OpenProcess 可以打开目标进程 VirtualAllocEx 在目标进程中分配一块内存区域 WriteProcessMemory 在刚刚分配的内存区域中写入恶意的Payload ...
分类:
其他好文 时间:
2021-07-26 16:55:06
阅读次数:
0
psacct 简介 管理员可以使用 psacct 软件包提供的工具监视所有用户执行的命令,包括 CPU 时间和内存占用,实现进程 记帐功能。 psacct 软件包提供了三个进程活动监视工具 : ac, lastcomm和 sa。 内容提要 了解 psacct 软件包的组成 掌握 lastcomm 和 ...
分类:
其他好文 时间:
2021-07-26 16:52:11
阅读次数:
0
一、继承Thread类 重写run()方法 二、实现Runnable接口 实现run()方法 不能返回值、不能抛出异常 三、实现Callable接口 重写call()方法 返回值 抛异常 第三种方式需要借助FutureTask来使用:new Thread(new FutureTask(new MyC ...
分类:
编程语言 时间:
2021-07-26 16:48:30
阅读次数:
0
FutureTask(未来任务) 一、前情回顾(重要) 首先我们先回顾一下多线程创建的方式 直接继承Thread方式 实现Runnable 方式 实现Callable方式 线程池方式 这四种方式主要分为两类:没返回值的(1,2) 有返回值的(3,4) 没返回值的相信已经烂熟于心了。这次我们讲讲有返回 ...
分类:
其他好文 时间:
2021-07-26 16:46:03
阅读次数:
0