刘望舒 刘望舒
4年前
Android系统启动流程(一)解析init进程启动过程
作为“Android框架层”这个大系列中的第一个系列,我们首先要了解的是Android系统启动流程,在这个流程中会涉及到很多重要的知识点,这个系列我们就来一一讲解它们,这一篇我们就来学习init进程。"tag:Android框架层Android系统启动categories:Android框架层本文首发于微信公众号「刘望舒」
Wesley13 Wesley13
3年前
java 面试知识点笔记(十)多线程与并发
问:线程安全问题的主要诱因?1.存在共享数据(也称临界资源)2.存在多条线程共同操作这些共享数据解决方法:同一时刻有且只有一个线程在操作共享数据,其他线程必须等到该线程处理完数据后再对共享数据进行操作互斥锁的特征:1.互斥性:即在同一时间只允许一个线程持有某个对象锁,通过这种特性来实现多线程协调机制,这样在同一时间只有一
Stella981 Stella981
3年前
CentOS 系统内核优化
ulimit调优ulimit n 查看最大允许打开文件数ulimit u 查看最大允许进程数/etc/security/limits.conf格式如下username|@groupname type resource limitusername|@groupname:为限定的用户名或
Wesley13 Wesley13
3年前
Go配置文件热加载
在日常项目的开发中,我们经常会使用配置文件来保存项目的基本元数据,配置文件的类型有很多,如:JSON、xml、yaml、甚至可能是个纯文本格式的文件。不管是什么类型的配置数据,在某些场景下,我们可会有热更新当前配置文件内容的需求,比如:使用Go运行的一个常驻进程,运行了一个WebServer服务进程。此时,如果配置文件发生变化,我们
Stella981 Stella981
3年前
LInux操作命令日常记录
1.psef|grepmysql显示有关mysql有关的进程2.sudojournalctluNetworkManagerf查看实时日志(deepin)3.netstatantulp|grepssh  查看服务信息4.dpkg l | grep ^rc | cut d' ' f3 | sudo xarg
Wesley13 Wesley13
3年前
Java并发系列 1
程序开发中并发的场景还是比较常见的,特别是当下分布式环环境开发大行其道的情况下,从前端处理,到服务调用、缓存处理、数据库处理、文件处理、消息处理等等,无不需要并发的知识。从今天开始,我要写一个关于Java并发的系列文章,希望各位可以从中受益。我们先从基础的线程开始说起!一、线程基础知识从宏观来看,简单说一下进程:所谓进程
Wesley13 Wesley13
3年前
NGINX 详细配置信息
运行用户usernobody;启动进程,通常设置成和cpu的数量相等worker_processes1;全局错误日志及PID文件error_loglogs/error.log;error_loglogs/error.lognotice;err
Wesley13 Wesley13
3年前
Java 8 中你可能没听过的 10 个新特性
lambda表达式,一提到Java8就只能听到这个,但这不过是其中的一个新功能而已,Java8还有许多新的特性——有一些功能强大的新类或者新的用法,还有一些功能则是早就应该加到Java里了。default方法终止进程第一个是isAlive()方法,有了它你可以判断进程是否还活着。第二个方法则更加强大,它叫destroyForc
Stella981 Stella981
3年前
Redis为什么使用单进程单线程方式也这么快
Redis采用的是基于内存的采用的是单进程单线程模型的KV数据库,由C语言编写。官方提供的数据是可以达到100000的qps。这个数据不比采用单进程多线程的同样基于内存的KV数据库Memcached差。Redis快的主要原因是:1.完全基于内存2.数据结构简单,对数据操作也简单3.使用多路I/O复用模型第一、二点不细讲,主要
DevOpSec DevOpSec
1年前
lxcfs容器资源视图隔离 for k8s
k8s版本1.25.6,业务k8s容器化,虚机里进程迁移到容器里后,运维在执行freemtop等命令排查问题时一脸迷惑,显示内存还有很多结果pod的容器被oom或CPU资源显示很多核且空闲很多资源进程却运行很慢,我们看到的资源视图是物理机的而非我们做了限定pod里容器的资源,这给研发和运维排查问题带来一定的干扰。