自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(95)
  • 资源 (2)
  • 收藏
  • 关注

原创 java集合之HashMap源码分析(常用函数,扩容,哈希冲突,线程不安全问题,HashSet)

深入理解HashMap

2020-02-17 00:25:24 825 3

原创 Java集合之ArrayList(源码层面上的分析)

文章目录ArrayList简介自动扩容的流程ArrayList的属性构造函数1.无参数的构造函数2.带int类型的构造函数ArrayList简介大家都知道ArrayList是由数组实现的,有自动扩容的功能,在超出限制时,会自动扩容50%,并通过Arrays.copyOf()复制到新的数组。无参数创建时,第一次插入元素时,默认创建大小为10的数组。自动扩容的流程ArrayList的属性...

2020-02-04 20:59:15 204

原创 Okhttp源码学习之总体流程

这个库一直想要去学习,不过一直没有时间去做,打算一点点梳理Okhttp。先放一段Okhttp的使用代码,摘自第一行代码中将网络请求封装成一个方法。public class HttpUtil { public static void sendOkHttpRequest(String address,okhttp3.Callback callback){ OkHttpCli...

2019-09-25 23:04:02 227

原创 前端学习资料汇总(随着学习不断更新)

文档类W3school链接我更多的把它当作一个字典,比如说我想找函数的方法有哪些,就会去这里看。JavaScript 教程阮一峰大佬写的文档,建议按照自己的需求去选择部分学习,比如系统性学习、快速上手学习等。ES6 入门教程ES6介绍了很多新特性,我感觉就有点像jdk 1.8那个感觉,一般大家都用。项目类好的项目真的太少了,上网搜一大堆也没有特别好的,这里推荐几个比较好的:1.弹跳小彩球:这个项目可以锻炼面向对象的能力,缺点就是过于简单。2....

2021-03-10 17:54:16 221

原创 ECMAScript 6 入门 学习笔记(持续更新中)

文章目录let和const命令let命令特点const命令本文的目的是让了解ES5的人能快速上手ES6开发。原文链接:阮一峰的ES6入门教程let和const命令let命令let命令用来声明变量,但它的作用范围只在let命令所在的代码块内有效。{ let a = 10; var b = 1;}a // ReferenceError: a is not defined.b // 1下述代码写了两种不同的循环体,他们区别在于:方式一声明全局变量i,每一次循环i的值都进行变化。

2021-02-16 17:14:13 368 1

原创 阮一峰的JavaScript 教程读书笔记之面向对象编程

文章目录OOP实例对象与new命令构造函数new命令this 关键字实质使用场合(1)全局变量(2)构造函数(3)对象的方法使用注意1.避免函数多层嵌套中使用this2.避免数组处理中的`this`this绑定call函数OOP实例对象与new命令构造函数JS中的面向对象是通过构造函数(constructor)和原型链(prototype)来实现的。JavaScript 语言使用构造函数(constructor)作为对象的模板。var Vehicle = function () { this.

2021-01-28 18:23:44 662

原创 阮一峰的JavaScript 教程读书笔记之运算符

文章目录运算符算术运算符加法运算符其他运算符比较运算符严格相等运算符运算符算术运算符加法运算符JS允许非数值相加,例如布尔值相加,在运算过程中会把布尔值转换为数值。true + true // 21 + true // 2如果是两个字符串相加,会把他们拼成新的字符串;如果是一个字符串和非字符串相加,会把非字符串转成字符串。'a' + 'bc' // "abc"1 + 'a' // "1a"false + 'a' // "falsea"加法运算符是在运行时决定,到底是执行相加,还是执

2021-01-26 19:39:20 172

原创 阮一峰的JavaScript 教程读书笔记之语法专题

文章目录语法专题数据类型的转换强制转换Number函数String函数Boolean函数自动转换语法专题数据类型的转换JavaScript 是一种动态类型语言,变量没有类型限制,可以随时赋予任意值。下面的例子,x是数值还是字符串取决于y是true还是false。因此在编译期间无法知道x的类型,只有在运行时才可以确定。var x = y ? 1 : 'a';强制转换强制转换包括:Number()、Boolean()、String()。Number函数Number()函数可以将任意类型的值转

2021-01-23 23:01:36 195

原创 阮一峰的JavaScript 教程读书笔记之数据类型

这个博客就想记录一些读书笔记,阮一峰的JavaScript 教程。数值记录parseInt函数会获取字符串的数值,但是当遇到第一个不是数值的就会停止寻找。 parseInt('1.1');//1 parseInt('123');//123而在java中就会报错Integer.parseInt("1.23")//java.lang.NumberFormatException: For input string: "1.23"如果根本就不是数值的话就会返回NaN,但是js有个特例就是如果有

2021-01-21 13:07:08 366

原创 终端命令技巧

Mac小技巧cd ..返回上一级目录 cd ~返回最初始的目录`mkdir 创建文件夹`command+空格 便捷搜索(非终端内)`control+a 到最前,control+e到最后(终端)输入前面的字母,tab键自动帮你补齐后面的字母ls显示当前文件夹下所有的文件Git 小技巧git --version查看git的版本git clone +ssh地址git checkout + 分支名git branch + 分支名git merge bugfix代表把bugfix分支合入

2020-11-18 22:22:38 218

原创 java面试基础题

文章目录题目汇总1.java面向对象编程的四大特性与含义2.String、StringBuffer和StringBuilder的区别?3.String a=""和String a=new String("")的的关系和异同?4.Object的equal()和==的区别?5.装箱、拆箱什么含义?6.int和Integer的区别7.遇见过哪些运行时异常?异常处理机制知道哪些?8.什么是反射,有什么作用...

2020-08-27 12:58:40 238 2

原创 Android中的设计模式及见解

文章目录单例模式饿汉式懒汉模式普通懒汉DCL静态内部类容器单例模式构造者模式工厂模式责任链模式外观模式单例模式确保某个类有且只有一个对象的场景,避免对象多次创建而浪费资源,其UML图如下。饿汉式会在类加载初始化的时候创建一个对象实例,然后在get方法中直接返回该对象。public class SingleTon1 { private static SingleTon1 my...

2020-07-25 17:24:33 153

原创 一文搞懂 JavaScript 的对象基础、原型与继承链(MDN 学习笔记)

1.声明一个对象var myperson={ name : "Zhang", age : 25, sex : "male", introduction:function(){ alert(name+age+sex); }};myperson.introduction();2.使用构造函数构造构造函数与普通函数的区别在于调用方式,...

2020-05-05 23:28:14 476

原创 java内存模型与线程《Java虚拟机》要点精炼

文章目录Java内存模型物理计算的内存模型与乱序排序java中的内存模型基本模型工作内存与主内存之间的交互volatile原子性可见性有序性java与线程实现线程的方式1.使用内核线程实现2.使用用户线程实现java线程调度线程间的协作(wait/notify/sleep/yield/join)waitnotifysleepJava内存模型物理计算的内存模型与乱序排序物理计算机中的并发问题:...

2020-04-30 15:38:49 211

原创 Android性能优化《Android开发艺术探索》笔记

文章目录Android性能优化普通优化1.布局优化2.绘制优化3.内存泄漏优化Android内存的管理内存泄漏的实例1.静态变量单例模式的使用2.集合类3.非静态内部类/匿名类3.1创建非静态内部类的静态对象3.2 匿名类持有外部类的引用3.3 Handler3.4 资源使用未关闭3.5 ListView的Adapter导致的内存泄漏4ListView优化5.BitMap优化Bitmap的高效加载...

2020-03-25 23:43:34 252

原创 java浅拷贝与深拷贝

文章目录概述浅拷贝的实现深拷贝的实现写在最后概述简单来说,浅拷贝对于基本数据类型,会拷贝他们的值,而对于引用类型,会拷贝他们的引用地址。下图为浅拷贝。而对于深拷贝来说,会对基本数据类型进行值传递,对引用数据类型,创建一个新的对象,并复制其内容。基本类型(8大基本类型):整形:byte(1字节)、short(2字节)、int(4字节)、long(8字节);浮点型:float(4字节,单...

2020-03-21 19:07:41 205

原创 java字节码《java虚拟机》要点精炼

文章目录字节码基础字节码指令本文图片以及部分内容来自Java字节码增强探秘。Java字节码的介绍 字节码基础.java文件通过javac编译后将得到一个.class文件,如下图所示,class文件中都是16进制数。java字节码主要包括以下几部分。(1)魔数,魔数固定的值是CAFEBABY,占用四个字节,用此来判断该文件是否可以被虚拟机所接收。我理解在类加载过程中,校验的第一步格式...

2020-03-20 21:34:37 201

原创 自定义View使用与动画总结《Android开发艺术探索》笔记

自定义View+View动画。1,空气质量可以看出该自定义View包括:(1)顶层文字Text(2)中间的文字Text(3)中间的数字Text(动画形式)(4)两个有角度的不同颜色的圆,第一个圆默认画至一定角度,第二个圆根据空气质量数值转化成角度。2.日出日落自定义View过程1. 写一个MyView类,继承自View。2. 在values文件夹下创建attrs.xml文件,声明自定...

2020-03-17 15:06:14 415

原创 java虚拟机之类加载《JAVA虚拟机》要点精炼

文章目录类加载机制类加载的流程0.类加载的时机1.加载2.验证3.准备4.解析5.初始化类加载器类加载器的种类双亲委派机制常量池主要存放两大类常量:字面量与符号引用。字面量是java意义中的常量,诸如final,或文本字符串。而符号引用则是编译原理中的概念,主要包括:类和接口的全限定名(com/enjoy/learn/core/oop/method/TestClass(理解为加上包名的完整名...

2020-03-13 20:59:00 188

原创 Java虚拟机之内存管理与GC机制《JAVA虚拟机》要点精炼

帮助读者理清内存管理与GC机制的重点。

2020-03-12 21:23:17 292

原创 《图解HTTP》之要点提炼

文章目录IP、TCP、DNS协议负责传输的IP协议确保可靠性的TCP协议负责域名解析的DNS服务URIHTTP协议请求报文与响应报文GET方法与Post方法Cooike返回结果的HTTP状态吗1XX2XX成功3XX4XX客户端错误5XX 服务器端错误IP、TCP、DNS协议负责传输的IP协议IP协议的作用是把各种数据包传送给对方。其中有两个最重要的条件是IP地址与MAC地址。IP地址指明了...

2020-03-10 19:37:58 375

原创 《图解TCP与IP》之要点提炼

文章目录基础OSI七层结构为什么有了MAC地址还要有IP地址电路交换与分组交换基础OSI七层结构7.应用层:负责使用特殊的协议6.表示层:将数据转换为标准的形式5.会话层:通信管理,负责建立连接与断开连接的时机(考虑什么时候开始连接,以哪种方式连接)4.传输层:负责可靠传输,进行实际的建立连接与断开连接3.网络层:地址管理和路由选取,选取哪条路由来传输数剧2.数据链路层:负责物理层...

2020-03-10 00:12:51 331 2

原创 Android线程与线程池《Android开发艺术探索》笔记

文章目录概述线程形态AsyncTask概述与使用原理HandlerThreadIntentService工作原理线程池线程池的优点与构成线程池的分类参考文章:要点提炼|开发艺术之线程。概述线程是CPU调度的最小单元。线程是一种受限的资源,不能多次的创建与停止。分类:主线程:一般一个线程只有一个主线程。主线程中一般用于UI操作,用于与用户交互。子线程:子线程中一般执行耗时操作,比如网络...

2020-03-06 19:28:09 302

原创 四大组件的工作原理《Android开发艺术探索》笔记

文章目录Activity的总结与工作原理Activity的总结Activity的工作原理总结Service的总结与工作原理工作原理Service的启动Service的绑定总结Activity的总结与工作原理Activity的总结类型:是一个展示型组件。作用:展示一个界面并与用户交互。使用:需要在AndroidManifest注册需要借助Intent启动:显示启动:Intent i...

2020-03-06 11:35:27 326

原创 IPC机制与面试题精选《Android开发艺术探索》笔记

文章目录IPC简介IPC的概念进程与线程的区别多进程的情况IPC简介IPC的概念Inter-Process Communication的缩写。含义为进程间通信或跨进程通信,是指两个进程之间进行数据交换的过程。进程与线程的区别线程是CPU调度的最小单元,同时线程是一种有限的资源。进程一般指一个执行单元,一个进程可以包含多个线程,所以他们之间是包含与被包含的关系。(比如Android中有...

2020-03-05 13:16:07 346

原创 Service总结

Service概要

2020-03-04 11:44:26 249

原创 android消息机制《Android开发艺术探索》笔记

异步消息处理机制的使用开启子线程开启子线程首先要new一个Thread,并在其内部实现一个Runnable接口,重写其run函数。一般在android中我们开启子线程是用子线程来完成耗时操作,比如网络请求。new Thread(new Runnable() { @Override public void run() { //耗时操作...

2020-03-02 23:58:26 265

原创 BroadCastReceiver总结

文章目录BoradCastReceiver基础简介原理BroadCastReceiver的使用创建ReceiverReceiver的注册1.动态注册2.静态注册广播发送者向AMS发送广播广播类型普通广播有序广播本地广播总结(复习必看)BoradCastReceiver基础简介BroadCastReceiver(广播)是一种广泛应用在应用程序之间传输信息的机制。而BroadCastReceiv...

2020-03-01 19:30:07 290

转载 java泛型与反射总结

泛型基础类型变量的限定例如我们有一个泛型方法min,其中的形参是也是一个泛型数组。我们要使用泛型变量smallest的comparTo方法,就要求类型变量T是可以实现Comparable接口的类。为了解决这种问题,我们可以使用这种方式。虽然是接口,但这里也使用了extends。因为这里的含义表示T是绑定类型的子类型。这里T和绑定类型可以是类,也可以是接口。同时一个类型变量可以有多个限定,使...

2020-02-29 18:30:38 775

原创 Fragment简单总结

文章目录参考文章Fragment简介与使用静态使用动态使用Fragment与Activity通信生命周期生命周期过程Fragment与Activity生命周期的区别参考文章本文所有图片均来自学习笔记| AS入门(六) 碎片Fragment,这个博主是个大佬,建议关注。Fragment简介与使用Fragment是用于解决Android碎片化,可以作为Activity的组成界面。一个Fragm...

2020-02-26 19:50:37 239

原创 View的工作原理《Android开发艺术探索》笔记

文章目录DecorView与ViewRootView的工作流程具体流程measureSpecDecorView与ViewRoot一句话概括DecorView是最外层的ViewGroup,也可以理解为Window界面的顶级View。在事件到来时,也是先发到DecorView在传到具体的View。如图所示,他会包含一个LinearLayout,其中content就是用来装我们setContentV...

2020-02-25 22:57:23 168

原创 排序算法之快速排序与归并排序与堆排序

快速排序坑位法思想快速排序是使用了分治与二分思想的算法。核心思想在于选择一个基准值,然后将数组中大于基准值的数放置在基准值左边,把数组中小于基准值的数放置在基准值右边。之后对基准值左右的两段数组重复上述操作,直至每段数组中只有一个数值,这样每段数组都是排序的。从上述描述中可以看到分治的思想,然后这个分治的思路要使用递归来完成。这里简述下如何移动基准值左右的数值。这里使用的是填坑法。我们选取...

2020-02-24 16:24:11 1194

原创 java集合之ArrayList与LinkedList的区别

总结1.ArrayList是由动态数组实现的,LinkedList是由双向链表实现的。2.ArrayList的扩充是通过Arrays.copyOf,底层是System.arraycopy,即创建新数组,再将旧数组的元素全部拷贝过去,这个过程的时间复杂度为O(n)。扩充的长度为:Math.max(所需最小容量,1.5倍当前数组长度)。3.Arraylist在add(index,e)或remov...

2020-02-14 11:14:07 166

原创 Java集合之LinkedList(源码层面上的分析)

文章目录简介构造方法与链式节点1.构造方法2.节点结构增操作addAll方法参考链接简介概括的说,LinkedList 是线程不安全的,允许元素为null的双向链表。相对于ArrayList,LinkedList的增加和删除操作都节省时间(不需要移动,直接更改节点指向),更改和查找操作都费时间(需要遍历数组去找到目标节点)。因其底层数据结构是链表,所以可想而知,它的增删只需要移动指针即可,...

2020-02-13 23:17:00 151

原创 java集合之集合基础

文章目录Java集合类简介java集合与数组的关系Java集合类之间的继承关系Collection简介List简介Queue简介Map简介与Set集合的关系与List集合的关系主要方法参考链接Java集合类简介java中集合主要包括:Set、List、Map、Queue。其中Set是一种无序的结构,不允许有重复的元素。List是一种有序的结构,允许有重复的元素。Map是一种键值对的结构,用来存...

2020-02-03 15:12:15 308

原创 复制带随机指针的链表

题目描述题目思路其实最主要是要看懂题目,题目主要是让我们拷贝这个链表。因此我们可以使用两种方式,一种是牺牲空间的哈希表法,另一种是不牺牲空间的最优解法。哈希表法简单来说就是建立一个哈希表,让哈希表的key为老节点,value为相同值的新节点,这样,无论复制random节点还是next节点都可以通过使用哈希表来完成,具体逻辑如下。/*// Definition for a Node....

2020-01-30 17:57:43 136

原创 删除链表中重复的结点(可以再做)

题目描述题目思路其实这道题刚开始的思路不是很明确,我觉得思路应该是首先为:1->2->3->3->4->4->5,遇到重复后链表变为1->2->4->4->5,最后链表变为1->2->5,而不是直接由初始的链表直接变成1->2->5。这样思路就比较清晰了,首先我们肯定需要一个pre指针指向当前判断的节点ph...

2020-01-24 16:41:13 177

原创 替换空格

题目描述题目思路替换空格是比较简单的题目,如果我们从前往后去替换,就会导致有部分字符串重复向后移动,因此我们应该选择从后往前移动字符串,我们首先判断字符串中空格的个数,这样就可以构造出一个char数组,用来装我们的结果,之后定义两个指针分别指向char数组的末尾,以及我们传入字符串的末尾,当字符串的值不是空格时,正常同时移动两个指针;当字符串的值是空格,先给char数组赋值%20,再向前移动...

2020-01-24 15:46:30 254

原创 二维数组中的查找

题目描述题目思路灵活的来看本题是二分查找类题目,可以通过将二维数组中左下角的值now与传入的target进行比较,当target比now大时说明target只会出现在now的右边,因此可以去掉now所在的一列,而当target比now小时,说明target只会出现在now的上边,因此可以去掉now所在的一行,整体思路比较简单。代码一定要记住要考虑鲁棒性,什么时候直接返回,或者输入什么值会...

2020-01-22 22:35:33 130

原创 View的事件体系《Android开发艺术探索》笔记

本文是综合了android开发艺术探索与多篇博客并加上自己的思考总结而成的一篇博客,面向面试的读者,View的事件体系是重要的面试点,而面经与参考答案过于简单,无法深入理解,建议阅读本文后,再次对面试题作答,答出属于自己理解的那一份答案。

2020-01-18 20:18:54 507

Android之文字转图片(输入文字,转成聊天气泡形式图片,并存入sd卡)

实现了文字转图片,图片为自定义的聊天气泡框。可实现自动换行,选择字体,颜色等功能。详情看博客https://blog.csdn.net/weixin_41796401/article/details/87862328

2019-02-22

Android自定义view案例一气泡框

只是将https://blog.csdn.net/WangRain1/article/details/72768581大佬做的东西复现了一下,看到大佬没有上传,方便大家下载才上传的。

2019-02-13

空空如也

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

TA关注的人

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