月份:2019年2月

LineageOS 15.1 For 魅族16 2019-02-26

LineageOS Lineage版本:15.1 android版本: 8.1 编译日期: 2019-02-18 适配机型: 魅族16th 此为最终版,以后应该不会再更新了 适配进度: 大部分的硬件都工作正常,适合日常使用 注意事项: 刷入前请双清并清除fbe加密(rec自带功能)并格式化data 需提前解锁bootloader 刷入后需手动去除avb校验(rec自带功能)或者卡刷一个magisk 魅族16th twrp 链接: https://pan.baidu.com/s/1h4Ce22DGWe_ZNtq8dk799A 提取码: 3tih 刷机包 20190218 https://pan….

阅读全文 »

JAVA 多线程 基础

java中的线程操作都是就基于Thread类以及派生类实现的。 学习java多线程知识的时候,建议阅读java的源码,了解实现原理,而且源码包本身也提供了一些example。 阅读本文需要预先学习lambda,函数式接口等基础知识。这不算什么教材,并逼近于笔记,以知识点为主。 1.写一个简单的多线程例子 一句话简述:创建一个Thread实例,传递一个Runnable对象,调用Thread的start方法执行方法。 new Thread(()->{}).start(); 这大概是最精简的代码了.具体的代码解释如下。 Thread类是java中实现多线程的核心类,包含了多线程相关的大部分操作。这里…

阅读全文 »

Java 类的加载和初始化

直接从书上抄来的,自己写一遍加深印象 类的加载 加载就是通过指定的类全限定名,获取此类的二进制字节流(可以是clazz文件或者直接内存读取或者远程网络,jar包等),然后将此二进制字节流转化为方法区的数据结构,在内存中生成一个代表这个类的java.lang.Class对象。 java.lang.Class这个类用于维护目标类,包括读取字段 读取构造函数,读取方法,创建实例(newInstance)等等。 class对象可以通过Class.forName(“java.lang.String”)获取,或者直接String.class获取, 或者”java.lan…

阅读全文 »