azhoufeng
码龄10年
求更新 关注
提问 私信
  • 博客:43,540
    43,540
    总访问量
  • 38
    原创
  • 10
    粉丝
  • 30
    关注
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:浙江省
加入CSDN时间: 2016-07-30
博客简介:

zhoufeng的博客

查看详细资料
个人成就
  • 获得22次点赞
  • 内容获得3次评论
  • 获得63次收藏
  • 博客总排名1,871,086名
创作历程
  • 4篇
    2020年
  • 25篇
    2019年
  • 11篇
    2018年
成就勋章
TA的专栏
  • 工具
    1篇
  • 前后台
    1篇
  • framework
    2篇
  • java
    14篇
  • java并发编程
    1篇
  • RxIava
    3篇
  • Android
    24篇
  • 注解
    1篇
  • Fragment
    1篇
  • 四大组件
    2篇
  • Service
  • 进程通信
  • xml
    1篇
  • 反射
    1篇
  • I/O流
    7篇

TA关注的专栏 2

TA关注的收藏夹 0

TA关注的社区 0

TA参与的活动 0

兴趣领域 设置
  • 大数据
    hadoophivestormsparketl
创作活动更多

「谁说嵌入式只是调包和焊板子?」—— 2026嵌入式全栈技术征锋令

谁说嵌入式只会“Ctrl+C 调包”和“拿电烙铁焊板子”?2026嵌入式全栈技术征锋令正式启幕! 本次活动专为硬核硬件/软件开发者打造,无论你是刚玩转裸机外设的萌新,还是精通RTOS调度、死磕底层驱动的行业老手,亦或是执掌系统架构的大神,这里都是你证明实力的舞台! 拒绝表面功夫,每一行代码,都有撬动硬件的力量!晒出你的硬核工程实战,为嵌入式开发者的全栈硬实力正名!

213人参与 去参加
  • 最近
  • 文章
  • 专栏
  • 代码仓
  • 资源
  • 收藏
  • 关注/订阅/互动
更多
  • 最近

  • 文章

  • 专栏

  • 代码仓

  • 资源

  • 收藏

  • 关注/订阅/互动

  • 社区

  • 帖子

  • 问答

  • 课程

  • 视频

搜索 取消

git的一些常用命令

自己的文件(电脑上的)--git add <file>-->添加到暂存区 --git commit -m "<修改信息>"-->提交到本地库 --git push <origin> <master>-->推送到远程仓库 1、提交 git add <file> (缓存file文件,file为文件名) git add ...
原创
博文更新于 2024.06.25 ·
494 阅读 ·
0 点赞 ·
2 评论 ·
2 收藏

Android启动页图片适配

一、在 drawable 中创建一个 xml 文件:splah.xml <?xml version="1.0" encoding="utf-8"?> <bitmap xmlns:android="http://schemas.android.com/apk/res/android" android:src="@drawable/app_welcom_bg1" an...
原创
博文更新于 2019.12.11 ·
4449 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

Android app生命周期全局监听(判断app是否处于后台)

