自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

赵星海的博客

业精于勤荒于嬉 行成于思毁于随

  • 博客(27)
  • 资源 (3)
  • 收藏
  • 关注

原创 kotlin gson 转集合

val listType : Type = object : TypeToken<ArrayList<Bean_meal_all>>() {}.typeimport java.lang.reflect.Type

2020-09-27 18:41:18 1187 3

原创 Android 应用启动流程(一句话总结,一张图说明)

概述:Loader > Kernel > Native > Framework > Application细分:BootRom > Bootloader > Kernel > Init > Zygote > SystemServer > LauncherLoader层主要包括Boot Rom和Boot Loader Kernel层主要是Android内核层 Native层主要是包括init进程以及其fork出来的用户空间的守护进程...

2020-09-26 10:50:27 399 1

原创 Android 那些年用过的托管平台

任务托管平台:禅道,JIRA,Redmine,BUGTAGS代码托管平台:GitLab,码云/Gitee,Codeing/扣钉,GitHub文档托管平台:Wiki,Google Docs,KanCloudUI托管平台:蓝湖,Figma

2020-09-26 10:46:39 509

原创 算法探索_翻转二叉树

问题描述:翻转一棵二叉树。示例:来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/invert-binary-tree解决思路:1.首先你要明白用递归2.其次你要明白上层叶子左右交换,从他往下的所以元素连带就交换了,不要想的那么复杂3.主要理解其递归思想,一通百通 /* *作者:赵星海 *时间:2020/9/25 9:12 *用途:翻转二叉树 */ public

2020-09-25 09:27:50 213

原创 Android 所谓“JNI”仅两行代码

Java中调用:native方法 的名字、参数类型和数量,必须和SO文件中的C方法中高度一致public class Decoder { //so 文件中同名方法 public native int test(int id); static { System.loadLibrary("SO文件的名字"); }}项目中JNI文件夹固定位置和命名so文件放在 main/jniLibs/armeabi文件夹下(1.后俩文件夹手动创建 2.该目录为默认.

2020-09-23 11:27:41 237

原创 在java或kotlin中 如何解决 Double 大数自动转科学计数的问题

Double类型的值 大小超过一定量时,会自动转科学计数法展示。如何让Double大数也能正常展示呢?java: double CSDN深海呐 = 100000000.00; NumberFormat instance = NumberFormat.getInstance(); instance.setGroupingUsed(false);//设置不使用科学计数器 instance.setMaximumFractionDigits(2

2020-09-17 15:56:58 2222 1

原创 Android 体系结构

图片来自网络整体结构由下至上分别是:1、Linux内核层Android是基于Linux内核的。(1)提供了安全性、内存管理、进程管理、网络协议和驱动模型等...核心系统服务(2)为各种硬件提供了驱动程序,如显示驱动、相机驱动、蓝牙驱动、电池管理等等。2、硬件抽象层(Hardware Abstraction Layer)Android的硬件抽象层,简单来说,就是对Linux内核驱动程序的封装,向上提供接口,屏蔽低层的实现细节。HAL 可定义一个标准接口以供硬件供应商实现,这...

2020-09-17 09:59:21 3556 1

原创 算法探索_提莫攻击

问题描述:在《英雄联盟》的世界中,有一个叫 “提莫” 的英雄,他的攻击可以让敌方英雄艾希(编者注:寒冰射手)进入中毒状态。现在,给出提莫对艾希的攻击时间序列和提莫攻击的中毒持续时间,你需要输出艾希的中毒状态总时长。你可以认为提莫在给定的时间点进行攻击,并立即使艾希处于中毒状态。示例1:输入: [1,4], 2输出: 4原因: 第 1 秒初,提莫开始对艾希进行攻击并使其立即中毒。中毒状态会维持 2 秒钟,直到第 2 秒末结束。第 4 秒初,提莫再次攻击艾希,使得艾希获得另外 2 秒中毒时

2020-09-16 11:16:38 423 1

原创 算法探索_字符串中的单词数

问题描述:统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符。请注意,你可以假定字符串里不包括任何不可打印的字符。示例:输入: "Hello, my name is John"输出: 5解释: 这里的单词是指连续的不是空格的字符,所以 "Hello," 算作 1 个单词。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/number-of-segments-in-a-string解决思路:1.split分割字符.

2020-09-15 15:31:50 144

原创 算法探索_判断子序列

问题描述:给定字符串 s 和 t ,判断 s 是否为 t 的子序列。你可以认为 s 和 t 中仅包含英文小写字母。字符串 t 可能会很长(长度 ~= 500,000),而 s 是个短字符串(长度 <=100)。字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde"的一个子序列,而"aec"不是)。示例1:s = "abc", t = "ahbgdc"返回true.示例2:s = "axc",...

2020-09-15 11:01:25 215

原创 算法探索_滑动窗口最大值

问题描述:给定一个数组 nums,有一个大小为k的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k个数字。滑动窗口每次只向右移动一位。返回滑动窗口中的最大值。进阶:你能在线性时间复杂度内解决此题吗?示例:输入: nums = [1,3,-1,-3,5,3,6,7], 和 k = 3输出: [3,3,5,5,6,7]解释: 滑动窗口的位置 最大值 --------------- ...

2020-09-14 11:21:07 150

原创 算法探索_多数元素(摩尔投票法 )

问题描述:给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数大于⌊ n/2 ⌋的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。示例1:输入: [3,2,3]输出: 3示例2:输入: [2,2,1,1,1,2,2]输出: 2来源:力扣(LeetCode)链接:解决思路:摩尔投票法https://www.baidu.com/s?tn=18086630_dg&ch=2&wd=%E6%91%A9%E5%B0...

2020-09-12 14:22:45 223

原创 算法探索_最大间距

问题描述:给定一个无序的数组,找出数组在排序之后,相邻元素之间最大的差值。如果数组元素个数小于 2,则返回 0。示例1:输入: [3,6,9,1]输出: 3解释: 排序后的数组是 [1,3,6,9], 其中相邻元素 (3,6) 和 (6,9) 之间都存在最大差值 3。示例2:输入: [10]输出: 0解释: 数组元素个数小于 2,因此返回 0。说明:你可以假设数组中所有元素都是非负整数,且数值在 32 位有符号整数范围内。请尝试在线性时间复杂度和空间复杂度的条件下解决此..

2020-09-12 14:00:07 363 1

原创 算法探索_二叉树的最大深度

问题描述:给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明:叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7], 3 / \9 20 / \ 15 7返回它的最大深度3 。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/maximum-depth-of-binary-tree解决思...

