首页
学习
活动
专区
工具
TVP
发布

编码前线

专栏作者
84
文章
215417
阅读量
21
订阅数
Java对象复制的方法
在实际编程过程中,我们常常要遇到这种情况:有一个对象A,在某一时刻A中已经包含了一些有效值,此时可能 会需要一个和A完全相同新对象B,并且此后对B任何改动都不会影响到A中的值,也就是说,A与B是两个独立的对象,但B的初始值是由A对象确定的。例如下面程序展示的情况:
用户1205080
2019-05-14
1.4K0
SharedPreferences解析
说明:SharedPreferences与Editor只是两个接口,SharedPreferencesImpl和EditorImp分别实现了对应的接口。另外,ContextImpl记录着SharedPreferences的重要数据,如下:
用户1205080
2019-05-06
6410
Android应用ANR分析
在Android中,程序的响应性是由Activity Manager与Window Manager系统服务来负责监控的,当系统检测到下面的条件之一时会显示ANR的对话框:
用户1205080
2019-04-25
8680
BlockCanary原理分析
概述 BlockCanary是Android平台上的一个轻量的,非侵入式的性能监控组件,可以在使用应用的时候检测主线程上的各种卡顿问题,并可通过组件提供的各种信息分析出原因并进行修复。 使用 项目地址:https://github.com/markzhai/AndroidPerformanceMonitor Step1. 配置build.gradle dependencies { // most often used way, enable notification to notify block e
用户1205080
2019-04-25
1.1K0
事务的概念
我们在实际业务场景中,经常会遇到数据频繁修改读取的问题。在同一时刻,不同的业务逻辑对同一个表数据进行修改,这种冲突很可能造成数据不可挽回的错乱,所以我们需要用事务来对数据进行管理。
用户1205080
2019-04-25
5870
HandlerThread解析
如果没有HandlerThread,我们在子线程中创建Handler,需要这么操作:
用户1205080
2019-04-25
1.1K0
JAVA代码设计六大原则之单一职责
What   就一个类(接口、结构体、方法等等)而言,应该仅有一个引起它变化的原因。
用户1205080
2019-04-25
3890
IntentService解析
Step1. 定义IntentService的子类:传入线程名称、重写 onHandleIntent()方法
用户1205080
2019-04-25
4220
Lombok介绍及使用方法
Lombok 是一个 Java 库,它作为插件安装至编辑器中,其作用是通过简单注解来精简代码,以此达到消除冗长代码的目的。
用户1205080
2019-04-25
6910
AsyncTask解析
需要进度更新: onPreExecute() --> doInBackground() --> publishProgress() --> onProgressUpdate() --> onPostExecute()
用户1205080
2019-04-25
5650
BlockCanary原理分析
概述 BlockCanary是Android平台上的一个轻量的,非侵入式的性能监控组件,可以在使用应用的时候检测主线程上的各种卡顿问题,并可通过组件提供的各种信息分析出原因并进行修复。 使用 项目地址:https://github.com/markzhai/AndroidPerformanceMonitor Step1. 配置build.gradle dependencies { // most often used way, enable notification to notify block e
用户1205080
2019-04-09
6430
Android消息机制——Handler
从上面可以看出,在子线程中创建Handler之前,要调用 Looper.prepare()方法,Handler创建后,还要调用 Looper.loop()方法。而前面我们在主线程创建Handler却不要这两个步骤,因为系统帮我们做了。
用户1205080
2019-04-05
1.2K0
MySQL中的锁(表锁、行锁)
锁是计算机协调多个进程或纯线程并发访问某一资源的机制。在数据库中,除传统的计算资源(CPU、RAM、I/O)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所在有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说,锁对数据库而言显得尤其重要,也更加复杂。
用户1205080
2019-03-19
5K0
Spark-RDD常用Transformationg与Action操作
RDD创建后就可以在RDD上进行数据处理。RDD支持两种操作:转换(transformation),即从现有的数据集创建一个新的数据集;动作(action),即在数据集上进行计算后,返回一个值给Driver程序。
用户1205080
2019-03-18
5020
Android应用ANR分析
在Android中,程序的响应性是由Activity Manager与Window Manager系统服务来负责监控的,当系统检测到下面的条件之一时会显示ANR的对话框:
用户1205080
2019-03-18
1.1K0
Android OOM分析
2. 注意在ListView/GridView等出现大量重复子组件的视图里面对ConvertView的复用3. Bitmap对象的复用
用户1205080
2019-03-12
2.3K0
Java原生序列化和Kryo序列化性能比较
最近几年,各种新的高效序列化方式层出不穷,不断刷新序列化性能的上限,最典型的包括:
用户1205080
2019-03-12
1.4K0
通过虚IP保证服务高可用
高可用性HA(High Availability)指的是通过尽量缩短因日常维护操作(计划)和突发的系统崩溃(非计划)所导致的停机时间,以提高系统和应用的可用性。HA系统是目前企业防止核心计算机系统因故障停机的最有效手段。
用户1205080
2019-03-11
5420
LeakCanary原理分析
概述 LeakCanary是一个开源的内存泄漏检测库,极大简化了内存泄漏的检测流程。了解其工作原理,有助于我们更好的理解Android的内存管理机制。 使用示例 在 build.gradle中添加配置: dependencies { debugImplementation 'com.squareup.leakcanary:leakcanary-android:1.6.3' releaseImplementation 'com.squareup.leakcanary:leakcanary-androi
用户1205080
2019-03-11
1.4K0
Android内存泄漏分析
强引用:类似“Object obj = new Object()”这类的引用,只要强引用还存在,垃圾收集器永远不会回收掉被引用的对象。
用户1205080
2019-03-06
1.5K0
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档