自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(49)
  • 资源 (5)
  • 收藏
  • 关注

原创 Android RecycleView DiffUtil内部move导致item移动到屏幕可见范围之外原因及处理方案

detectMoves为true的时候,如果pos=1的数据换到pos=0,recycleview不会自动滑到新pos=0位置,而是停留在新的pos=1上;原因是diff是从尾部往头部检查数据,所以检查到pos=1和pos=0的时候是直接移动到pos=0前面的,导致原pos=0有可能不在视野内。这个过程需要额外的计算,但是可以提供更精确的更新结果,尤其是在有动画效果的列表中,可以得到更好的用户体验。这样可以减少计算的开销,但是可能会导致更新结果不够精确,尤其是在有动画效果的列表中,可能会影响到用户体验。

2024-04-23 20:50:12 187

原创 记录一次排查线程死锁问题

然后,调用Rx2QueueUtil.backgroundTaskOnMain方法,将该Callable对象在queueName线程上执行,并将执行结果发布到主线程上的Observable对象中。同时,线程B在执行任务前也调用了executeSync方法,将任务放到线程A执行,并在等待执行结果时被阻塞,那么就会发生死锁。executeSync方法接受一个线程名和一个opt参数,其中线程名用于指定后台线程的名称,opt参数是一个实现了OptCallback接口的回调对象,用于执行耗时任务并在执行完成后回调。

2023-06-25 21:27:55 106

原创 服务代理转发

前端访问后端,肯定会遇到跨域问题,可以很多种方式解决,比较常见的如nginx。但由于某些限制,可能并不好使用Nginx来解决,那就可以考虑让前端访问自己的A服务,再通过A服务访问目标接口,由A服务来进行转发请求。

2023-06-21 11:42:30 254

原创 Android动态添加布局以及LayoutParam到底起到了什么作用?

在需求开发过程中,可能会遇到需要动态添加View的场景,那到底如何去添加View以及怎样像在XML中写布局一样指定View摆放的位置呢。在初学时也去翻阅了很多文章,但发现都没讲清楚怎么去控制View的位置这件事,所以这篇文章侧重详细解释下LayoutParam的作用。

2022-05-15 13:16:54 1371

原创 安卓手机分辨率、尺寸、像素如何影响布局表现?

分辨率大家在看手机参数的时候都会关注到分辨率这样一个参数(1080px*1920px),分辨率指的是横纵方向的像素点,影响着成像清晰度。像素密度像素密度指的是1英寸含有的像素点数量,那我们也知道手机的英寸参数一般指的是斜对角线的长度,所以计算像素密度时也需要用斜对角线上的像素值(宽1080px,高1920px,由勾股定理得出斜对角线密度)/手机尺寸,密度单位是dpi公式:那分辨率如何影响成像密度呢?简单理解就是相同宽度下,像素点越多肯定越细腻。DP与PX因为不同手机分辨率(PX)是不一样的,

2022-03-26 15:50:02 1318

原创 使用ConstraintLayout实现自定义缩放布局(百分比布局)

一个复杂的布局或自定义View如何在添加到其他不同大小的ViewGroup中按比例去缩放自己的布局内容呢?我尝试使用ConstraintLayout解决了这个问题。1. 简单的布局大家先看一个简单的布局,由上下两个view组成,都是16:9的比例。左边是设置android:layout_width="match_parent"的情况,右边是将layout_width设为了200dp,模拟缩小到宽为200dp的View。大家可以发现的是他们实现等比缩小了。实现原理也很简单,就是通过ConstraintL

2021-10-15 22:21:12 3175 1

原创 Json格式转为XMind思维导图

关于XMind转为Json、XML等格式的可以看下面这些链接https://github.com/zhuifengshen/xmindhttps://blog.csdn.net/weixin_33800593/article/details/88804838但是关于Json转回XMind的轮子却没有,所以自己就写了一份。下面自取# -*- coding: utf-8 -*-import jsonimport xmindimport sysdef genXmindByJson(paren

2020-09-12 14:33:49 4838

原创 java.lang.IllegalArgumentException: Unable to create call adapter for class java.lang.Object

在使用kotlin协程的suspend时候会出现java.lang.IllegalArgumentException: Unable to create call adapter for class java.lang.Object for method的错误,这是由于Retrofit的版本低于2.6.0引起的,改正即可。

