摘要:
使用Retrofit的流程 1. 通过Builder创建Retrofit对象: 2. 用Java注解描述API 3. 通过retrofit创建api对象,并建立Call对象 4. 通过Call对象获取数据, 方法发送异步请求,同步方式则使用 方法 原理解析 Retrofit所做的事情:将Java接口 阅读全文
摘要:
随着学习持续更新 四大组件均可使用 在Manifest中声明成独立进程 Activity 生命周期 4种启动模式 Android使用回退栈来管理Activity实例。当前显示的Activity在栈顶,当点击后退或返回时,栈顶的Activity出栈。 可以指定Activity的启动模式来避免重复创建同 阅读全文
摘要:
前言 Map为一个Java中一个重要的数据结构,主要表示的映射关系对。本文包括了相关Map数据结构的总结和源码的阅读注释。 HashMap 初始化,可以选择第二个初始化函数来设置装载能力 和装载系数 : HashMap中定义的一些常量: 中的定位方式为 基本方法: :若key不存在,则插入;若key 阅读全文
摘要:
Android线程相关 Android应用程序的main函数在ActivityThread中。程序启动后会有默认的主线程(UI线程)。 在线程中关联一个 消息队列 ,所有操作会被封装成消息交给主线程处理。 ActivityThread的 : Handler 每个Handler会关联消息队列,消息队列 阅读全文
摘要:
概念 进程具有自己变量的完备集;线程则共享相同的数据。 抢占式调度:直接中断而不需要实现和 被中断程序 协商 协作式调度:只有在被中断程序同意交出控制权之后才能执行中断 多线程实现 方法一: 方法二(不建议): Thread类 sleep(t):static|线程暂停t毫秒,暂停当前线程的活动,会抛 阅读全文
摘要:
开始使用 在app目录下的build.gradle中添加依赖: GET方法 GET参数的传递可以使用拼接字符串的方式直接拼接到url中。 POST方法 封装 由于OkHttp发送请求的方式比较繁琐,需要构建许多参数,所以需要我们自己进行封装,以下是我的封装方式: 想法有以下几点: 1. 在 和`po 阅读全文
摘要:
《GitHub入门与实践》笔记 推荐Git练习网站: "LearnGitBranching" 初次使用时,使用下列命令设置信息 然后在 中会保存信息,下次修改可以直接修改文件 与github建立连接 先生成ssh密钥: 按程序运行完后会生成id_rsa文件为私有密钥,id_rsa.pub为公开密钥。 阅读全文
摘要:
参考hac师傅的 "博客" 和 "CTF wiki" 自己总结一下。理解有误,请多指正。 堆块概念 堆为程序运行时可以由程序动态申请的 线性 内存区域,由低地址向高地址增长(栈为从高到低),在C语言中可以通过 和`free`进行堆块申请和释放操作。 堆块机制 堆分配中以chunk为单位,其中chun 阅读全文
摘要:
nodejs基础 nodejs允许自己封装模块,使得编写程序可以模块化,便于维护整理。在一个js文件中写完封装的函数或对象后,可以使用 或`module.exports`来将模块中的函数暴露给程序,使得整个程序可以使用,如: 要使用其他模块中的方法时,需要使用 来导入模块,如: 再说回 和`modu 阅读全文