2020-09-12 10:55:42 204 1

原创 王阳明《心学》小总结

1.大道至简,知行合一往往最大的道理确最简单,知,认知,行,行为。人的行为由心所控,你遇到事情的第一反应就是你的心在起作用,这个道理呢,有点像深海研究过的微表情学,人在撒谎的时候或者遇到某事情的时候,短暂时间内的表情会来不及掩饰。2.与朋友相处,彼此谦让,会受益;彼此攀比,只能受损。这个结合现代的研究发现,和古代的文学。揉成一句话就是:近朱者赤近墨者黑。3.做事要全神贯注、全力以赴、专一对待原话是——“持志如心痛,一心在痛上,岂有工夫说闲话,管闲事?”非常形象地说明了做事专一的重要性

2020-09-11 16:46:38 4083 2

原创 算法探索_删除排序链表中的重复元素 II

问题描述:给定一个排序链表,删除所有含有重复数字的节点,只保留原始链表中没有重复出现的数字。示例1:输入: 1->2->3->3->4->4->5输出: 1->2->5示例2:输入: 1->1->1->2->3输出: 2->3来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/remove-duplicates-from-sorted-list-i...

2020-09-09 15:16:18 299 2

原创 Android 优秀博文分享

ArrayList https://blog.csdn.net/qq_35190492/article/details/103883964HashMap https://blog.csdn.net/zhengwangzw/article/details/104889549volatile https://angela.blog.csdn.net/article/details/106060526synchronized https://blog.csdn.net/zhengwan...

2020-09-08 11:42:06 127

原创 Kotlin “ const val “ 和 “ val “ 的区别

