自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(48)
  • 收藏
  • 关注

原创 我的 2023 秋招总结,拿到了大厂offer

我的2023秋招小结,拿到了大厂offer

2023-11-18 01:22:49 293 1

原创 字节实习半年小感悟

以前总觉得这句话是一句非常感性非常搞笑的话:“xx的智慧如同天上的皓月,我不及也(繁星比皓月,驽马比麒麟,寒鸦比凤凰)”。但最近潜意识里会想到这句话,时不时冒出在脑子里思考。从开始准备答辩到现在差不多四五十天的时间,虽然做需求和答辩交替进行,但PPT已经修改迭代六七个版本了。这个过程学到的东西足以改变我的一生。看到了差距也明确了具体差在哪,感觉浪费了二十年青春。字节一年人间三年一点都不夸张。估计还要再修改一两个版本。实习差不多半年了,快要答辩了。

2023-08-20 23:03:26 247 1

原创 哈希表+ JDK 1.8 HashMap源码学习记录

哈希表+HashMap源码学习记录一、什么是哈希表1.1 哈希函数1.1.1 哈希碰撞拉链法线性探测法总结二、HashMap类2.1 继承关系2.2 底层数据结构2.2.1 HashMap中的table桶数组三、HashMap的工作过程3.1 需要了解的知识3.1.1 用位运算代替取模运算的好处:3.2 `new HashMap()`的过程3.2.1 tableSizeFor`原理:3.2.2 其他的构造方法3.3 HashMap计算哈希值/索引的方法——hash算法(也称为高位运算算法)小结3.3 put

2022-05-22 21:06:49 357

原创 Kotlin学习记录(三) 协程

Kotlin学习记录 协程(三)前言什么是并发?什么是并行?什么是多任务?什么是协作式多任务?什么是抢占式多任务?什么是同步?什么是异步?什么是阻塞?什么是非阻塞?什么是挂起?什么是非阻塞式挂起?什么是协程?Kotlin 协程有什么用?十五、使用协程编写高效的并发程序15.1 协程的基本用法使用 GlobalScope.launch 函数创建你的第一个协程使用 Delay 函数延迟协程执行使用 runBlocking 函数创建一个能阻塞当前线程的协程作用域使用 launch 函数在当前的协程作用域下创建子协

2022-05-14 21:11:14 733

原创 Kotlin学习记录(二)标准函数、静态方法、延迟初始化和密封类、扩展函数和运算符重载、高阶函数、高阶函数的应用、泛型、类委托和委托属性

Kotlin学习记录(二)标准函数、静态方法、延迟初始化和密封类、扩展函数和运算符重载、高阶函数、高阶函数的应用、泛型、类委托和委托属性七、标准函数和静态方法7.1 标准函数with、run和apply7.2 定义静态方法真正的静态方法:注解和顶层方法八、延迟初始化和密封类8.1 对变量延迟初始化8.2 使用密封类优化代码九、扩展函数和运算符重载9.1 大有用途的扩展函数9.2 有趣的运算符重载十、高阶函数10.1 定义高阶函数10.2 内联函数的作用10.3 noinline与crossline十一、高阶

2022-05-12 08:53:49 473 1

原创 Kotlin学习记录(一)简介、变量和函数、逻辑控制、面向对象、Lambda、空指针检查

Kotlin学习记录(一)简介、变量和函数、逻辑控制、面向对象、Lambda、空指针检查一、简介二、编程之本:变量和函数2.1 变量2.2 函数三、Kotlin中的程序逻辑控制3.1 if语句3.2when语句`when`与`switch`的区别:3.3 循环语句Kotlin区间四、面向对象编程4.1 类与对象4.2 继承与构造函数主构造函数次构造函数4.3 接口函数的可见修饰符4.4数据类与单例类数据类单例类五、Lambda编程对接口的要求5.1 集合的创建与遍历5.2 集合的函数式API5.3 Java

2022-05-08 19:03:42 731

原创 Android性能优化学习记录(三)Bitmap 与 资源节省性优化

Android性能优化学习记录(三)Bitmap 与 资源节省性优化一、Bitmap优化原因具体优化方案使用完毕后 释放图片资源根据分辨率适配 & 缩放图片按需 选择合适的解码方式储备知识:ARGB设置 图片缓存总结二、资源节省性内存优化减少安装包大小减少网络流量减少应用的耗电量总结参考资料一、Bitmap优化原因为什么要优化图片Bitmap资源?因为Android系统分配给每个应用程序的内存有限,图片资源(Bitmap)非常消耗内存,很多情况下,图片所占的内存占整个App内存的大部分如果

2022-04-29 21:41:38 1315

原创 Android性能优化学习记录(二)稳定性与内存优化

Android性能优化学习记录(二)稳定性这里写目录标题Android性能优化学习记录(二)稳定性一、稳定性ApplicationNotResponding****Crash****稳定性总结二、内存优化**作用**1. **储备知识:Android 内存管理机制**1**.1 简介**1.2 针对进程的内存策略1**.3 针对对象、变量的内存策略****a. 内存分配策略**b. 内存释放策略2. 常见的内存问题 & 优化方案2.1 内存泄露2**.2 图片资源Bitmap相关**2.3 **内

2022-04-29 19:14:16 1126

原创 Android性能优化学习记录(一)概述、流畅性

Android性能优化学习记录(一)概述、流畅性Android性能优化学习记录(一)概述、流畅性Android性能优化学习记录(一)概述、流畅性一、性能优化概述目的需优化的性能指标优化方向二、流畅性2.1 启动速度2.2 页面显示速度2.2.1 绘制优化什么是绘制?优化方向方案一:降低View.onDraw()的复杂度方案二:避免过度绘制(Overdraw)过度绘制的优化原则绘制优化方案1: 移除默认的 Window 背景优化方案2:移除 控件中不必要的背景优化方案3:减少布局文件的层级(减少不必要的嵌套

2022-04-25 20:58:17 1624 2

原创 Android Window学习记录(二)Window的创建

Android Window学习记录(二)Window的创建一、什么是DecorView?二、Window的创建2.1 Activity的Window创建过程2.2 Dialog的Window创建过程2.3 Toast的Window创建过程2.4 PopupWinodw的window创建过程参考资料有关window和windowmaanger的理解可以参考这篇博客https://blog.csdn.net/qq_53749266/article/details/124332280?spm=1001.201

2022-04-22 17:34:39 2098

原创 Android Window学习记录(一)理解window和windowmanager

Android Window学习记录(一)理解window和windowmanager一、Window什么是Window小结为什么需要Window小结Window的相关属性window的type属性Window的flags参数window的solfInputMode属性如何给window属性赋值小结Window和WindowManager的关系二、WindowManagerWindow的添加过程Window的删除过程Window的更新过程参考资料一、Window什么是Window在Android框架层

2022-04-21 21:31:06 2420

原创 Android IntentFilter的匹配规则

IntentFilter的匹配规则IntentFilter的匹配规则IntentFilter的匹配规则一、Intent简介二、IntentFilter匹配规则1.action的匹配规则2.category的匹配规则3.[data](https://developer.android.google.cn/guide/topics/manifest/data-element)的匹配规则使用案例:参考资料一、Intent简介Android中提供了Intent机制来协助应用间的交互与通讯,Intent负责对应

2022-04-18 13:30:43 1202 1

原创 Android Activity的启动模式学习记录

Activity的启动模式学习Activity的启动模式时,我们必须要搞清楚它的启动模式和标志位。standard 标准模式这是Activity默认的启动模式,在每次启动的时候都会创建一个新的activity实例(不管这个实例之前是否被创建)。被创建实例的生命周期符合典型情况下的activity的生命周期。一个任务栈中可以有多个Activity实例,每个Activity实例也可以属于不同的任务栈。在这种模式下,谁启动了这个Activity,那么这个Activity就运行在启动它的那个Activity所

2022-04-17 18:48:19 717

原创 Android线程和线程池(三)IntentService学习记录 使用+源码

IntentServiceAndroid里的一个封装类,继承四大组件之一的Service。ntentService封装了HandlerThread和Handler。一、作用处理异步请求 & 实现多线程二、使用场景线程任务 需 按顺序、在后台执行最常见的场景:离线下载不符合多个数据同时请求的场景:所有的任务都在同一个Thread looper里执行三、使用步骤步骤1:定义 IntentService的子类,需复写onHandleIntent()方法步骤2:在Manifest.xm

2022-04-17 12:55:39 805

原创 Android线程和线程池(二)HandlerThread学习记录 使用+源码

HandlerThreadAndroid线程和线程池(二)HandlerThread学习记录 使用+源码一、作用二、工作原理三、HandlerThread的特点优势:劣势:四、使用五、源码****步骤1:创建HandlerThread的实例对象********步骤2:启动线程********步骤3:创建工作线程Handler & 复写handleMessage()********步骤4:使用工作线程`Handler`向工作线程的消息队列发送消息******步骤5:结束线程,即停止线程的消息循环***

2022-04-10 18:47:55 430 1

原创 Android线程和线程池(一)AsyncTask学习记录 使用+源码

线程和线程池Android线程和线程池(一)AsyncTask学习记录线程和线程池一、Java线程基本介绍1.1 线程状态1.2 为什么要使用多线程小结二、AsyncTask2.1 应用例子2.2 Callable2.3 Future2.4 FutureTask三、AsyncTask源码小结小结参考资料Android沿用了Java的线程模型,从Android3.0开始系统要求网络访问也必须在子线程中进行,否则网络访问将会失败并抛出NetworkOnMainThreadException异常。在Andro

2022-03-27 14:23:33 2705

原创 Android Activity的生命周期学习记录

Activity的生命周期Activity的生命周期分为两部分内容,一部分是典型情况下的生命周期,另一部分是异常情况下的生命周期。典型情况下的生命周期指在有用户参与的情况下,Activity所经过的生命周期的改变;而异常情况下的生命周期是指Activity被系统回收或者由于当前设备的Configuration发生改变从而导致Activity被销毁重建,异常情况下的生命周期的关注点和典型情况下略有不同。一、典型情况下的生命周期分析1.1 主要生命周期(1)onCreate:表示Activity正在被

2022-03-23 16:16:03 2608

原创 Android动画学习记录二(属性动画、估值器和插值器)

Android动画学习记录二(属性动画、估值期和插值器)自API 11 Android 3.0版本开始,系统给我们提供了一种全新的动画模式,属性动画(property animation),它弥补了之前补间动画的一些缺陷,几乎可以完全替代掉补间动画了。关于补间动画可以看这篇,https://blog.csdn.net/qq_53749266/article/details/123571771?spm=1001.2014.3001.5502如果只需要对View进行移动、缩放、旋转和淡入淡出操作,那么补间

2022-03-19 21:16:51 3531

原创 Java学习记录六(方法引用、函数式接口、Stream流、反射和模块化)

文章目录Java28.方法引用28.1体验方法引用28.2方法引用符28.3Lambda表达式支持的方法引用28.3.1引用类方法28.3.2引用对象的实例方法28.3.3引用类的实例方法28.3.4引用构造器29.函数式接口29.1函数式接口概述29.2函数式接口作为方法的参数29.3函数式接口作为方法的返回值29.4常用的函数式接口29.4.1Suplier接口29.4.1.1Supplier接口练习之获取最大值29.4.2Consumer接口29.4.2.1Consumer接口练习之按要求打印信息29

2022-03-18 15:23:08 342

原创 Android动画学习记录一(Android动画种类、补间动画和帧动画)

Android动画学习记录一(动画种类、补间动画和帧动画)动画种类、补间动画和帧动画Android动画学习记录一(动画种类、补间动画和帧动画)一、动画种类二、View动画2.1 补间动画补间动画公有属性平移动画(Translate)缩放动画(Scale)旋转动画(Rotate)透明度动画(Alpha)组合动画小结监听动画2.2 补间动画的特殊使用场景Activity切换Fragment切换视图组(ViewGroup)中子元素的出场效果(LayoutAnimation)2.2 属性动画三、帧动画使用方式参考

2022-03-18 12:37:12 1367

原创 Android消息机制学习记录

Android消息机制

2022-03-16 13:36:40 1568

原创 JDK 1.8 ArrayList类源码阅读记录

JDK 1.8 ArrayList类源码阅读记录JDK 1.8 ArrayList类源码阅读记录JDK 1.8 ArrayList类源码阅读记录一、简介二、属性三、构造方法四、ArrayList扩容机制五、方法5.1 增add(E e)****add(int index, E element)********addAll(Collection<? extends E> c)********addAll(int index, Collection<? extends E> c)***

2022-03-11 20:42:01 712 1

原创 JDK 15 java.util.Object类源码阅读记录

文章目录一、分析Object类源码的原因二、Object类源码分析2.1@HotSpotIntrinsicCandidate注解2.2**native修饰符**2.3 synchronization claims(同步声明)三、阅读笔记3.1 美词3.2 美句:3.3 短语:四、引出的思考4.1 cloneable和clone4.2 为什么重写equals()的同时必须重写hashCode()?一、分析Object类源码的原因Object类是类层次结构的根,Java所有类的始祖,Object所有类都实现

2021-12-10 20:06:28 370 2

原创 Android小项目——xx小天气预报 (ViewPager2+NestedScrollView+SharedPreferences+SQLite+Handler+HttpURLConnection)

一、UI展示添加地区天气多地区天气展示删除地区天气

2021-12-03 10:43:00 3239

原创 Android View的事件分发源码阅读记录

事件分发初探一、概述1.1 事件分发概述1.2 事件的类型1.3 什么是事件序列?1.4 事件分发过程中共同协作的方法。1.5 事件在哪些对象之间传递?传递的顺序是什么?1.6 事件的传递过程1.由上而下的传递过程2.由下而上的传递过程1.7 ViewGroup怎么通过dispatchTouchEvent()把事件传递给自己的onTouchEvent?1.8 View有自己的dispatchTouchEvent()方法吗?1.9 dispatchTouchEvent()中希望让自己的`onTouchEven

