简
4年前
Android技术架构演进与未来
引言众所周知,Android是谷歌开发的一款基于Linux的开源操作系统,每年迭代一次大版本升级。小米、华为、OPPO、VIVO、三星等各大厂商对Android原生系统进行二次开发衍生出具有各家特色的系统(比如MIUI),为手机、电视、平板电脑、手表等数十亿设备提供平台支持,使得Android作为全球最受欢迎的移动操作系统。Android诞生至今已
Easter79 Easter79
3年前
strace命令使用
命令介绍strace是Linux环境下的一款程序调试工具,用来输出一个应用程序所使用的系统调用。strace底层使用内核的ptrace特性来实现其功能。什么是系统调用?系统调用是通向操作系统本身的接口,是面向底层硬件的。通过系统调用,可以使得用户态运行的进程与硬件设备(如CPU、磁盘、打印机等)进行交互,是操作系统留给
芝士年糕 芝士年糕
2年前
Xshell如何连接虚拟机
前言:最近在了解nginx相关知识,所以创建Linux虚拟机(Centos7系统)进行学习,为了方便交互准备使用Xshell7来连接虚拟机操作。具体操作步骤:1.检查Linux虚拟机的网络连接模式,选择NAT模式。(注意:虚拟机关闭状态下才可修改)2.在VMware WorkstationPro里,点击菜单栏上的【编辑】–【虚拟网络编辑器】,打开下方的虚
Kevin501 Kevin501
4年前
Mysql 多表联合查询效率分析及优化
Mysql多表联合查询效率分析及优化一、总结一句话总结:连表操作时:先根据查询条件和查询字段确定驱动表,确定驱动表之后就可以开始连表操作了,然后再在缓存结果中根据查询条件找符合条件的数据1、找出所有在左表,不在右表的纪录?我们可以用右表没有on匹配则显示null的规律,来找出所
Wesley13 Wesley13
3年前
Java8并行http请求加快访问速度
背景1.通常我们在获取到一个list列表后需要一个挨着一个的进行遍历处理数据,如果每次处理都需要长时间操作,那整个流程下来时间就是每一次处理时间的总和。2.Java8的stream接口极大地减少了for循环写法的复杂性,stream提供了map/reduce/collect等一系列聚合接口,还支持并发操作:parallelStream。例子
Stella981 Stella981
3年前
Spring Cache缓存技术的介绍
缓存用于提升系统的性能,特别适用于一些对资源需求比较高的操作。本文介绍如何基于springbootcache技术,使用caffeine作为具体的缓存实现,对操作的结果进行缓存。demo场景本demo将创建一个web应用,提供两个Rest接口。一个接口用于接受查询请求,并有条件的缓存查询结果。另一个接口用于获取所有缓存的数据,用于监控
Wesley13 Wesley13
3年前
Java多线程并发中 CAS 的使用与理解
一、CAS(CompareAndSwap):  CAS(CompareAndSwap),即比较并交换CAS(V,E,N)。是解决多线程并行情况下使用锁造成性能损耗的一种机制,CAS操作包含三个操作数——要更新的变量(V)、预期原值(E)和新值(N)。核心算法是如果V值等于E值,则将V的值设为N。若V值和E值不同,则说明已经有其他线
Wesley13 Wesley13
3年前
JUC上篇
1、JUC是什么?!(https://oscimg.oschina.net/oscnet/1232464cdfec08eb1787c53e84aef787021.jpg)2.首先要回忆一下什么是进程和线程。进程:进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本的分
Wesley13 Wesley13
3年前
Oracle的使用笔记
1. 虚表dual     虚表是Oracle提供的用于操作函数的方式,属于sys用户,共享给所有用户使用。虚表dual是单行单列的表,表中存放一个常量数据X。     虚表的意义:更方便的操作函数或者查询常量。2\.函数      单行函数:表中的一列作为函数的参数,对于每一条记录,函数都有一个返回值。例如:u
Wesley13 Wesley13
3年前
MFC 控件编程之水平滚动条跟垂直滚动条
        MFC控件编程之水平滚动条跟垂直滚动条一点水平滚动条的操作  首先在操作滚动条的时候.我们要知道滚动条的一些属性.比如我们要设置最大值最小值.以及每次递增的值是多少.都要设置.所有就有一个结构.专门存储了滚动条信息.而我们在对话框一启动就要