_铁树开花
码龄13年
关注
提问 私信
  • 博客:46,148
    问答:43
    46,191
    总访问量
  • 22
    原创
  • 1,049,746
    排名
  • 13
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:北京市
  • 加入CSDN时间: 2011-12-15
博客简介:

english111999的博客

查看详细资料
个人成就
  • 获得49次点赞
  • 内容获得32次评论
  • 获得142次收藏
创作历程
  • 12篇
    2021年
  • 10篇
    2020年
成就勋章
TA的专栏
  • 疑难杂症
    7篇
  • Android详解
    6篇
  • 设计模式
    2篇
  • Java源码篇
    4篇
  • java虚拟机篇
    4篇
  • HashMap
  • 启动模式
    1篇
  • handler机制
    1篇
兴趣领域 设置
  • 数据结构与算法
    数据结构
  • 移动开发
    kotlinflutterandroid studio
  • 软件工程
    性能优化
  • 学习和成长
    面试
创作活动更多

AI大模型如何赋能电商行业,引领变革?

如何使用AI技术实现购物推荐、会员分类、商品定价等方面的创新应用?如何运用AI技术提高电商平台的销售效率和用户体验呢?欢迎分享您的看法

186人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

安卓性能优化全面总结(友盟性能优化大赛获奖作品)

