自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 HashMap考点相关源码解析

面试的一面通常以基础知识为考点,其中HashMap是数据结构考察的常客。本文在HashMap源码分析基础上,对考点由进行了汇总和总结,方便读者和自己查阅。

2024-04-02 11:27:41 981

原创 万万没想到,又被问ThreadLocal了

我待ThreadLocal如初恋,ThreadLocal虐我千百遍。但这一次,要彻底搞懂ThreadLocal

2024-02-07 17:49:55 1010

原创 Retrofit源码分析及理解

Retrofit内部有着简捷、优雅的结构设计。当然对于新手来说,Retrofit也有着不宜理解和上手的问题。不过瑕不掩瑜,Retrofit仍然是一款优秀的网络请求框架。这边文章除了进行源码分析,还有个人对Retrofit的一些浅见和感悟。仅供读者参考。

2024-02-05 15:15:58 866

原创 Windows连接Ubuntu桌面

本文介绍如何通过工具,实现Window连接远程Ubuntu服务器,并使用桌面方式交互。

2024-01-18 16:36:13 681

原创 Linux快速部署文件服务器

有个简单想法,我的一些文件放在机器某个目录下面,可以简单提供团队内部人员浏览和下载功能,节约时间,用最简单方法实现。

2024-01-18 14:46:42 486

原创 C++中的指针、引用和数组

C++中对于指针、引用和数组使用时,充斥着 * 、& 、[]符号,对于像我这样的初学者面对这些符号难免会陷入混乱。这篇文章是在《21天学通C++》第8章内容基础上,进行总结和提炼,以方便自己和网友们回顾使用。

2024-01-17 11:09:23 1165

原创 2023年终总结,2024新年计划

2023记录,2024展望

2024-01-08 18:15:02 967

原创 Android Studio gradle手动下载配置

项目同步时,有时候会遇到Android Studio第一步下载gradle就是连接失败的问题。这种情况,我们可以手动去gradle官网下载好gradle文件,放置在Android Studio的缓存目录下,这样AS在同步代码时就会自动解压下载好的文件。

2023-10-13 14:33:10 6686 3

原创 判断当前Activity是否有DialogFragment显示

DialogFragment一种情况是在当前Activity上启动,一种情况是在Fragment上启动,判断当前fragmentManager上是否有,以及遍历判断子fragment上是否有,即可确定是否有DialogFragment展示。

2023-10-13 14:26:17 505

原创 Flutter开发踩坑记录一:Flutter混合开发入门指南

本文介绍Flutter项目如何集成到原生项目中的步骤,以及注意事项

2022-08-24 12:52:02 1624 1

原创 Retrofit请求返回String报错问题解决方案

Retrofit请求返回String报错问题解决方案

2022-07-12 11:44:16 2273

原创 Kotlin项目使用Maven Publish Plugin发布aar包到maven仓库中添加(debug)源码支持

Kotlin项目使用Maven Publish Plugin发布aar包到maven仓库中添加(debug)源码支持

2022-07-06 11:46:34 1220 1

原创 Kotlin “方法参数中的拓展函数”

Kotlin标准库中有这样一个拓展函数,出现了 T.() -> R 这样类型的入参。这个与普通的 () -> R 有什么区别呢?其实只有一点小区别,这里将入参 block 定义为了 T的拓展函数,赋予了block访问T的能力。当使用lambda表达式并且要访问T时,可以用这个方式。...

2022-06-23 14:43:22 603

原创 极简Android AOP之AspectJ