2021-11-26 14:07:21 1899 2

原创 Android第一行代码学习思考笔记(碎片、广播、持久化技术和Android数据库)

Android第一行代码学习思考笔记(碎片、广播、持久化技术、Android数据库第四章 手机平板要兼顾——探究碎片4.1碎片是什么(Fragment)4.2碎片的使用方式4.2.1碎片的简单用法4.2.2动态添加碎片4.2.3在碎片中模拟返回栈4.2.4碎片和活动之间进行通信4.3 碎片的生命周期4.3.1碎片的状态和回调4.3.2体验碎片的生命周期4.4动态加载布局的技巧4.4.1使用限定符4.4.2使用最小宽度限定符4.5碎片的最佳实践——一个简易版的新闻应用4.6小结与点评第五章全局大喇叭——详解广

2021-08-03 20:50:26 479 1

原创 Android小项目———— hh小计算器

hh小计算器一、测试点:二、用到的知识点三、遇到的问题:1. **android:layout_gravity和android:gravity的区别**2.水平horizontal,垂直vertical3.android:layout_weight="1"为控件所占比例,默认是04.栈内存中的局部变量随着方法的消失而消失。 成员变量存储在堆中的对象里面,由垃圾回收器负责回收。5.中缀转后缀规则**完成将一个中缀表达式转成后缀表达式的功能**中缀转后缀代码实现思路:使用栈计算后缀表达式思路6.除divide等

2021-08-02 09:19:16 581 1

原创 C语言错题集(LeetCode、MOOC、PTA、牛客网)

C语言错题集PTA 练习2-6 计算物体自由下落的距离 (5 分)输入格式:输出格式:练习2-12 输出华氏-摄氏温度转换表 (15 分)输入格式:输出格式:输入样例1:输出样例1:输入样例2:输出样例2:PTA 练习2-13 求N分之一序列前N项和 (15 分)输入格式:输出格式:输入样例:输出样例:PTA 习题5-2 使用函数求奇数和 (15 分)函数接口定义:裁判测试程序样例:输入样例:输出样例:PTA 习题5-4 使用函数求素数和 (20 分)函数接口定义:裁判测试程序样例:输入样例:输出样例:PT

2021-07-25 16:47:19 2499 1

原创 Android第一行代码学习思考笔记(第一个Android项目、探究活动和UI开发)

Android第一行代码学习笔记第一章 开始启程——你的第一行Android代码1.1了解全貌——Android王国简介1.1.1Android系统架构1.1.2Android应用开发特色1.2开发环境1.2.1准备所需要的工具1.3创建你的第一个Android项目1.3.1分析你的第一个Android程序第二章 先从看到的入手——探究活动2.1活动是什么2.2活动的基本用法2.2.1创建和加载布局2.2.2在AndroidManifest文件中注册2.2.3在活动中使用Toast2.2.4在活动中使用Me

2021-07-24 21:47:08 1100 2

原创 Java学习记录五(多线程、网络编程、Lambda表达式和接口组成更新)

文章目录Java25.多线程25.1实现多线程25.1.1进程25.1.2线程25.1.3多线程的实现25.1.4设置和获取线程名称25.1.5线程调度25.1.6线程控制25.1.7线程生命周期25.1.8多线程的实现方式25.2线程同步25.2.1线程同步案例卖票线程同步案例卖票的思考:线程同步案例卖票的解决:同步代码块25.2.2同步方法25.2.3线程安全的类25.2.4Lock锁25.3生产者消费者25.3.1生产者消费者模式概述25.3.2生产者消费者案例26.网络编程26.1网络编程入门26.

2021-07-19 11:43:05 251 1

原创 Java学习记录四(IO流)

JavaJava学习总结笔记(基础篇4)Java24.IO流24.1File24.1.1File类概述和构造方法24.2File类创建功能24.3File类删除功能24.4File类判断和获取功能24.5递归案例:递归求阶乘*案例:遍历目录24.2字节流24.2.1IO流概述和分类24.2.2字节流写数据24.2.3字节流写数据的3种方式24.2.4字节流写数据的两个小问题24.2.5字节流写数据加入异常处理24.2.6字节流读数据(一次读一个字节数据)案例:复制文本文件24.2.7字节流读数据(一次读一

2021-06-27 11:59:16 322 1

原创 Java学习记录三(日期类、异常和集合进阶)

这里写目录标题Java21.日期类21.1Date类21.1.2Date类的常用方法21.1.3SimpleDateFormat类概述21.2Calendar类概述21.2.1Calendar的常用方法案例:二月天22.异常22.1异常处理22.1.1try ... catch ...22.1.2Throwable的成员方法22.2编译时异常和运行时异常的区别22.3异常处理之throws22.4自定义异常22.4.1throws和throw的区别23.集合进阶23.1Collection23.1.2Col

2021-06-06 13:31:21 392 1

原创 Java泛型学习记录

泛型1.什么是泛型?1.1背景:JAVA推出泛型以前,程序员可以构建一个元素类型为Object的集合,该集合能够存储任意的数据类型对象,而在使用该集合的过程中,需要程序员明确知道存储每个元素的数据类型,否则很容易引发ClassCastException异常。package demo01;import java.util.ArrayList;public class MainClass { public static void main(String[] args) {

2021-06-02 22:37:31 247 5

原创 Java对象包装器与自动装箱学习记录

1.对象包装器、装箱、拆箱有时,需要将 int 这样的基本类型转换为对象。所有的基本类型都有一个与之对应的类。例如,Integer 类对应基本类型 int。通常,这些类称为包装器。这些对象包装器类拥有很明显的名字:Integer、Long、Float、Double、Short、Byte、Character、Void 和 Boolean(前6个类派生于公共的超类 Number)。对象包装器类是不可变的,即一旦构造了包装器,就不允许更改包装在其中的值。同时,对象包装器还是 final,因此不能定义它们的子类。

2021-05-24 22:00:56 188 3

原创 Java学习记录二(集合基础、继承、修饰符、多态、抽象类、接口、形参和返回值、内部类和API)

JavaJava学习总结笔记(基础篇2)Java12.集合基础12.1 ArrayList构造方法和添加方法12.2ArrayList集合常用方法案例:学生管理小系统学生管理系统实现思路:1.定义学生类2.主界面的代码编写3.添加学生的代码编写4.查看学生的代码编写(加了判断)5.删除学生的代码编写代码:13.继承13.1继承的好处和弊端13.2继承中变量的访问特点13.2.1super13.2.2 继承中构造方法的访问特点13.2.3继承中成员方法的访问特点13.3方法重写13.4Java中继承的注意事

2021-05-21 19:27:51 346 2

原创 Java学习记录一(概述、第一个程序、基础语法、运算符、分支语句、循环语句、数组、方法、Debug、面向对象基础和字符串)

JavaJava学习总结笔记(基础篇1)Java1.Java概述1.1JVM1.1JRE和JDK1.3JKD、JRE和JVM的关系JDK的安装目录2.第一个程序2.1常用DOS命令2.1.1打开命令提示符窗口2.1.2常用命令2.2Path环境变量的配置3.1HelloWorld案例3.1.1HelloWorld案例常见问题3.基础语法3.1关键字3.1.1关键字特点3.1.2常量分类3.2数据类型3.2.1计算机存储单元3.2.2数据类型3.2.3数据类型内存占用和取值范围3.3变量3.3.1变量定义3

2021-04-22 21:52:26 584 1

原创 学生管理小系统2.0(C语言)

#include <stdio.h>#include <stdlib.h>//其中包含system函数#include <conio.h>//定义了通过控制台进行 数据输入 和数据输出的函数,如getch函数。#include <string.h>//定义字符数组#include <math.h>#include<Windows.h>typedef struct student //学生结构信息

2021-04-18 16:50:45 245 1

原创 数据结构树、堆——学习记录

树:1.文件夹是树而不是无向图,因为任意两个文件夹有且仅有唯一的一条路径连通。二叉树1.根节点有时也称为祖先。2.深度是指从根到这个结点的层数(根为第一层)。3.满二叉树:如果二叉树中每个内部结点都有两个儿子,这样的二叉树叫做满二叉树。4.完全二叉树:如果一棵二叉树除了最右边位置上有一个或者几个叶结点缺少外,其他都是丰满的,这样的二叉树叫完全二叉树。(除了树的最后一层结点不需要是满的,其它的每一层从左到右都是满的,如果最后一层结点不是满的,那么要求左满右不满)。右图中N没有右儿子结点,因此不

2021-04-18 16:37:08 151

原创 线性表的链式存储结构——链表学习记录

链表总结#include<stdio.h>#include<stdlib.h>#include<string.h>typedef struct ListNode{ int val; struct ListNode* next;}ListNode;struct ListNode* createListtail(struct ListNode* L){/*尾插创建含头结点的链表,输入-1终止。 */ int n; scanf("%d",&n);

2021-04-13 19:55:35 312

原创 C语言二分查找(折半查找)

#include <stdio.h>#include<stdlib.h>int BinarySearch( int a[], int X ){ int low=1,high=10,mid; while(low<=high){ mid=(high+low)/2; if(a[mid]>X) high-=1; else if(a[mid]<X) low+=1; else return m

2021-03-28 13:34:39 136

空空如也

空空如也

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

TA关注的人

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