刘望舒 刘望舒
4年前
Android应用程序进程启动过程(后篇)
本文首发于微信公众号「后厂技术官」前言在前篇中我们讲到了Android应用程序进程启动过程,这一篇我们来讲遗留的知识点:在应用程序进程创建过程中会启动Binder线程池以及在应用程序进程启动后会创建消息循环。<more1.Binder线程池启动过程我们首先来看RuntimeInit类的zygoteInit
Wesley13 Wesley13
4年前
java多线程加锁的简单处理办法
    当对数据修改时,如果两个线程同时去修改同一条数据,这样产生的结果就不是我们预期的结果。这时候就需要对修改操作进行加锁,让jvm里同一时刻只能有一个线程能够执行修改方法。    下面是一个未加锁的修改方法:   public void update(Entry entry){    dao.update(entry);
DevOpSec DevOpSec
5年前
30min搭建kubernetes
masterandnode操作如下yum源修改//备份本地yum源mv/etc/yum.repos.d/CentOSBase.repo/etc/yum.repos.d/CentOSBase.repo_bak//获取阿里yum源配置wgetO/etc/yum.repos.d/CentOSBase.repohttp:
九路 九路
5年前
IntentService使用以及源码分析
一概述我们知道,在Android开发中,遇到耗时的任务操作时,都是放到子线程去做,或者放到Service中去做,在Service中开一个子线程来执行耗时操作。那么,在Service里面我们需要自己管理Service的生命周期,何时开启何时关闭,还是很麻烦的,还好Android给我们提供了一个这样的类,叫做IntentService那么Intent
Stella981 Stella981
4年前
Docker 安装 MariaDB
1dockersearchmariadb搜索mariadb镜像(非必须)2dockerpullmariadb下载docker镜像3dockerimages查看本地已有的所有镜像4mkdirp/data/mariadb/data建一个目录作为和容器的映射目录5dockerrunnamemariadb
Wesley13 Wesley13
4年前
Java中的读写锁ReadWriteLock
ReadWriteLock是JDK中的读写锁接口ReentrantReadWriteLock是ReadWriteLock的一种实现读写锁非常适合读多写少的场景。读写锁与互斥锁的一个重要区别是读写锁允许多个线程同时读共享变量,这是读写锁在读多写少的情况下性能较高的原因。读写锁的原则:多个线程可同时读共享变量只允许一
Wesley13 Wesley13
4年前
NIO 非阻塞IO
NIO与IO的区别NIO特点:非阻塞,面向缓冲区IO特点:阻塞式,面向流阻塞与非阻塞javaio是阻塞式的,当一个线程调用read或者write方法后开始阻塞,直到读取到数据或者写入数据完成,该线程一直处于阻塞状态不能做其他事情。javanio通过选择器实现非阻塞式IO,通过一个专门的选
Wesley13 Wesley13
4年前
ubuntu 使用ssh登录github 避免提交时输入用户名和密码
原文链接: ubuntu使用ssh登录github避免提交时输入用户名和密码(https://my.oschina.net/ahaoboy/blog/3120961)ssh免密需要使用ssh方式clone仓库本地安装gitsudoaptgetupdatesudoaptgetinstallgit在用户主目录
Stella981 Stella981
4年前
Spring Boot项目打包并部署到云服务器
SpringBoot项目打包并部署到云服务器一、云服务器的环境OS:CentOS7Jdk1.8SpringBoot自动集成Tomcat,不需要单独配置二、本地SpringBoot项目打包我使用的工具是IntelliJ
Wesley13 Wesley13
4年前
Java使用opencv进行二维码定位、矫正和裁剪
例子使用的版本为3.4.0,安装配置网上资料比较多。代码为本地测试时候的版本,所以会有点乱。importorg.opencv.core.;importorg.opencv.imgcodecs.Imgcodecs;importorg.opencv.imgproc.Imgproc;importorg.ope