2020-07-27 14:22:07 3892

原创 Android Studio报错:all packages are not available for download package id sources android-30

All packages are not available for download! The following packages are not available:- Package id sources;android-30换版本Failed to find Build Tools revision 29.0.2网上已经讲了很多种解决方案了,但30的基本都解决不了,将版本替换成其它之后,如果会报错的请参考下面解决方案在Project的build.gradle查看gradle版本是不

2020-07-19 15:03:11 1357 1

原创 Dagger2 入门实战

看了网上很多篇关于Dagger2的入门文章,说真的对新手而言很难看懂,由于自己也是刚学习Dagger2,所以这篇文章站在初学者的角度编写完成。参考如下文章:https://www.jianshu.com/p/c7caadaf28af简单依赖首先,先来看看为引入Dagger2之前,我们是在怎么构造一个对象依赖的。定义SimpleA、SimpleB对象public class SimpleA { private String name; public SimpleA(){ .

2020-06-23 10:03:49 212

原创 小程序入门会遇到的一些问题

tabBar不显示问题欢迎页是pages/index/index,但list的第一项不是pages/index/index就会tabBar不显示"pages":[ "pages/index/index", "pages/reserve/index", "pages/take/index", "pages/record/index", "pages/logs/logs" ],"tabBar": { "list": [{ "pagePath"

2020-06-10 10:06:41 144

原创 盘点Java中List、Set、Map实现类以及他们之间的区别

没有进行扩展,方便复习。需要更详细的,可以访问我的博客查看其它文章一、List存放是有序的,允许存放重复元素1.1 ArrayListArrayList 是常用的 List 实现类,内部是通过数组实现的,它允许对元素进行快速随机访问。数 组的缺点是每个元素之间不能有间隔,当数组大小不满足时需要增加存储能力,就要将已经有数 组的数据复制到新的存储空间中。当从 ArrayList 的中间位置插入或者删除元素时,需要对数组进 行复制、移动、代价比较高。因此,它适合随机查找和遍历,不适合插入和删除。.

2020-05-25 16:51:06 542

原创 进程与线程区别、状态转换、通信方式

1.进程与线程概念进程进程是程序的一次执行过程,是系统运行程序的基本单位,因此进程是动态的。系统运行一个程序即是一个进程从创建,运行到消亡的过程线程线程与进程相似,但线程是一个比进程更小的执行单位。一个进程在其执行的过程中可以产生多个线程。与进程不同的是同类的多个线程共享进程的堆和方法区资源,但每个线程有自己的程序计数器、虚拟机栈和本地方法栈,所以系统在产生一个线程,或是在各个线程之间作切换工作时,负担要比进程小得多,也正因为如此,线程也被称为轻量级进程。2.进程和线程的区别进程是资源分配的最

2020-05-23 16:28:12 514

原创 Java中的浅拷贝与深拷贝

Java 中的数据类型分为基本数据类型和引用数据类型。对于这两种数据类型,在进行赋值操作、用作方法参数或返回值时,会有值传递和引用(地址)传递的差别。一、拷贝分类引用拷贝 (==)对象拷贝 (.clone())浅拷贝(.clone())深拷贝(.clone().clone())注意:浅拷贝与深拷贝都属于对象拷贝浅拷贝:基本数据类型拷贝值,引用类型拷贝内存地址,修改基本数据类型不会对原对象产生影响,修改引用类型会对原对象产生影响。被拷贝对象通过实现 Cloneable 并重写 cl.

2020-05-21 12:17:48 318

原创 部署多个git账户且实现ssh代理

之前注册了github没弄ssh,每次需要push代码或者部署hexo博客都需要输入用户名密码,很麻烦。在体会一次ssh之后,简直太香了。最近又注册了个github账号,发现ssh key会相互覆盖,在网上找了一些资料后在这里做个总结,防止下次有相同需求又得百度了。个人网站:点击Hofe’s blog可查看更多内容一、生成sshKey如果有多个账户的,建议就别设置全局的用户名和邮箱了git config user.name "yourgithubname"git config user.ema.

2020-05-17 21:12:34 199

原创 通过面试题学MySQL进阶篇

欢迎来我的个人网站,里面有最新的版本这篇介绍了下MySQL的主从同步及分库分表常见面试题数据库如何实现并发(主从、分库)mysql 主从同步怎么搞的?分哪几个过程?如果有一台新机器要加到从机里,怎么个过程。binlog 日志是 master 推的还是 salve 来拉的?一、主从复制(同步/分离)[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5RSDLl1X-1589031550221)(https://cdn.jsdelivr.net/gh/hhf443/.

2020-05-09 21:39:37 413

转载 秒杀架构的设计及超卖问题的解决

可访问个人网站进行阅读最新版本转载:https://mp.weixin.qq.com/s?__biz=MzA3ODQ0Mzg2OA==&mid=2649051049&idx=2&sn=ac38a47f2e5f6f6700a82c4dfda5961b&chksm=87534b9ab024c28c8cdaebdf4800ab741c8780d6a185850043b7ac573f58f0cf24c5e51ddea1&mpshare=1&scene=23&amp.

2020-05-09 21:33:21 427

原创 JVM内存模型与GC机制

可访问个人网站进行阅读最新版本,精力有限无法多网站同步更新,更新只会在个人网站进行介绍了下Java运行时内存划分以及GC算法、垃圾回收器。一、Java内存区域1.程序计数器:程序计数器(Program Counter Register)是一块较小的内存空间,可以看作是当前线程所执行字节码的行号指示器,指向下一个将要执行的指令代码,由执行引擎来读取下一条指令。更确切的说,一个线程的执行,是通过字节码解释器改变当前线程的计数器的值,来获取下一条需要执行的字节码指令,从而确保线程的正确执行。每个线程.

2020-05-09 13:11:17 346

原创 Cookie与Session区别

欢迎来我的个人网站,里面有最新的版本这篇介绍了下Session 和 Cookie面试题常考内容,并做了延伸,解释了原理。没有太过详细,之后会补充。Cookie与Session一、CookieHTTP协议是无状态的协议。一旦数据交换完毕,客户端与服务器端的连接就会关闭,再次交换数据需要建立新的连接,这就意味着服务器无法从连接上跟踪会话。Cookie通过在客户端记录信息确定用户身份,在客户端发起请求的时候,携带上cookie,服务器通过该cookie辨认用户信息。以此来弥补HTTP协议无状态的不足.

2020-05-08 17:55:05 579

原创 TCP与UDP详解

欢迎来我的个人网站,里面有最新的版本这篇介绍了下TCP与UDP面试题常考内容,并做了延伸,解释了原理。面试题tcp和udp的区别tcp如何实现可靠性怎么实现拥塞控制cookie、session一、TCP/IP协议TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议)是指能够在多个不同网络间实现信息传输的协议簇。TCP/IP协议不仅仅指的是TCP 和IP两个协议,而是指一个由FTP、SMTP、TCP、UDP、.

2020-05-08 17:54:06 363

原创 HTTPS协议详解

title: Https协议详解date: 2020-04-28 14:00:25update: 2020-04-28 14:00:25tags:- Httpscategories:- 网络- Https欢迎来我的个人网站,里面有最新的版本这篇介绍了下HTTPS面试题常考内容,并做了延伸,解释了原理。一、常见面试题先来看看一些常见的面试题Https的过程(对称加密和非对称加密,CA,还有随机数生成秘钥的方式)二、Http和Https的区别Http协议运行在TCP之上,明文.

2020-05-08 17:52:37 301

原创 HTTP协议详解

欢迎来我的个人网站,里面有最新的版本这篇介绍了下HTTP面试题常考内容,并做了延伸,解释了原理。一、常见面试题先来看看一些常见的面试题TCP/IP五层协议?http协议以及一些延伸?get和post区别?状态码?url回车之后发生什么?Https的过程(详细地说了对称加密和非对称加密,CA,还有随机数生成秘钥的方式);http和tcp的关系二、Http简介HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:Wo.

2020-05-08 17:49:58 301 1

原创 通过面试题学MySQL基础篇

欢迎来我的个人网站,里面有最新的版本这篇介绍了下Mysql面试题常考内容,并做了延伸;个人觉得MVCC部分讲的应该是网上较为清楚的了。参考:https://www.codercto.com/a/88775.htmlhttps://baijiahao.baidu.com/s?id=1629409989970483292&wfr=spider&for=pc如果有图片失效的情...

2020-05-06 16:38:02 290

原创 通过面试题学Redis--进阶篇

欢迎来我的个人网站,里面有最新的版本上篇篇介绍了下单体Redis的知识,这篇介绍分布式集群下的Redis。还未全部完成,遗留集群和异步更新策略还未解决面试题上篇博客解决了以下问题:Redis是什么,用在哪?Redis 的缺点?Redis常见数据类型用在什么场景底层数据结构是啥Zset底层为什么要用两个数据结构Redis的持久化说一下 Redis 的数据淘汰策略Red...

2020-05-05 19:16:51 604

原创 通过面试题学Redis--基础篇

欢迎来我的个人网站,里面有最新的版本这篇介绍了下单体Redis的知识,还会再写一篇介绍分布式集群下的Redis。参考:https://blog.nowcoder.net/n/f62aef5a98804489a7e7bd27cfd7b542​ https://www.cnblogs.com/ysocean/p/9080942.html文章目录面试题一、Redis简介1.1 Redis...

2020-05-04 19:40:21 498

原创 ConcurrentHashMap实现原理及源码阅读

可访问个人网站进行阅读最新版本,精力有限无法多网站同步更新,更新只会在个人网站进行参考自https://ddnd.cn/2019/03/10/jdk1-8-concurrenthashmap/https://juejin.im/post/5c8276216fb9a049d51a4cd6面试题并发安全机制分段锁机制synchronized + CAS内部数据结构一、了解Ha...

2020-05-03 16:08:55 222

原创 HashMap实现原理及源码阅读

点击进入个人网站,阅读体验更佳面试题先来看看常问的面试题有哪些底层数据结构hash冲突解决1.7和1.8区别扩容机制(为什么是2倍)rehash过程红黑树的左右旋一、底层数据结构// 1.位桶数组transient Node<k,v>[] table;//存储(位桶)的数组</k,v>// 2.数组元素Node<K,V>实现了E...

2020-05-02 16:05:01 1102 1

原创 LeetCode--树

剑指offer中所有关于树的题目,一般靠递归解决进入个人网站阅读体验更佳二叉树的构建题目根据二叉树的前序遍历和中序遍历的结果,重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。链接:https://www.nowcoder.com/questionTerminal/8a19cbe657394eeaac2f6ea9b0f6fcf6?f=discussion来源:牛...

2020-04-28 11:30:10 193

原创 dubbo项目开发全记录

下载zookeeper进入/opt/zookeeper/目录下获取安装包:wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gztar -zxf解压并进入zookeeper-3.4.14,复制conf/zoo_simple.cfg为conf/zoo.c...

2020-04-27 15:31:51 337

原创 通过面试题学Java多线程

多线程实现的三种方式继承Thread,重写run方法实现Runnable接口,重写run方法实现Callable接口,重写run方法有返回值的任务必须实现Callable接口,类似的,无返回值的任务必须Runnable接口。执行 Callable任务后,可以获取一个Future的对象,在该对象上调用get就可以获取到Callable任务 返回的Object了,再结合线程池接口Executo...

2020-04-27 14:38:29 233

原创 Spring Cloud入门项目实战(三)--Ribbon

前言我自己建了个博客网站,欢迎大家来访问,阅读体验更佳点击进入正在入门SpringCloud中,在学习的过程中也正好做个项目练手。这个项目是想做成一个模板,这样之后遇到同规模项目的时候可以拿来就用,版本也好控制。涉及到的中间件会有Eureka、Ribbon、Feign、HyStrix、Zuul、ConfigServer。这一节项目将改写Ribbon。版本SpringBoot:2.2.1....

2020-04-09 18:20:56 184

原创 Spring Cloud入门实战(二)--集成Eureka

前言我自己建了个博客网站,欢迎大家来访问,阅读体验更佳点击进入正在入门SpringCloud中,在学习的过程中也正好做个项目练手。这个项目是想做成一个模板,这样之后遇到同规模项目的时候可以拿来就用,版本也好控制。涉及到的中间件会有Eureka、Ribbon、Feign、HyStrix、Zuul、ConfigServer。这一节将项目改装成Spring Cloud并集成Eureka。版本S...

2020-04-09 14:39:19 229

原创 Spring Cloud入门项目实战(一)

前言正在入门SpringCloud中,在学习的过程中也正好做个项目练手。这个项目是想做成一个模板,这样之后遇到同规模项目的时候可以拿来就用,版本也好控制。涉及到的中间件会有Eureka、Ribbon、Feign、HyStrix、Zuul、ConfigServer。这一节使用生产者消费者模型体现微服务思想。版本SpringBoot:2.2.1.RELEASE目录结构如下一、创建项目...

2020-04-08 18:18:58 1008

原创 一文读懂kmp算法

自己创建了个博客网站,hofe’s blog ,欢迎大家收藏_博客将会两边同步更新,体验会更佳。一、KMP算法是什么?kmp算法是用于解决字符串匹配的算法本文用约定用 pat 表示模式串,长度为 M,txt 表示文本串,长度为 N。KMP 算法是在 txt 中查找子串 pat,如果存在,返回这个子串的起始索引,否则返回 -1首先来看一道例题:link题目描述字符串旋转:给定两...

2020-04-05 16:37:40 166

原创 Java面试考题集锦之Java基础

这篇文章记录在准备Java后端面试复习过程中网上常见的考题,同时也会标明题目出现频率,方便大家参考。有缺少、错误的部分欢迎大家补充纠正。–持续更新图片来源:牛客网面经数据类型Java中的八大类型及其包装类型(占用字节数)Java面向对象常见Java 接口\抽象类?重载和重写?Java List高频ArrayList和LinkedList的区别?分别用在什么场景?①Array...

2020-03-18 20:07:04 1558 1

原创 visual studio2019远程调试c/c++

最近有远程调试C++代码的需求,故在visual studio中添加了Linux 开发c/c++模块,用处就是在windows上运行c/c++代码,运行环境用的是远程linux的,部署也是部署在linux上。但是这样开发的缺点有一个,就是太工程化了,工作路径都配置的很完整,但对于简单的开发来讲,不太方便。可以看见它这里的路径配置,这样会导致什么问题呢?可执行文件在好几个子目录下,但一般我们...

2020-03-17 14:16:05 1358 1

转载 通过面试题学SpringBoot

转载至https://www.jianshu.com/p/63ad69c480fe/(原创)下面的也是转载,但阅读起来比较舒适。也可查看https://blog.csdn.net/Kevin_Gu6/article/details/88547424

2020-03-16 13:44:57 108

原创 SpringBoot无法热部署

问题:在maven中加入依赖后发现热启动还是没办法<!--热部署--><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true...

2020-03-16 13:33:04 267

原创 通过面试题学Spring

准备面试复习Spring的时候详细的看了一下Spring理论知识,结合网上的面试题,写了这篇博客。如果需要更详细的内容,推荐我的另一篇文章详解Spring。文章目录为什么使用Spring(优缺点)?Spring的IoC理解:什么是控制反转(Inversion of Control)与依赖注入(Dependency Injection)?BeanFactory和ApplicationContex...

2020-03-15 22:44:43 190

原创 一文入门Spring

此文将系统介绍Spring技术,参考文章https://www.w3cschool.cn/wkspring/pesy1icl.html。写作经验不多,不知道原来篇幅会到这么长,将会出一篇《快速搞懂Spring》高度概括。

2020-03-15 20:30:36 342

JAVA核心面试知识整理.pdf

包含JVM、集合、多线程并发、反射、注解、Spring、微服务、Netty与RPC、网络、zookeeper、kafka、设计模式、分布式、网络、云计算、机器学习等章节,涵盖Java后端技术系列

2020-03-18

计算机网络.xmind

非常齐全的计算机网络思维导图,期末时候自己总结的,重点部分有扩展

2019-05-18

计算机网络学习与指导实验-基于cisco packet tracer

计算机网络学习与指导实验-基于cisco packet tracer第二版

2018-11-18

易班自动答题脚本全版

易班自动答题软件脚本,用于易班青马易站答题板块的自动答题

2018-11-04

[计算机网络实验与学习指导——基于Cisco Packet Tracer模拟器(第2版)][叶阿勇 等][配套资料]

[计算机网络实验与学习指导——基于Cisco Packet Tracer模拟器(第2版)][叶阿勇 等]的配套实验pka

2018-10-20

空空如也

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

TA关注的人

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