环境:android studio版本:4.2.2android gradle插件版本:3.1.2参考文档:android aop(三) AspectJAspectJ在Android中的使用1.配置环境(引入AspectJ插件)(1)在project的build.gradle中补充如下配置buildscript { repositories { mavenCentral() } dependencies { cla.

2021-07-08 20:56:59 471 2

原创 TextView设置Selector无效

textView.setFocusable(true);将textView的focusable设置为true即可

2021-06-21 09:51:35 350

原创 多线程加锁的核心原理

不管是Java还是C,都会遇到多线程数据同步的问题。一种解决数据因为多线程访问导致出错的方案就是使用锁。通过Java的字节码或者C程序的汇编指令看,我们编写的语句,都是由多个机器指令完成的,所以会出现多个线程在CPU执行指令顺序无法预测,从而导致对数据处理结果会出错。那如果涉及多线程数据同步的语句都是单指令的,是否可以保证不出问题呢?对于单核CPU是可以保证的。同样,如果可以保证涉及多线程数据同步的语句都是原子操作,那也单核CPU可以保证数据同步是正常的。以C语言为例,为实现多核CPU也能保证操作.

2020-07-24 18:19:46 1606

原创 mac 使用linux的indent

mac会自带一个indent,在使用时发现不支持 -kr 参数。我们可以使用brew自行安装一个gindent来使用。安装步骤:1.安装brew2.安装gindentbrew install gnu-indent3.使用gnu-indentgindent -kr main.c或者gindent -linux main.c4.试试man gindent发现更多参数使用方法。...

2020-05-26 10:35:04 188

原创 Android Handler 源码及原理分析

参考资料:ThreadLocal:https://www.cnblogs.com/coshaho/p/5127135.htmlHandler:https://www.jianshu.com/p/3d8f7ec1017a0.前绪通过Handler发送的消息,会先存到一个消息列表中,就是MessageQueue这个消息列表里。Looper这个类会循环不停地从这个消息列表中按顺序取消息,...

2019-06-25 11:42:34 165

原创 我的Java类中static语句块运行了吗?

0.前言有如下代码:public class Test { public static void main(String[] args) { System.out.println(MyStatic.AAA); System.out.println(MyStatic.BBB); }}public class MyStatic { public static f...

2019-05-21 10:09:18 239

原创 【记一次错误排查】Caused by: org.gradle.process.internal.ExecException

问题:编译和clean都无法完成。invalidate and restart无法解决。报错信息中包含以下内容:Caused by: org.gradle.process.internal.ExecException: Process 'command 'C:\Android\SDK\build-tools\26.0.2\aapt.exe'' finished with non-zero...

2019-05-14 17:03:00 9003

原创 Android Java代码中获取App渠道信息

项目中需要在Java中获取App打包的渠道信息,而打包渠道相关的内容一般都设置在 build.gradle 的 productFlavors{} 中。以下是介绍一种方便的实现方法,通过manifest作为中介来获取,实现方法如下图:1.在build.gradle中有一个占位符:manifestPlaceholders。它可以定义变量,供AndroidManifest.xml文件使用。...

2019-04-08 23:53:38 3543

原创 mac上Gimp 清除选区内容

使用mac版的Gimp 2.10图片处理时,发现拉出选区,点X(delete)键无效,无法删除选区内容。发现使用组合键 Fn + delete 有效。也可以在上边标题栏,选 编辑 --- 清除。...

2019-03-08 19:53:59 2838

原创 生成Android dimens.xml文件的shell脚本

因为做Android TV应用,做适配需要使用dimens.xml文件,dimens手写数据量太大,自己就写了一个shell脚本,共享出来,供大家参考。生成文件里有dp和sp,如下图样式:#! /bin/bash# 生成dimen脚本文件if test -e dimens.xmlthen rm dimens.xml echo "旧文件已删除..."fitouch dim...

2019-03-07 19:03:23 1519 1

原创 windows 配置VIM+Taglist+NERDTreeToggle

windows 配置VIM+Taglist+NERDTreeToggle0.说明1.安装VIM2.安装Vundle插件1.安装git2.将Vundle从github上clone下来3.配置ctags4. 安装Taglist5.安装NERDTree0.说明为了以后方便阅读java源码,在电脑上配置了安装VIM,并安装VIM两个插件。1.安装VIM官网下载安装。地址:https://www....

2018-12-01 17:50:34 1273

原创 Mac Term2 配置Solarized主题无效

Mac Term2 配置Solarized主题无效 我的安装方法我的解决方案我的安装方法新下载的Term2自带有Solarized主题,在Preferences-Profiles-Colors-Color-Presets…中选中这个主题即可 , 不需要再下载导入主题。按网上方法进行配置(忽略第一步),配置.bash_profile。按照网上说法,Preferences-Profiles-T...

2018-10-20 11:10:28 422

原创 Android 彻底搞清“dp(dip)”

前言:大家都知道"dp"这个单位,在Android上画布局时使用,用来取代px,使得画出的控件能够在不同手机上展示出相图的效果。记得有人这样跟我描述过:某个dp长度的一条线,在一个手机上展示是1cm,在其他手机上都会展示为1cm。dp是如何工作让不同屏幕手机展示“相同效果”呢?上面对dp展示的描述是否准确呢?答案是并不是这样。以下内容有几个简单的计算公式(小学数学水平)需要注意,还要注意d...

2018-09-21 15:03:11 5446

原创 Android 解决第一个布局过长导致第二个布局被挤压

如下图,有这样一个需求:横排的布局,从图上看出一共有四个控件。两个View,两个TextView。整体布局要求显示在页面的右侧;第一个TextView距离第二个棕色View的距离固定,且第一个TextView宽度根据字数自适应宽度(字数越多,宽度越宽。当所有控件填满布局时,这个控件以末尾“...”的形式展示)。如果将TextView设置成宽度wrap_content时,在字数很长的时候,会...

2018-09-08 13:10:21 5528

原创 【Android bug】Could not find class 'android.graphics.drawable.RippleDrawable', referenced from.......

进入界面后卡死,回报这个错误:Could not find class 'android.graphics.drawable.RippleDrawable', referenced from method android.support.v7.widget.AppCompatImageHelper.hasOverlappingRendering。查找了网上很多方法都不适用,最后发现是这行代码的...

2018-08-23 10:57:37 4143

原创 Android “RecyclerView”和“RecyclerView.Adapter”使用和特殊场景

RecyclerView和RecyclerView.Adapter是现在Android使用列表时是用的类;前者是列表整个布局,后者是处理数据和单个行/列的布局进行绑定显示工作。1. 基础用法RecyclerView写的时候直接扔在布局里。使用时需要设置列表的排列方式。设置方式很简单,例如:recyclerView.setLayoutManager(new LinearLayoutMa...

2018-07-25 10:30:19 353

原创 Android Studio 插件和使用小技巧提升系列——持续更新

1.Win7下,Android Studio的Terminal使用的是cmd。安装Git后,可以将Android Studio的Terminal设置成Git的bash,使用更多更强大的命令行功能。File - Settings - Tools - Terminal,将Shell path 设置成Git安装目录下Git\bin\bash.exe。重启AS即可。2.插件 IdeaVim。在Andr...

2018-05-18 14:18:42 499

原创 【问题】Android Studio3.1.1 - Rejecting re-init on previously-failed class

问题:在手机上安装App时,无法启动App,Android Studio的logcat中显示“Rejecting re-init on previously-failed class”。解决办法:关闭Android Studio中的Instant Run功能。File -> Setting -> Build,Execution,Deployment -> Instant Run,...

2018-04-16 17:15:25 11937

原创 Arraylist源码中modCount的位置

查看博客发现modCount是Arraylist的父类AbstractList中定义的一个protected变量。本着盘根问底(xian zhe wu liao)的学习原则,看了半天没看到源码中modCount。好吧,这个变量定义在Abstract.java文件的偏下的位置,第601行。protected transient int modCount = 0;

2017-12-11 16:03:18 550 2

原创 Android平台使用openGL ES 2.0实现预览摄像头数据功能

因为项目需要,做了一个例子实现这个功能。参考博文:http://blog.csdn.net/oShunz/article/details/50055057http://blog.csdn.net/oShunz/article/category/5952777http://blog.csdn.net/chylove5/article/details/49637535

2017-08-08 11:12:22 1038

原创 Kali Linux进行ARP欺骗

制霸内网之——Kali Linux进行ARP欺骗如果你附近有一位学计算机专业的同学,你乐呵呵地蹭他的网,要当心啦。你所有浏览的信息都可能被看到。有些网站的密码也可能被不良同学获取到(奸笑)。好吧,想要制霸内网,其实很简单。

2017-04-25 18:18:59 26432 5

原创 OpenGL入门笔记

OpenGL轻松入门LearnOpenGL中文版网站学习笔记 LearnOpenGL中文版网站地址:http://bullteacher.com/本人菜鸟,学习openGL皮毛,文中如有问题,请大家提出。Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键

2017-03-23 22:34:48 656

原创 kali Linux 2016.2 安装中文输入法

参考文章:http://www.jianshu.com/p/f2e3899614951. 更新源leafpad /etc/apt/sources.list添加以下内容到sources.list文件中#中科大kali源deb http://mirrors.ustc.edu.cn/kali kali main non-free contribdeb-src h

2017-02-22 09:30:01 530

chashao.img的压缩包.zip

自制操作系统第0天镜像文件

2021-02-03

HP U盘格式化工具 V2.0.6.zip

大白菜或者其他软件装过系统的u盘,可以使用这个工具格式化,获取到被隐藏的存储空间

2019-09-18

空空如也

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

TA关注的人

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