02 2019 档案

摘要:一、类加载器(ClassLoader) 把java类的数据从Class文件中加载到虚拟机内容中,然后对这部分数据进行验证、准备、解析、初始化,最终转换成对应的可以被jvm使用java.lang.Class对象实例。 类加载器的一些方法: getParent() 返回该类加载器的父类加载器; load 阅读全文
posted @ 2019-02-28 14:40 johnny_zhao 阅读(148) 评论(0) 推荐(0) 编辑
摘要:一、== java中的数据类型,可分为两种: 基本数据类型,也称原始数据类型 byte,short,int,long,float,double,char,boolean 他们之间的比较,应该用双等号(==),这是比较他们的值; 引用类型(类、接口、数组) 当用==对它们进行比较的时候,比较的是它们在 阅读全文
posted @ 2019-02-26 16:17 johnny_zhao 阅读(149) 评论(0) 推荐(0) 编辑
摘要:什么是IPC? IPC是Inter-Process Communication的缩写,含义就是进程间通信或者跨进程通信,是指两个进程之间进行数据交换的过程。那什么是进程,什么是线程,进程和线程是两个截然不同的概念。在操作系统中,线程是cpu调度的最小单元,同时线程是一种有限的系统资源。而进程指的一个 阅读全文
posted @ 2019-02-25 15:42 johnny_zhao 阅读(590) 评论(0) 推荐(0) 编辑
摘要:一、对抗反编译 对抗反编译是指apk文件无法通过反编译工具(如apktool,baksmali,dex2jar)对其进行反编译,或者反编译后无法得到软件正确的反汇编代码。常用的做法有两种: 阅读反编译工具源码 这种办法需要分析人员具较强的代码阅读与理解能力,因此,这种方法具体实施起来困难。 压力测试 阅读全文
posted @ 2019-02-24 16:02 johnny_zhao 阅读(5730) 评论(0) 推荐(0) 编辑
摘要:1.下载flutter_macos_v1.0.0-stable.zip, 笔者使用mac book;跳转 2.在中国大陆使用Flutter 参考 运用sh文件进行配置 新建flutter_install.sh,内容如下: 在终端上运行: sudo ./flutter_install.sh,如提示权限 阅读全文
posted @ 2019-02-23 21:37 johnny_zhao 阅读(4514) 评论(0) 推荐(0) 编辑
摘要:/** * 102. Binary Tree Level Order Traversal * https://leetcode.com/problems/binary-tree-level-order-traversal/description/ * * Given a binary tree, return the level order traversal of its nodes'... 阅读全文
posted @ 2019-02-22 15:30 johnny_zhao 阅读(101) 评论(0) 推荐(0) 编辑
摘要:笔者觉得开发团队的管理可分为技术管理与人员管理,欢迎大家批评指正; 技术管理 站在技术角度,管理者要考虑有5个主要的点:如何提高开发效率、保证app运行的稳定性、技术调研、代码管理、风险的把控 ##提高开发效率 a)有清析的流程图、文档 这些对于开发人员在开发代码过程中是相当重要的,前期大家讨论需求 阅读全文
posted @ 2019-02-21 11:55 johnny_zhao 阅读(761) 评论(0) 推荐(0) 编辑
摘要:三次握手 第一次握手:客户端发送syn包(syn=x)到服务器,并进入SYN_SEND状态,等待服务器确认; 第二次握手:服务端收到syn包,必须确认客户端的SYN(ack=x+1),同时自已也发送一个SYN包(syn=y),即SYN+ACK包,此时服务器进入SYN_RECV状态; 第三次握手:客户 阅读全文
posted @ 2019-02-20 23:44 johnny_zhao 阅读(284) 评论(0) 推荐(0) 编辑
摘要:在阎宏博士的《JAVA与模式》一书中开头是这样描述适配器(Adapter)模式的: 适配器模式把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。(内容转自此文章) 适配器模式的用途 用电器做例子,笔记本电脑的插头一般都是三相的,即除了阳级、阴 阅读全文
posted @ 2019-02-20 18:31 johnny_zhao 阅读(133) 评论(0) 推荐(0) 编辑
摘要:在阎宏博士的《JAVA与模式》一书中开头是这样描述原型(Prototype)模式的:(学习) 原型模式属于对象的创建模式。通过给出一个原型对象来指明所有创建的对象的类型,然后用复制这个原型对象的办法创建出更多同类型的对象。这就是选型模式的用意。 原型模式的结构 原型模式要求对象实现一个可以“克隆”自 阅读全文
posted @ 2019-02-20 18:27 johnny_zhao 阅读(123) 评论(0) 推荐(0) 编辑
摘要:在阎宏博士的《JAVA与模式》一书中开头是这样描述建造(Builder)模式的: 建造模式是对象的创建模式。 建造模式可以将一个产品的内部表象(internal representation)与产品的生产过程分割开来,从而可以使一个建造过程生成具有不同的内部表象的产品对象。(内容转自此文章) 产品的 阅读全文
posted @ 2019-02-20 16:19 johnny_zhao 阅读(188) 评论(0) 推荐(0) 编辑
摘要:在阎宏博士的《JAVA与模式》一书中开头是这样描述单例模式的: 作为对象的创建模式,单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类。 单例模式的特点: 单例类只能有一个实例 单例类必须自已创建自已唯一的实例 单例类必须给所有其它对象提供这一实例 饿汉单例类 阅读全文
posted @ 2019-02-20 13:57 johnny_zhao 阅读(154) 评论(0) 推荐(0) 编辑
摘要:引进抽象工厂模式 每一个模式都是针对一定问题的解决方案。抽象工厂模式与工厂方法模式的最大区别就在于,工厂方法模式针对的是一个产品等级结构;而抽象工厂模式则需要面对多个产品等级结构。 在学习抽象工厂具体实例之前,应该明白两个重要的概念:产品族和产品等级。(内容转发此文章) 基本介绍 抽象工厂模式:定义 阅读全文
posted @ 2019-02-20 11:33 johnny_zhao 阅读(102) 评论(0) 推荐(0) 编辑
摘要:在阎宏博士的《JAVA与模式》一书中开头是这样描述工厂方法模式的: 工厂方法模式是类的创建模式,又叫做虚拟构造子(Virtual Constructor)模式或者多态性工厂(Polymorphic Factory)模式。 工厂方法模式的用意是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类中 阅读全文
posted @ 2019-02-20 01:44 johnny_zhao 阅读(148) 评论(0) 推荐(0) 编辑
摘要:在阎宏博士的《JAVA与模式》一书中开头是这样描述简单工厂模式的: 简单工厂模式是类的创建模式,又叫做静态工厂方法(Static Factory Method)模式。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。 那么简单工厂模式是在什么场景下使用呢,下面就以本人的理解举例说明:(转自这 阅读全文
posted @ 2019-02-20 01:03 johnny_zhao 阅读(162) 评论(0) 推荐(0) 编辑
摘要:代理模式 代理模式是常用的设计模式,他的特征是代理类与委托类具有相同的接口,代理类主要为委托类预处理消息、过滤信息、把消息转发给委托类、以及事后处理消息等。代理类与委类一般会存在关联关系,一个代理类的对象与一个委托类的对象关联,代理类对象本身并不提供服务,而是通过调用委托类对象相关的方法来提供服务。 阅读全文
posted @ 2019-02-19 14:11 johnny_zhao 阅读(161) 评论(0) 推荐(0) 编辑
摘要:一、首先,我们先了解下动态代理,因为这里Retrofit的网络请求主要用到动态代理 请查看这篇:代理模式 二、代理关键的部分: ServiceMethod 三、如何从注解中得到请求参数 四、与rxjava结合使用的原理 阅读全文
posted @ 2019-02-19 11:32 johnny_zhao 阅读(184) 评论(0) 推荐(0) 编辑
摘要:一、前言 二、框架结构 三、运用的开发语言 四、对Flutter的理解 阅读全文
posted @ 2019-02-17 10:28 johnny_zhao 阅读(203) 评论(0) 推荐(0) 编辑
摘要:Roboletric是针对Android进行单元测试的平台。以 Java Junit 的方式运行,这样就脱离了对 Android 环境的依赖,而可以直接将 case 在 JVM 中运行,因此很适合将 Roboletric 用于 Android 的测试驱动开发。 一、Roboletric配置 buil 阅读全文
posted @ 2019-02-16 01:56 johnny_zhao 阅读(490) 评论(0) 推荐(0) 编辑
摘要:Step 1 Launcher通过Binder机制通知ActivityManagerService(AMS),它要启动一个Activity; Step 2 AMS通过Binder机制通知Launcher进入Paused状态; Step 3 Launcher通过Binder机制通知AMS,它已经准备就 阅读全文
posted @ 2019-02-15 01:27 johnny_zhao 阅读(505) 评论(0) 推荐(0) 编辑
摘要:相关技术的理解 Single observeOn subscribe subscribeOn rxjava框架内部的主要逻辑是什么 阅读全文
posted @ 2019-02-14 16:06 johnny_zhao 阅读(94) 评论(0) 推荐(0) 编辑
摘要:首先说明下: wait(),notify(),notifyAll()不属于Thread类,而是属于Object基础类,也就是说每个对像都有wait(),notify(),notifyAll()的功能。 因为都个对像都有锁,锁是每个对像的基础,当然操作锁的方法也是最基础了。 wait:线程自动释放其占 阅读全文
posted @ 2019-02-13 15:58 johnny_zhao 阅读(793) 评论(0) 推荐(0) 编辑
摘要:说明: join方法定义在Thread类中,调用者是线程; 使用: 当需要两个线程依次执行时,可使用join(); 执行: 打印结果: Thread-1:0Thread-0:0Thread-1:1Thread-0:1Thread-1:2Thread-1:3Thread-1:4Thread-1:5Th 阅读全文
posted @ 2019-02-13 15:48 johnny_zhao 阅读(1259) 评论(0) 推荐(0) 编辑
摘要:/** * 66. Plus One * https://leetcode.com/problems/plus-one/description/ * https://www.cnblogs.com/grandyang/p/4079357.html * * Given a non-empty array of digits representing a non-negative integer, p... 阅读全文
posted @ 2019-02-11 10:43 johnny_zhao 阅读(169) 评论(0) 推荐(0) 编辑
摘要:在android事件传递一般包括三个对象: Activity,ViewGroup,View,事件分发顺序为:Activity->ViewGroup->View,事件分发过程由 onTouchEvent() onInterceptTouchEvent() dispatchTouchEvent()这三个 阅读全文
posted @ 2019-02-03 18:27 johnny_zhao 阅读(384) 评论(0) 推荐(0) 编辑
摘要:/** * 78. Subsets * https://leetcode.com/problems/subsets/description/ * * Given a set of distinct integers, nums, return all possible subsets (the power set).Note: The solution set must not contain d... 阅读全文
posted @ 2019-02-01 18:39 johnny_zhao 阅读(119) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示