自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Handler详解

handler 机制复习:handler 总共由四部分构成:Message , Handler , Looper , MessageQueue.一、MessageMessage可以但是不建议通过new一个实例化对象进行初始化。一般采用以下 API 获取static Message obtain()static Message obtain(Message orig)static Message obtain(Handler h)static Message obtain(Handler h,

2022-01-31 11:06:10 1113

原创 类加载机制 和 双亲委派机制 个人见解

类的加载机制宏观看来就是:将一份被 javac 编译过的 class 文本文件,通过加载,生成某种形式的 Class 数据结构进入内存,程序可以调用这个数据结构构造出 objectjava 类的生命周期:在 javac 编译之后会进行如下操作类加载的过程:1.加载1.1 将类的二进制字节码载入 JVM 中1.2 将二进制字节码转换为某种静态数据结构,存放在方法区1.3 在堆中生成一个便于用户调用的java.land.Class 对象,表示堆方法区中类的引用。加载之后,虽然JVM内存中堆里

2022-01-30 14:38:02 540

原创 单例模式java 个人简单理解

单例模式单例模式是Java中最简单的设计模式,属于创建型模式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有的单个对象被创建。这个类提供了一种访问其唯一对象的方式,可直接访问,不需要实例化改类的对象。核心就是 私有类构造器(保证只有在内部可以实例化),同时暴露对外的获取方法。笔者认为,实现单例的方向主要分为两大类。其一是通过多线程+锁的机制,确保同一时刻只有一个线程可以进行初始化操作其二是利用classloader机制确保实例的唯一性。多线程 + 锁:这种情况下,单例又有两

2022-01-27 23:39:27 429

原创 Retrofit 的基本使用

基于okhttp,并支持ESTful API 设计风格。网络请求工作实际由OkHttp完成,Retrofit主要负责接口的封装。可以通过注解配置请求:包括请求方法,请求参数,请求头,返回值等。对RxJava支持。1.准备工作1.1 导入依赖implementation 'com.squareup.retrofit2:converter-gson:2.9.0'implementation 'com.squareup.retrofit2:retrofit:2.9.0'implementation 'c

2021-11-11 18:52:10 2251

转载 HTTP标识码

HTTP状态码当浏览者访问一个网页时,浏览者的浏览器会向网页所在服务器发出请求。当浏览器接收并显示网页前,此网页所在的服务器会返回一个包含HTTP状态码的信息头(server header)用以响应浏览器的请求。HTTP状态码的英文为HTTP Status Code。下面是常见的HTTP状态码: 200 - 请求成功 301 - 资源(网页等)被永久转移到其它URL 404 - 请求的资源(网页等)不存在 500 - 内部服务器错误HTTP状态码分类HTTP状态码由三个十进制数字组成,

2021-09-20 23:33:10 232

转载 java乐观锁和悲观锁

乐观锁和悲观锁 乐观锁和悲观锁是一种广义上的概念,体现了看待线程同步的不同角度。 乐观锁:对于并发操作产生的线程安全问题持乐观态度,认为自己在使用数据时不会有别的线程修改数据,所以不会添加锁,只是在更新数据的时候去判断之前有没有别的线程更新了这个数据,如果这个数据没有被更新,当前线程将自己修改的数据成功写入。如果数据已经被其他线程更新,则执行其他操作,如报错或自动重试。乐观锁最常用的是CAS算法,java java.util.concurrent包下的原子类(例如AtomicBoolean..

2021-09-18 18:09:27 150

原创 线程的六种状态

Java 线程在运行的生命周期中的指定时刻只可能处于下面 6 种不同状态的其中一个状态(图源《Java 并发编程艺术》4.1.4 节)。 线程在生命周期中并不是固定处于某一个状态而是随着代码的执行在不同状态之间切换。Java 线程状态变迁如下图所示(图源《Java 并发编程艺术》4.1.4 节): 由上图可以看出: 线程创建之后它将处于 NEW(新建) 状态,调用 start() 方法后开始运行,线程这时候处于 READY(可运行) 状态。可运行状态的线程获得了 cpu 时间片(timeslic

2021-09-17 13:33:53 102

转载 JAVA 集合

原文链接,讲的巨好 Java集合 集合概述 Collection 一个一个存 List 有序集合,能够存重复的数据 Set 无序集合,不允许放重复的数据 主要继承结构图: Iterable接口:可迭代的 里面有iterator()方法,返回一

2021-09-14 19:13:02 210

转载 String StringBuffer StringBuilder

简单介绍java中用于处理字符串常用的有三个类:1、java.lang.String2、java.lang.StringBuffer3、java.lang.StrungBuilder三者共同之处:都是final类,不允许被继承,主要是从性能和安全性上考虑的,因为这几个类都是经常被使用着,且考虑到防止其中的参数被参数修改影响到其他的应用。StringBuffer是线程安全,可以不需要额外的同步用于多线程中;StringBuilder是非同步,运行于多线程中就需要使用着单独同步处理,但是速度就比S

2021-08-26 11:36:15 59

原创 抽象类和接口的区别

抽象类和接口的区别(抽象类 / 接口)1.定义关键字 abstract / interface2.继承关键字 extends / implements3.继承方式:单继承 / 多继承4.构造方法:有 / 无5.成员属性: 变量 / 常量6.方法: 成员方法 / 抽象方法7.内部增加方法不影响子类 / 新增方法通常(原因见8)需要影响子类8.jdk1.8之后,接口允许出现非抽象方法,但是需要关键字default(防止出现只想调用接口中的一个方法,但实现时缺需要重写全部)大佬链接:http:

2021-08-25 23:07:26 49

转载 面向对象的三大基本特征,五大基本原则

转载链接:https://www.cnblogs.com/fzz9/p/8973315.html 目录  一、三大基本特征:封装、继承、多态      1、封装      2、继承      3、多态  二、五大基本原则      1、单一职责原则(SRP)      2、开放封闭原则(OCP)      3、里氏替换原则(LSP)      4、依赖倒置原则(DIP)      5、接口隔离原则(ISP)  网上的讲解很多,但大都类似,这里进行转载整理。三大基本特征是理

2021-08-25 21:20:47 72

转载 ViewHolder views must not be attached when created. Ensure that you are not passing ‘true‘ to the at

如果在使用RecycleView时候出现了下面异常:ViewHolder views must not be attached when created. Ensure that you are not passing ‘true’ to the attachToRoot parameter of LayoutInflate这说明onCreateViewHolder 方法写错了 这句话的意思是,viewHolder不予许在创建的时候添加到parent里,所以如果在onCreateViewHolder方

2021-08-17 18:15:07 2263

转载 安卓开发:Adapter

转载地址:Android之Adapter用法总结1.概念         Adapter是连接后端数据和前端显示的适配器接口,是数据和UI(View)之间一个重要的纽带。在常见的View(ListView,GridView)等地方都需要用到Adapter。如下图直观的表达了Data、Adapter、View三者的关系:...

2021-08-16 22:41:55 505

转载 安卓开发:ListView

今天给大家带来《android应用开发全程实录》中关于listview和adatper中的部分。包括listview的基本使用,listview的优化等。我们经常会在应用程序中使用列表的形式来展现一些内容,所以学好ListView是非常必需的。ListView也是Android中比较难以使用的控件,这节内容就将详细解读ListView的用法。一个ListView通常有两个职责。(1)将数据填充到布局。(2)处理用户的选择点击等操作。第一点很好理解,ListView就是实现这个功能的。第二点也不难做

2021-08-16 17:25:59 446

原创 安卓开发控件关键字记录

android:textAllCaps="true" 默认大写margin 外部间距,padding 内部间距inputType常见类型:android:inputType=“none”//输入普通字符android:inputType=“text”//输入普通字符android:inputType=“textCapCharacters”//输入普通字符android:inputType=“textCapWords”//单词首字母大小android:inputType=“textCa

2021-08-15 21:29:11 346

转载 Android开发:Shape

Android开发:Shape详细解读  日常开发中,我们会遇到一些Button、Textview...等控件的背景是圆角矩形、圆形...等,和android默认的控件背景矩形不一致,此时shape的作用就体现出来了,我们可以根据shape属性画出很多我们意想不到的背景图案,下面我会把所有shape的属性都介绍一下。 1  shape标签:     android:shape:       recta...

2021-08-13 21:57:01 330

转载 goland数据类型转换

Go不会对数据进行隐式的类型转换,只能手动去执行转换操作。简单的转换操作转换数据类型的方式很简单。valueOfTypeB = typeB(valueOfTypeA)例如:// 浮点数a := 5.0// 转换为int类型b := int(a)Go允许在底层结构相同的两个类型之间互转。例如:// IT类型的底层是int类型type IT int// a的类型为IT,底层是intvar a IT = 5// 将a(IT)转换为int,b现在是int类型b := int(5)//

2021-08-08 18:55:44 368

转载 ==和equals的区别 java

详细的equals和==的区别 这已经是一个老生常谈的话题了,最近有工作了三四年的朋友去面试,面试官还是问到了这个问题,这好像已经成为java基础部分必问的一个问题了,在这里我也结合了网上的一些细节,谈谈自己的看法。 首先来看一下实例 运行结果如下 我们再来...

2021-08-06 21:16:04 63

转载 ArrayList 源码分析

本文基于版本为 1.8.0_281 的 JDK 对 ArrayList 的源码进行分析 不知道比较新的 JDK 内 ArrayList 内实现咋样的,应该大差不差吧,研究好主流的 JDK 1.8 一通百通。 全局概览 先看看 ArrayList 吧:...

2021-08-06 20:48:27 71

空空如也

空空如也

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

TA关注的人

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