一、在Application中注册ActivityLifecycleCallbacks:registerActivityLifecycleCallbacks(myActivityLifecycle);public class MyApplication extends Application { private static MyActivityLifecycle myA...
原创
博文更新于 2020.10.23 ·
6202 阅读 ·
0 点赞 ·
1 评论 ·
6 收藏

Android开发中的一些问题

1、AndroidStudio运行项目提示:解析软件包错误 把图片中箭头所指的地方不勾选 2、使用ARouter报错:there’s no route matched the path 一般是不同的module使用了相同的一级路径。 ARouter要求path必须有两级路径/app/xxx,第一级路径是Group的名称,在Arouter第一次寻找到route的时候便删除了这个一级路径的grou...
原创
博文更新于 2020.06.03 ·
892 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

adb无线连接手机调试配置

1、手机和电脑连入同一个wifi 2、手机处于开发者模式,手机连接电脑,在命令行输入: adb tcpip 5555 3、断开手机和电脑的连接,命令行输入: adb connect <手机ip地址> 4、取消连接: adb disconnect <手机ip地址> 4、查询电脑连接了多少设备: adb devices 5、指定某设备: adb -s <devic...
原创
博文更新于 2020.04.23 ·
706 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

Handler源码解析

一、Looper 属性 static final ThreadLocal<Looper> sThreadLocal = new ThreadLocal<Looper>(); private static Looper sMainLooper; // guarded by Looper.class final MessageQueue mQueue; final Thre...
原创
博文更新于 2020.04.21 ·
301 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

RecyclerView源码分析 — LayoutManager

类名 功能 RecyclerView.LayoutManager 负责Item视图的布局的显示 RecyclerView.ItemDecoration 绘制Item的分割样式 RecyclerView.ItemAnimator 负责处理数据添加删除时的动画效果 RecyclerView.Adapter 创建每一项Item视图 RecyclerView.ViewHol...
原创
博文更新于 2020.03.18 ·
680 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

类加载器 ClassLoader

一、类加载流程 graph LR A[加载]-->B[验证] B-->C[准备] C-->D[解析] D-->E[初始化] 类加载过程,虚拟机主要完成三件事: 通过类的完全限定名(包名+类名)来获取类的二进制字节流。 将这个字节流所代表静态存储结构转化为方法区域的运行时数据结构。 在堆内存中生成类的Class对象作为方法区的数据访问入口。 二、ClassLoader ...
原创
博文更新于 2020.03.06 ·
241 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

SharedElement

一、共享元素简单使用(Activity -> Activity) 1、在第一个Activity的控件中添加属性: android:transitionName="0_image" 添加的方式还有: ViewCompat.setTransitionName(imageView,"0_image"); imageView.setTransitionName("0_image"); 2、在第二...
原创
博文更新于 2019.09.04 ·
377 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

IoC的简单使用

一、反射的相关api API 描述 getClass() 获取类 getName() 获得类的完整名字。 getAnnotation(xxx.class) 获取注解 getMethod() 获所有(包括父类)public方法 getFields() 获所有(包括父类)public属性 invoke(xx,yy) 执行方法 getDeclaredMethods...
原创
博文更新于 2019.04.15 ·
972 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

Java动态代理---Java Proxy

一、Proxy.newProxyInstance() /** * * @param loader 用于定义代理类的类加载器 * @param interfaces 要实现的代理类的接口列表 * @param h 代理类 * @return 具有由指定的类装入器定义并实现指定接口的代理类的指定调用处理程序的代理实例 * @throws...
原创
博文更新于 2019.04.13 ·
231 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

Java流系列(七):其它

一、writer.flush()和writer.close()的区别 相同点:都会刷新缓冲区 不同点: A:flush()只刷新缓冲区,close()先刷新缓冲区然后关闭流. B:flush()刷新缓冲区后可以继续写入数据继续刷新缓冲区;close()关闭流后就无法继续写入数据了,否则报流已经关闭异常. 二、编码:将字符数据转换成字节数据的过程 1、如果没有指定编码表,则默认使用本地编码...
原创
博文更新于 2019.02.22 ·
772 阅读 ·
1 点赞 ·
0 评论 ·
3 收藏

Java流系列(六):RandomAccessFile(随机读写)

1、RandomAccessFile(随机访问文件): 可以对文件进行随机的读取和写出,这是到目前为止,我学习的唯一一个可以同时进行读和写操作的类。因为这个类同时实现了DataOutput, DataInput这两个接口. 完成文件指针的跳跃有两种方式: randomAccessFile.seek(绝对位置(永远从文件的开头开始计算)); 可以向前移动指针,也可以向后移动指针. randomAc...
原创
博文更新于 2019.02.22 ·
3218 阅读 ·
1 点赞 ·
0 评论 ·
7 收藏

Java流系列(五):打印流、转换流、字符缓冲流

一、打印流 PrintStream和PrintWriter的区别: 相同点:都是只有输出功能的流. 不同点: A:PrintStream:默认情况下会自动刷新缓冲区;PrintWriter默认情况下不会自动刷新缓冲区. B:PrintStream(OutputStream out, boolean autoFlush):第二个参数可以值是否要启用自动刷新缓冲区功能,如果指定则为true,否则为...
原创
博文更新于 2019.02.22 ·
512 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

Java流系列(四):对象流、内存流

一、对象流 (一)、使用对象输入流完成对指定文件的读取操作 (String path=“src”+File.separator+“hsj.bak”;) 1.声明对象输入流对象 ObjectInputStream objectInputStream=null; 2.实例化对象输入流对象 objectInputStream=new ObjectInputStream(new FileInpu...
原创
博文更新于 2019.02.22 ·
1107 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

Java流系列(三):数据流、缓存流

一、数据流 注意:使用data输出流写出数据后,在使用Data输入流读取时一定要保证读取的顺序和写出的顺序一致,否则数据出现错乱。 (一)、使用数据输入流完成数据的读取操作 1.声明数据输入流对象 DataInputStream dataInputStream=null; 2.实例化数据输入流对象 dataInputStream=new DataInputStream(new FileInput...
原创
博文更新于 2019.02.22 ·
1779 阅读 ·
0 点赞 ·
0 评论 ·
10 收藏

Java流系列(二):字节流、字符流

一、字节流 (一)、从指定路径的文件中读取数据 声明输入流对象 InputStream inputStream=null; 2.实例化文件输入流对象并指定要读取的文件路径 inputStream=new FileInputStream(path); 3.读取数据,一个字符一个字符的读(利用了循环) int ch=0; while((ch=inputStream.read())!=-1){ ...
原创
博文更新于 2019.02.22 ·
484 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Java流系列(一):流的分类

File:只能对文件本身的信息进行操作,比如:获取文件的大小等,但无法对文件中的内容进行操作. 如果想对文件中的内容进行操作,则必须借助于流的概念. 一、流:一串流动的数据,以先进先出的方式发送信息的通道. 流的分类: 1:按照流的方向(参考点永远是自己的程序)分: 输入流(InputStream):只能向其中读取数据的流. 输出流(OutputStream):只能向其中写出数据的流. ...
原创
博文更新于 2019.02.22 ·
4254 阅读 ·
5 点赞 ·
0 评论 ·
17 收藏

网络编程

一、网络编程的概念 1、什么是计算机网络? 把分布在不同地理区域的计算机与专门的外部设备用通信线路互连成一个规模大、功能强的网络系统,从而使众多的计算机可以方便的互相产地消息,共享硬件、软件、数据信息等资源。 2、网络通讯协议 要使计算机连成的网络能够互通信息,需要对数据传输速率、传输代码、代码结构、传输控制步骤、出错控制等制定一组标准,这一组共同遵守的通信标准就是网络通讯协议,不同的计算机之间...
原创
博文更新于 2019.02.21 ·
441 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Java反射

Class类是反射的源头. 一、 获取类模板对象的方式: A:方式一:类名.class C lass clz1=Person.class; B:方式二:对象名.getClass()方法 Class clz2=p.getClass(); C:方式三:Class.forName(“包名+类名的字符串”); Class clz3=Class.forName(&quot;com.hsj.domain...
原创
博文更新于 2019.02.21 ·
359 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多