const val和 val 的区别:const 关键字 不可单独使用,只能与 val 组合使用.1. const val 只可以修饰方法外(top-level)变量,val 无限制2.const val 字节码为public final static,可以直接访问。而 val 字节码为private final static,并且val 会生成方法getNormalObject(),通过方法调用访问。...

2020-09-07 15:03:25 1761

原创 Kotlin 静态变量与静态方法详解

一. 伪静态(伴生对象)关键字:companion object 1.将变量和方法写在这个伴生对象中,外部就直接可以类名+点 调用。 2.但实际上在运行时,这些成员仍然是真实对象的实例的成员。属性修饰符解释: 1. const val :公共常量 ,且 const只能修饰 val 2. val :私有常量class Constant { companion object { const val NAME...

2020-09-03 13:56:38 1410

原创 算法探索_Z 字形变换

问题描述:将一个给定字符串根据给定的行数,以从上往下、从左到右进行Z 字形排列。比如输入字符串为 "LEETCODEISHIRING"行数为 3 时,排列如下:L C I RE T O E S I I GE D H N之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:"LCIRETOESIIGEDHN"。请你实现这个将字符串进行指定行数变换的函数:string convert(string s, int numRows);示例1:输入...

2020-09-02 16:28:11 385

原创 算法探索_最长回文子串

问题描述:给定一个字符串 s,找到 s 中最长的回文子串。你可以假设s 的最大长度为 1000。示例 1:输入: "babad"输出: "bab"注意: "aba" 也是一个有效答案。示例 2:输入: "cbbd"输出: "bb"来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/longest-palindromic-substring解决思路:根据当前最大回文串的长度 maxLength 来调整遍历跨度( i 的上限.

2020-09-02 15:25:40 159

原创 算法探索_整数转罗马数字

问题描述:罗马数字包含以下七种字符:I,V,X,L,C,D和M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做II,即为两个并列的 1。12 写做XII,即为X+II。 27 写做XXVII, 即为XX+V+I...

2020-09-02 11:23:11 269 1

原创 算法探索_移除元素

问题描述:给你一个数组 nums和一个值 val,你需要 原地 移除所有数值等于val的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例 1:给定 nums = [3,2,2,3], val = 3,函数应该返回新的长度 2, 并且 nums 中的前两个元素均为 2。你不需要考虑数组中超出新长度后面的元素。示例2:给定 nums = [0,1...

2020-09-01 17:46:30 259 1

原创 算法探索_删除链表的倒数第N个节点

问题描述:给定一个链表,删除链表的倒数第n个节点,并且返回链表的头结点。示例:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.说明:给定的 n保证是有效的。进阶:你能尝试使用一趟扫描实现吗?来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/remove-nth-node-from-end-of-list...

2020-09-01 16:02:57 302 1

原创 算法探索_合并多个升序链表

问题描述:给你一个链表数组,每个链表都已经按升序排列。请你将所有链表合并到一个升序链表中,返回合并后的链表。示例 1:输入:lists = [[1,4,5],[1,3,4],[2,6]]输出:[1,1,2,3,4,4,5,6]解释:链表数组如下:[ 1->4->5, 1->3->4, 2->6]将它们合并到一个有序链表中得到。1->1->2->3->4->4->5->6示例 2:输入:list...

2020-09-01 11:40:46 429 1

原创 算法探索_合并两个有序链表

问题描述:将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/merge-two-sorted-lists解决思路:1.新建两个链表(head和current),一个负责保存头部最后返回,一个负责往后.

2020-09-01 11:34:21 228 1

原创 算法探索_两两交换链表中的节点

问题描述:给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。示例:给定 1->2->3->4, 你应该返回 2->1->4->3.来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/swap-nodes-in-pairs解决思路:递归,交换,指针后移。 移的时候要主意除了第一次后移,以后的后移都是移两步。因为第一次后移res

2020-09-01 09:52:34 132 1

简单的接口自动化测试Demo

使用IDEA开发工具 使用JAVA语言编写

2022-07-18

SpringBoot无数据库模拟项目

SpringBoot无数据库模拟项目

2022-02-22

度秘语音引擎3.0-BaiduSpeechService.zip

见资源名称

2021-02-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除