自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

李斯维的博客空间

都是自己的一些东西,不好不好,还需努力。。。

  • 博客(60)
  • 资源 (1)
  • 收藏
  • 关注

原创 一文掌握 Object 类里的所有方法(wait、notify、finalize)

本文讲解了 Object 里面的所有方法,包含常用的5个方法:getClass、hashCode、equals、clone、toString,除此之外本文重点讲解了 Object 中与线程相关的方法:wait、wait(long)、notify、notifyAll。对于线程的等待和唤醒进行了详细的讲解。最后介绍了 finalize 方法,介绍了该方法的使用方式和替代方案。

2024-06-29 13:25:47 1082 2

原创 制作自己的 @OnClick、@OnLongClick(告别 setOnClickListener,使用注解、反射和动态代理)

本文利用注解和反射的巧妙结合,在运行时进行事件和 View 的绑定,实现一个运行时的事件绑定注解框架。以 @OnClick 和 @OnLongClick 为例,读者跟着文章一步步将实现自己的运行时的事件绑定注解。

2024-06-15 13:37:29 1022 2

原创 制作自己的 ButterKnife(使用 AutoService 和 APT 注解处理器在编译期生成 Java 代码)

本文从原理的角度介绍了 ButterKnife 的方方面面。通过阅读此文,读者可以自己制作自己的 ButterKnife,并掌握诸如 APT、AutoService、SPI 等相关概念。

2024-06-04 21:05:55 671 3

原创 一张图 给孩子解释下什么是SSH

一张图 给孩子解释下什么是SSH

2024-08-24 14:33:07 130

原创 Git 常用命令总结

Git 作为程序员最常用的代码版本工具,其内容博大精深,本文总结了 Git 中比较常用的命令,可作为程序员查询使用。

2024-08-24 14:23:23 1060

转载 一张图 介绍关于AI的一切

一张图 介绍关于AI的一切

2024-07-28 13:23:16 398

转载 一张图 比较常见编程语言学习难度

一张图 比较常见编程语言学习难度

2024-07-28 12:30:36 254

原创 这一文,关于 Java 泛型的点点滴滴 二 (extends、super、<?> 通配符、泛型与反射)

本文在上一篇的基础上,介绍了 extends 、super 、?等泛型中的通配符,并在最后介绍了使用泛型获取泛型信息,阅读本文大家会对 Java 泛型有一个更深的理解。

2024-07-28 11:37:24 1234

转载 一张图 介绍基础服务器类型

一张图 介绍基础服务器类型

2024-07-27 23:03:00 249

原创 这一文,关于 Java 泛型的点点滴滴 一(泛型基础、类型擦除)

泛型是 Java 中的非常重要的点,本文将对 Java 中的泛型进行全面的介绍,并使用代码示例演示 Java 泛型的使用方式。并特别介绍了 extends 、super 、?等泛型中的通配符,阅读本文大家会对 Java 泛型有一个更深的理解。

2024-07-27 22:59:45 1161

转载 一张图 详解第一性原理

一张图 详解第一性原理

2024-07-21 21:00:34 166

原创 一文掌握 Thread 类里的常用方法(yield、interrupted、join、daemon)

本文介绍了 Java 中的 Thread 中的一些常用方法,这些常用方法在多线程编程中极为重要。本文针对每个方法都用了不同的讲解方式,言简意赅,值得一看

2024-07-21 17:32:29 981

转载 一张图 介绍一些好用的知识管理笔记应用

一张图 介绍一些好用的知识管理笔记应用

2024-07-18 23:46:49 126

原创 Java基础知识之 使用 Cleaner 替代 finalize

本文介绍了Object.finalize 方法,并详细说明了这个方法替代方案:Cleaner,并通过一个完整的例子,介绍了这个方法是如何进行 Java 对象的清理工作的。

2024-07-18 23:44:12 1038

转载 一张图 给孩子解释下什么是云计算

一张图给孩子解释什么是云计算

2024-07-16 22:56:26 181

原创 这可能是本年度最好用的 Dagger 使用教程 四(使用 @Builder 和 @Factory 创建依赖注入器)

本文接着前面三篇文章讲解 Dagger 中的注入器的两种创建方式 @Factory 和 @Builder,其也对应了工厂模式和建造者模式。

2024-07-16 22:51:23 451

