Jevis's Blog

Thinking will not overcome fear but action will.

Android 中的 EventBus

学习之前 先说EventBus是什么: EventBus是 基于 订阅/发布 模式实现的 基于事件的异步分发处理系统。好处就是能够解耦 订阅者 和 发布者,简化代码 案例展示 data class MsgEvent(val msg: String, val code: Int) class MainActivity : AppCompatActivity() { compan...

Android 中的 LifeCycle

学习之前 在正式阅读源码之前,很有必要先介绍三个名词:LifecycleOwner ,LifecycleObserver,Lifecycle 。 LifecycleOwner 是一个接口,接口通常用来声明具备某种能力,LifecycleOwner 的能力就是具有生命周期。Activity 和 Fragment 就是典型的生命周期组件。 我们也可以自定义生命周期组件,而 LifecycleO...

Android SharedPreferences解析

源码解析 SharedPreferences 的使用很简单,这里就不再演示了。下面就按 获取 SharedPreference 、getXXX() 获取数据 和 putXXX()存储数据 这三方面来阅读源码。 1. 获取 SharedPreferences 1.1 getDefaultSharedPreferences() 一般我们会通过 PreferenceManager 的 ge...

Android 中的消息机制

典型案例分析 override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) mTextView = findViewById(R.id.textView1); //...

Kotlin 泛型中的 in 和 out

与 Java 泛型对比

in & out out (协变) 如果泛型类只将泛型类型作为函数的返回(输出),那么使用 out 可以称之为生产类/接口,它主要是用来生产指定的泛型对象 // 子类泛型对象可以赋值给父类泛型对象用 out interface Production<out T> { fun produce(): T } 可以称其为 production class/inte...

Mac 使用

安装 homobrew

Mac 安装 homobrew 报错解决 按照官网(https://brew.sh/index_zh-cn.html)给的命令: /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 执行后 报错: xcode-select: error:...

Nginx 安装与使用

网络应用

1.Nginx 安装 系统安装 sudo apt-get install nginx 缺点: 不能自主选择安装版本 不能自主选择编译的模块 扩展功能变得很麻烦,需要重新编译 重启服务,修改配置都需要root权限 编译安装 下载openssl主要用于ssl模块加密,支持https ```shell script wget https://www.openssl...

Jupyter lab安装及远程访问

Python 应用

1.Jupyter Lab安装 注意:安装版本最好为 2.* pip install jupyterlab==2.2.6 2.远程配置 1.生成jupyter密码密文 命令行输入 Python 后: from notebook.auth import passwd passwd() # 提示输入密码和确认输入,完成后得到密文。 # Enter password: # Verify ...

Java Note 6

Java 内部类

1.内部类的创建 一个定义在另一个类中的类,叫作内部类 如果想从外部类的非静态方法之外的任意位置创建某个内部类的对象,那么必须具体地指明这个对象的类型:OuterClassName.InnerClassName 注:在外部类的静态方法中也可以直接指明类型 InnerClassName,在其他类中需要指明 OuterClassName.InnerClassName 2.链接外部类 当生...

Linux指令整理

整理的一些个人常用的 Linux 指令

随便整理的一些自用的Linux指令 常用操作 显存使用情况 nvidia_smi 静态显卡使用情况 watch -n 10 nvidia-smi 每 10s 显示一次显存的情况 gpustat python查看显存使用命令,需要安装gpustat包 pip install gpustat 用户进程 ps 查看进程统计信息 -ux 当前用户 -aux 全部用户 ...