【安卓性能优化总结】【八年工作经验精华积累】目录最全的性能优化点总结:零、 启动优化1、项目背景2、 检测启动时间3、打印启动时间4、优化理念:5、启动时透明页优化:6、MultiDex优化7、多进程时,防止sdk多次初始化8、最终结果:一、 内存优化1、 项目背景2、性能优化的理念3、了解对象之间的引用关系和对象大小的占用4、了解Android中经常造成内存泄漏的点(1)、耗时任务:网络请求、属性动画、Timer(2)、handler(3)、匿名/非静态内部类(4
原创
发布博客 2021.10.27 ·
9854 阅读 ·
1 点赞 ·
0 评论 ·
5 收藏

Android Studio:你的主机中的软件中止了一个已建立的连接。

你的主机中的软件中止了一个已建立的连接再一次开发中碰到了这样的问题,同步 gradle 就会异常;解决方案有两个关闭wifi和回退 Gradle 版本;如果都不想这么干,还有一个解决办法:先打开你想操作的android 项目,之后再打开wifi,此时的android studio是可以正常使用的,如果wifi打开后再重新打开一个新项目,此时新项目的studio就会出现 你的主机中的软件中止了一个已建立的连接 这个问题了...
原创
发布博客 2021.08.09 ·
1882 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

tcp、http和socket的区别(看完这篇不懂,我姓倒着写)

tcp、http和socket的区别我非常怀疑科普文章的质量tcp和http是协议!socket是套接字,是接口HTTP和TCP详细协议介绍如何创建tcp/udp连接?最后总结:还有哪里不懂欢迎留言,我做解释我非常怀疑科普文章的质量tcp和http是协议!socket是套接字,是接口怎么样来理解?先说协议:协议,网络协议的简称,网络协议是通信计算机双方必须共同遵从的一组约定。如怎么样建立连接、怎么样互相识别等。只有遵守这个约定,计算机之间才能相互通信交流;其实协议就是一个约定,必须赤壁之战前夕,周瑜
原创
发布博客 2021.07.23 ·
4568 阅读 ·
19 点赞 ·
6 评论 ·
47 收藏

GitHub上最火的22个Android开源项目源码(最少的一个也超过10k star)

GitHub上最火的22个Android开源项目源码均超万星chat图表最全android工具类库 29.6k startAndroid智能下拉刷新框架-SmartRefreshLayout 20多种效果强大而灵活的RecyclerView AdapterSignal - 隐私通信工具图片显示控件,可手动缩放Telegram基于IJKPlayer(兼容系统MediaPlayer与EXOPlayer2),实现了多功能的视频播放器腾讯热修复方案tinkerNewPipe 可看油管视频圆形imageView各种
原创
发布博客 2021.07.14 ·
10423 阅读 ·
7 点赞 ·
2 评论 ·
65 收藏

MVP的弊端和解决办法

MVP的弊端和解决办法1、初识mvp模式新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入1、初识mvp模式全称:Model-View-Presenter ;MVP 是从经典的模式MVC演变而来,它们的基本思想有相通的地方
原创
发布博客 2021.07.12 ·
704 阅读 ·
1 点赞 ·
1 评论 ·
0 收藏

常见的算法问题

常见的算法题java描述单链表的反转合并两个有序链表斐波那契数列问题给定一个数组arr,返回子数组的最大累加和给定一个数组arr、或者字符串,返回arr的最长无的重复子串的长度(无重复指的是所有数字都不相同)。给出一个整数数组,请在数组中找出两个加起来等于目标值的数,单链表的反转递归方式:public Node preNode(Node head) { if(head == null || head.next == null) return head;
原创
发布博客 2021.05.03 ·
247 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

和java unsafe同级别的原子操作类,是哪个叫什么来着?不是atomic

发布问题 2021.03.31 ·
3 回答

oaid冲突

问题就是这样:因为公司项目中接了很多sdk,而每家sdk用的oaid aar不同,主要是msa_mdid和oaid_sdk之间的冲突,也没什么好的解决办法,于是我只能把两个aar重新编译成了一个,统一通oaid_sdk的功能,保留mas_mdid的接口,做兼容完美解决问题废话不多说:资源地址,还没审核完,完了马上贴地址...
原创
发布博客 2021.03.10 ·
1036 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

myapplication.zip

发布资源 2021.03.01 ·
zip

java动态代理详解及实际应用

重点教你如何应用先回顾一下代理模式使用场景1:动态代理+反射 实现hook技术AOP(面向切面编程)先回顾一下代理模式代理模式分动态代理和静态代理,写起来也比较简单,先上代码:public interface Goal { void sayHello();//定义一个接口,声明好要做的事儿}然后实现他,真实的目的public class RealGoal implements Goal { @Override public void sayHello() {
原创
发布博客 2021.02.25 ·
3584 阅读 ·
5 点赞 ·
11 评论 ·
7 收藏

球形自由落体动画

package com.example.myapplication;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.graphics.RectF;import android.os.Build;import android.os.CountDownTimer;impo
原创
发布博客 2021.02.09 ·
313 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

深度解析String s=new String(“abc“)创建了几个对象?

对象内存分配的几个问题解析String s=new String("abc")如何证明新创建的字符串是参数字符串的副本?拓展:运行时常量和编译时常量解析String s=new String(“abc”)我们知道想知道两个对象是不是同一个对象,直接用等号比较就可以 public static void main(String[] args) { String strABC = new String("abc"); String abc = "abc";
原创
发布博客 2021.02.09 ·
766 阅读 ·
1 点赞 ·
1 评论 ·
2 收藏

androidStudio出现Executing tasks: app:assembleDebug完美解决

androidStudio出现Executing tasks: app:assembleDebug开发的时候不知道为啥突然就出现这个问题了,而且是半路出现的;试了几个方法都不好用,最后打开任务管理器发现里面有好多studio的任务,还有openJdk的任务,导致电脑内存不足,把Android studio的相关任务全部干掉,重启后,原来报错的项目也可以正常运行了...
原创
发布博客 2021.02.08 ·
8675 阅读 ·
2 点赞 ·
1 评论 ·
3 收藏

彻底理解ArrayList和LinkedList的区别

此篇就够了区别的根本专业解释+白话解说区别的根本ArrayList和LinkedList的区别,简单说ArrayList使用get的速度快,LinkedList删除和插入快,get/set慢;再ArrayList不扩容的情况下只是通过add方法添加对象,那么他俩的速度是一样的;说白了不过是数组和链表之间的区别可以说List接口的实现方式有用数组结构实现的就是ArrayList,有用链表结构实现的就是LinkedList;反过来也可以说ArrayList对数组进行封装了一层,并且满足List接口,Li
原创
发布博客 2021.01.18 ·
304 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

HashMap原理源码加面试

HashMap原理几个要点分析源码构造函数:HashMap的内部结构:下标的计算和存储如何根据key找到value红黑树和链表的转换几个要点结构:数组+链表hashing(哈希法)的概念:散列法(Hashing)是一种将字符组成的字符串转换为固定长度(一般是更短长度)的数值或索引值的方法,称为散列法,也叫哈希法。HashMap的key下标计算方式:先前后16为扩容机制:每次扩容数组长度翻倍,扩容因数:默认数组长度的四分之三,可自定义;数组的长度也可自己定义1.8之后变化:链表会和红黑树相互转化;
原创
发布博客 2020.12.30 ·
151 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Android事件分发机制

事件分发机制详解结构图如何应用滑动冲突的处理结构图怎么去记忆?1、dispatch和onToucheEvent,只要返回true就是消费,不继续往下传递;2、所有事件,只要是返回super都是正常传递(上图绿色部分);3、dispatchTouchEvent:分发事件,只要是返回false,就表示不向下分发,将事件送回上一层View的onTouchEvent;但是要注意actvity,因为actvity没有上层View了,所以在activity中返回false直接消费掉4、onIntercep
原创
发布博客 2020.12.30 ·
113 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

JVM之方法区

JVM之方法区方法区内容分类三级目录方法区先说特点1、方法区(Method Area)与 Java 堆一样,是所有线程共享的内存区域。2、Java 虚拟机规范把方法区描述为堆的一个逻辑部分,但是它却有一个别名叫做 Non-Heap(非堆),目的应该是与 Java 堆区分开来。其实也好理解,就是一些class类型的对象;比如Object.class,这也是个对象;只是个对象不是要用的对象,是模具对象,用来制造真正需要的对象的对象;就比如制作月饼需要模子,月饼是对象,模子也是对象;这是模子不是存放在仓库
原创
发布博客 2020.12.29 ·
119 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

仿网易云菜单

仿网易云个人中心滑动菜单上图上代码个人项目地址上图上代码import android.animation.ValueAnimator;import android.content.Context;import android.content.res.Resources;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.graph
原创
发布博客 2020.12.29 ·
200 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

7年Android应该会为什么?

本篇是Android知识的汇总虚拟机相关深入浅出教你理解jvm虚拟机结构篇Android源码相关activity相关View相关安全性相关性能优化多线程数据结构集合相关maplistset架构方面教你设计模式的理论应用和实践场景协议相关第三方框架原理常见算法面试题总结虚拟机相关深入浅出教你理解jvm虚拟机结构篇jvm的堆内存Android源码相关Handler原理和源码binder原理跨进程通信activity相关启动流程启动模式View相关自定义View练习事件分发机制动画V
原创
发布博客 2020.12.28 ·
441 阅读 ·
1 点赞 ·
6 评论 ·
1 收藏

Android四种启动模式

四种启动模式先说显式跳转和隐式跳转四个跳转模式Flags先说显式跳转和隐式跳转我们在开发Android应用的时候,一般MainAcitvity会设置<action android:name=“android.intent.action.MAIN” />然后我们的系统就能找到我们app的启动页面了;这就是一个隐式跳转,系统会根据action标签去在我们的清单文件manifest 中筛选出来我们设置的action.Main的activity作为第一个启动的activity;包括系统里的打开相机、
原创
发布博客 2020.12.28 ·
420 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多