转载 一张图 给孩子解释下什么是DDoS

一张图 给孩子解释下什么是DDoS

2024-07-15 09:47:34 183

原创 这可能是本年度最好用的 Dagger 使用教程 三(依赖注入器的依赖、子组件、Lazy、Provider)

在上一个文章中,我们介绍了 Dagger 中的限定和范围注解,现在我们将视线转移到依赖注入器来,先介绍这个组件的依赖的两种方式,再介绍两个常用的类型。

2024-07-15 09:46:50 1670

转载 一张图 分享量化金融学习路径

一张图 分享量化金融学习路径

2024-07-14 10:58:30 68

原创 这可能是本年度最好用的 Dagger 使用教程 二(限定注解 @Named、@Qulifier 和 范围注解 @Singleton、@Scope)

本文紧接着上一篇 Dagger 的基本使用,介绍了 Dagger 中的限定注解和范围注解这两个概念,并演示了其注解的使用方法。

2024-07-14 10:55:30 921

转载 一张图 给孩子解释下什么是SEO

一张图 给孩子解释下什么是SEO

2024-07-08 21:54:35 212

转载 一张图 推荐几个玩游戏学习英语的网站

一张图 推荐几个玩游戏学习英语的网站

2024-07-07 23:54:17 155

原创 这可能是本年度最好用的 Dagger 使用教程 一(基本使用)

本文从一个例子入手,解释了依赖注入,和 Dagger 这个库的初步使用方式。

2024-07-07 23:49:58 1640

转载 一张图 简单总结 Git 和 GitHub 的区别

一张图简单总结 Git 和 GitHub 的区别

2024-07-05 23:33:37 130

原创 Java 基础知识之 依赖注入(Dependency Injection)

本文介绍了在 Java 开发中常用的 依赖注入 设计模式的基本概念,并演示了使用和不使用依赖注入时代码的区别及影响,详细说明了依赖注入的4种方式,最后介绍了几个常用的依赖注入框架。

2024-07-05 23:29:00 1487

转载 一张图 对比4个主流后端语言

一张图 对比4个主流后端语言

2024-07-03 23:23:30 114

原创 Java 基础知识之 switch 语句和 yield 关键字

本文讲解 Java 中 switch 关键字的用法,包括其传统用法和 Java 12 之后新添加的 switch 表达式,并演示了 yield 关键字。

2024-07-03 23:17:50 735 2

原创 Java 基础知识之 深拷贝与浅拷贝(Cloneable接口、clone方法)

本文讲解 Java中深拷贝和浅拷贝的区别,并有示例演示其中区别。对于 Cloneable 接口和 clone 方法也进行了解释。

2024-07-02 09:29:34 951

转载 一张图 给孩子解释下什么是 API

一张图 给孩子解释下什么是API

2024-07-02 09:23:10 104

转载 一张图 给孩子解释下什么是CDN

一张图,给孩子介绍下什么是CDN

2024-06-29 13:44:36 41

转载 一张图 给孩子解释下什么是Cookie

一张图 给孩子解释下什么是Cookie

2024-06-29 11:14:21 37

原创 代理模式与静态代理、动态代理的实现(Proxy.newProxyInstance、InvocationHandler)

代理模式是23种设计模式中比较常用的一种,属于结构型设计模式。在 Android 领域中,有大量的库都使用了代理模式,例如 Retrofit 使用动态代理来实现 API 接口的调用,Dagger 使用代码生成和反射机制来创建依赖注入的代理对象等等。本文将带你了解代理模式,并且介绍静态代理和动态代理的实现方式。

2024-06-12 15:34:59 1240 2

原创 Java Reflection 反射使用 完全指南

Java 中的反射大家都不陌生,有很多很好的文章都进行了讲解,但是很难找到一篇文章能完全解释反射的所有用法,特别是反射获取这个对象的注解的信息和泛型信息,往往都停留在了获取类的函数、方法,构造上。所以这篇文章将全面讲解 Java 反射中的所有用法,特别是对于类中的注解的获取上。另外,本文章不会对反射的原理进行讲解,看完本文你应该只能学会怎么用反射,至于其原理,本文不会涉及。

2024-06-12 15:26:43 1099 1

原创 Java 和 C 中 测量代码耗时 最佳实践

