- 博客(16)
- 收藏
- 关注
原创 Handler
Handler:《消息管理机制:消息》-事务;线程间通信只是我们handler的一个附属的功能,handler真正的功能则是:我们所有的代码,都是在handler中运行,维持着我们Android app运行时的框架 Handler机制整个调用流程 handler.sendMessage(开始)-〉 messageQueue.enqueueMessage()将消息放到消息队列里面去-》 looper.loop()-〉 messagequeue.ne...
2021-01-25 16:25:38
217
原创 策略模式
/** * 定义一个策略接口 */interface Strategy { void strategyMethod(String text);}/** * 策略A实现接口,打印planeA */public class StrategyA implements Strategy { @Override public void strategyMethod(String text) { System.out.println("我是planeA
2021-01-19 14:06:47
219
1
原创 volatile、jvm、hashmap、http、socket
volatile:用于将变量标记为“储存于主内存中”。意思就是将变量储存于主内存中,而不是储存在cpu缓存中;相同的读取也是从主内存中读取,而不是从cpu缓存中读取 可见性:多线程进行操作时,只要一个线程使数据发生了变化,其他线程也能看到变化 happens-before保证:保证所有的volatile对象读写操作都在读写之后执行,不会被jvm重排序 不能确保原子性 http:基于tcp/ip协议的一个短连接 Socket:是一个抽象层;是对tcp/ip协议的一个封装,用户能通过socket
2021-01-18 15:55:09
192
原创 注解、死锁、多线程、动态代理、jvm调优
注解原理 注解本质是一个继承了Annotation的特殊接口,其具体实现类是Java运行时生成的动态代理类。我们通过反射获取注解时,返回的是Java运行时生成的动态代理对象。通过代理对象调用自定义注解的方法,会最终调用AnnotationInvocationHandler的invoke方法。该方法会从memberValues这个Map中索引出对应的值。而memberValues的来源是Java常量池。 死锁的预防及形成 死锁的四个必要条件:互斥、请求与保持、不可剥夺、循环等待
2021-01-18 11:30:20
113
原创 TCP三次握手,四次挥手
为什么建立连接要三次握手,断开连接要四次挥手(在服务端收到FIN报文时,客户端已经断开了连接,但是服务端的数据未必全部发送完了) 这是因为服务端在LISTEN状态下,收到建立连接请求的SYN报文后,把ACK和SYN放在一个报文里发送给客户端。而关闭连接时,当收到对方的FIN报文时,仅仅表示对方不再发送数据了但是还能接收数据,己方也未必全部数据都发送给对方了,所以己方可以立即close,也可以发送一些数据给对方后,再发送FIN报文给对方来表示同意现在关闭连接,因此,己方ACK和FIN一般都会分开发送。
2021-01-18 10:56:02
84
原创 TCP 和 UDP
tcp是有连接的,udp是无连接的tcp安全有序,udp不安全无序,如果数据报太大可能会导致丢包tcp需要先建立连接才能进行通讯,udp是无连接的,他的每个数据报中都给出了完整的地址信息tcp不限制传输数据的大小,udp最大只能传输64kb的数据报tcp传输效率不如udp高应用:TCP在网络通信上有极强的生命力,例如远程连接(Telnet)和文件传输(FTP)都需要不定长度的数据被可靠地传输。但是可靠的传输是要付出代价的,对数据内容正确性的检验必然占用计算机的处理时间和网络的带宽,因此TC.
2021-01-16 17:12:09
122
原创 wait和sleep
wait sleep Object类 Thread类 需要获取对象的锁,lock,并且要在锁下进行操作 直接调用thread.sleep 需要释放,notify/notifyAll/lock.wait(1000s) 设置的时间结束后自动继续执行操作 一般在多线程中使用 一般在单线程中使用 放弃...
2021-01-16 16:59:58
91
原创 String、StringBuffer、StringBuilder
String StringBuffer StringBuilder JDK1.0 JDK5.0 字符串常量,内容不可变 字符串变量,线程安全 字符串变量,线程不安全 发生改变时,一般是生成一个新的String对象,然后指针指向这个新的对象,所以内容经常改变的对象最好不要用String,因为每次生成新对象的时候,都会对系统的...
2021-01-16 16:57:24
121
1
原创 关于ButterKnife使用时的一些问题
关于ButterKnife使用时的一些问题 ButterKnife大家一定都很熟悉,多的我就不介绍了,这里我记录一个在使用过程中碰到的问题在新的项目中引入ButterKnife,并且开始使用的时候,可能会碰到空指针异常,并且这个空指针报错信息一般都是Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference这
2020-08-27 16:32:10
400
原创 有关Bugly全量更新使用时的一些常见问题
Bugly使用时的一些常见问题不出现更新弹窗 一般遇到这种情况,首先要判断是哪一步出现了问题,下面我罗列一些常见情况:检查Bugly配置是否正确,版本号是否比上个版本高,更新状态是否已启动app版本是否最新,若是最新版本当然不能更新了检查Bugly设置中,AppId是否和应用用设置的AppId保持一致5.若是以上配置都没问题,最后有一种情况就是,你上个app版本里的appId可能是配置错的,导致无法从上个版本更新到当前最新版本。(Bugly如果你上个版本appid配置是正确的
2020-08-13 11:02:26
1335
原创 AMapLocationListener 高德地图定位监听
AMapLocationListener 高德地图定位监听app内很多地方需要用到定位信息,我就自己封装了一个基于高德地图定位监听的类,以便于获取定位权限,和方便调用定位监听事件。我这边继承了LifecycleObserver,将定位事件和acticity的生命周期绑定在了一起,这样的话即便一开始定位没开或者获取定位失败了,还能在后面继续获取定位信息。AMapLocationListenerpackage cn.sunsapp.owner.util;import android.content.
2020-06-22 15:59:17
4723
原创 高得地图 +数据绑定(databinding) + BaseQuickAdapter 自定义地图选点!
自定义地图选择器 根据传入的经纬度定位到指定位置,如果为空就定位到当前所在位置 根据用户输入的字符串显示poi联想数据列表,点击item把对应的位置显示在地图上 点击确认按钮根据eventbus将数据回传 好了。话不多说,直接开冲!!!MapActivitypackage cn.sunsapp.owner.controller.activity;import android.graphics.Color;import android.location.Location
2020-06-22 14:50:52
1916
原创 Android 查看应用MD5签名最简单的方法
Android 查看应用MD5签名最简单的方法近期公司要接入通过手机号码一键登录app的功能,这样就用到了中国移动的一键登录功能,这功能又要使用到
2020-05-30 14:02:33
4006
3
原创 BackgroudLibrary 通过标签直接生成shape,无需再写shape.xml,你值得拥有!!!
BackgroundLibraryHello,时隔多日,我球球又给大家来整活了,话不多说,喜欢的朋友点赞收藏➕关注,开冲!A framework for directly generating shape through Tags, no need to write shape.xml again(通过标签直接生成shape,无需再写shape.xml)上述描述为BackgroundLibrary在GitHub的官方描述,可以看出,它相当于一个类库,来帮助我们更加简.
2020-05-27 14:20:42
1785
原创 EventBus 3.0 事件公交车
EventBus 3.0 使用方法以及使用过程中遇到的一些问题嗯~本人为Android萌新程序猿一枚这是我在博客写的第一篇文章,怀着忐忑的心情终于落笔了各位来自天南海北的再生父母们,喜欢的话可以加个关注,点个赞(能打赏的话那真的是给您磕头了),谢谢铁汁????好了,废话不多说,直接开冲EventBus简介EventBus是一个Android端优化的publish/subscribe消息总线,简化了应用程序内各组件间、组件与后台线程间的通信。比如请求网络,等网络返回时通过
2020-05-22 17:15:51
1045
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人