测量代码耗时是在开发过程中不可避免会遇到的问题。本文讲解了在 Java 和 C 语言中常用的几种测试代码耗时的方法,简单易用,值得收藏。

2022-08-16 22:27:35 407 1

原创 Android 源代码在线查看 目录结构 不完全指南

分享几个可以在线查看Android 源代码的网站:Android 源代码官方查看网站:https://cs.android.com/;AOSPXRef 在线查看源代码:http://aospxref.com/;AndroidXRef 在线查找源代码:http://androidxref.com/;

2022-01-19 16:14:43 7341 1

原创 快速上手 TinyXML-2 不完全教程

TinyXML-2 不完全教程XML 作为程序开发中非常常用的数据文档之一,各个语言或是开发环境都有对应的用于处理 XML 文件的库。在 C++ 语言中,TinyXML-2 就是这样的一个库。TinyXML-2 是一个简单,小巧,高性能的 C++ 的 XML 解析器,它能够容易地集成到其他程序中。与 TinyXML-2 有关的两个网页如下:GitHub 主页:https://github.com/leethomason/tinyxml2在线帮助文档:http://leethomason.git

2022-01-08 16:16:42 4239 7

原创 记录 NDK JNI 的崩溃 Fatal signal 5 (SIGTRAP), code 1 in tid

在 Android 写 CPP 的代码时碰到了一个崩溃的问题,且崩溃日志只有下面的一行:Fatal signal 5 (SIGTRAP), code 1 in tid 32450后来在经过检查时才发现是由于有一个函数是定义了返回值的,但是实际上却没有返回任何东西导致的。即,JNI 函数或者使用到的 C++ 函数缺少指定的返回值。(也很纳闷为什么这种情况下编译都能过)参考了这个博文:https://blog.csdn.net/whartonyang/article/details/10692685

2022-01-05 21:03:11 2757

原创 使用 Xcode 配置 OpenGL 开发环境

前提准备在打开 Xcode 之前,我们需要准备两个库:GLFW 和 GLAD。这是开发 OpenGL 需要依赖的库,所以先看看如何准备好这两个库吧:GLFW在我们画出任何效果之前,首先要做的就是创建一个OpenGL上下文和一个用于显示的窗口。然而,这些操作在每个系统上都是不一样的,OpenGL有目的地将这些操作抽象出去。这意味着我们不得不自己处理创建窗口,定义OpenGL上下文以及处理用户输入。幸运的是,有一些库已经提供了我们所需的功能,其中一部分是特别针对OpenGL的。这些库节省了我们书写操作系

2021-01-13 20:44:36 1732 22

原创 Android 应用的版本兼容 了解一下(理解 minSdkVersion、targetSdkVersion、maxSdkVersion、compileSdkVersion)

前言总所周知,Android 适用于众多类型的设备,从手机到平板电脑和电视都能搭载使用。为了能在所有这些设备上顺利运行,Android 系统在应用到设备上时,必不可少的需要处理与 Android 应用的兼容性问题。这里就牵扯出两个概念:设备兼容性与应用兼容性。设备兼容性:设备兼容 Android 的前提是它可以正常运行针对 Android 执行环境编写的应用。应用兼容性:针对市面上千奇百怪的 Android 设备,应用是否兼容每一种可能的设备配置。对于Android 应用开发者来说 ,我们无需担

2021-01-09 17:04:25 13205 8

原创 对于 MVP 应用架构的理解及其优化改造

MVP 架构MVP架构由MVC发展而来。在MVP中,M代表Model,V代表View,P代表Presenter。Model 负责获取数据,数据的来源可以是网络或本地数据库等;View 负责界面数据的展示,与用户进行交互;Presenter 是Model与View之间的通信的桥梁,将Model与View分离开来,也是业务进行实现的地方;这三个层面之间的关系如下:我们先简单用一个简单...

2020-10-27 15:09:27 464

mips[64]el-linux-android-4.9.zip

此文件用于解决 No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android 的问题。下载后需要将其解压到你的 NDK 目录下的 toolchains 文件夹中。在打开工程就不会遇到这个问题了。 注意此文件仅适用于 MAC。 此文件来源于 Android NDK r17c 版本中的 mips64el-linux-android-4.9 和 mipsel-linux-android-4.9。这也是新版本 NDK 中被删除的两个工具链。

2020-03-07

空空如也

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

TA关注的人

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