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

三好码农的三亩自留地

专栏作者
32
文章
29840
阅读量
14
订阅数
重学Java-扒一扒Java并发
先提几个曾经困扰过我的问题啊,看似很简单,而且可能还有很多同学还存在误解,我们来一起看一下。
三好码农
2019-07-02
4220
重学Java-一个对象到底占多少内存?
文章标题提出的问题是”一个对象到底占多少内存“,看似很简单,但想说清楚并不容易,希望本文的探讨能让你有收获。
三好码农
2019-06-24
1K0
死磕Java内部类(一篇就够)
我一直觉得技术是工具,是一定要落地的,要切实解决某些问题的,所以我们通过先抛出问题,然后解决这些问题,在这个过程中来加深理解,最容易有收获。 so,先抛出几个问题。(如果这些问题你早已思考过,答案也了然于胸,那恭喜你,这篇文章可以关掉了)。
三好码农
2019-06-18
9190
死磕Java泛型(一篇就够)
相信泛型大家都使用过,所以一些基础的知识点就不废话了,以免显得啰嗦。 先看下面的一小段代码
三好码农
2019-06-15
1.2K0
死磕-单例模式
总结一句话,如何线程安全的创建唯一实例对象。 先看一下Java中如何具体实现单例。
三好码农
2019-06-14
3580
深入理解Okio之旅
Okio定义了自己的一套继承链,Source对应InputStream, Sink对应OutputStream,这样对比就不难理解了,看一下接口的定义
三好码农
2019-04-23
9030
彻底理解Java IO
谈到IO,我们会想到从磁盘读取的文件IO,网络请求的Socket IO,还有可能我们不怎么常用的跨进程通信的管道IO...... 这些在Java中都被抽象为“流”,读取源就是输入流(InputStream),输出目标就是输出流(OutputStream)。
三好码农
2019-04-18
8450
彻底理解Java线程池原理篇
核心线程(corePool):线程池最终执行任务的角色肯定还是线程,同时我们也会限制线程的数量,所以我们可以这样理解核心线程,有新任务提交时,首先检查核心线程数,如果核心线程都在工作,而且数量也已经达到最大核心线程数,则不会继续新建核心线程,而会将任务放入等待队列。
三好码农
2019-03-19
1.4K0
彻底理解Serializable和Parcelable
这里有二个关键字,存储和传输,存储的场景比如对象的持久化,传输的场景比如将对象通过网络传输,然后在需要使用的时候,反序列化,重新创建对象。
三好码农
2019-03-15
1K0
Android AsyncTask实现原理和使用技巧分享
我们写App都有一个原则,主线程不能够运行需要占用大量CPU时间片的任务,如大量复杂的浮点运算,较大的磁盘IO操作,网络socket等,这些都会导致我们的主线程对用户的响应变得迟钝,甚至ANR,这些会使应用的用户体验变差,但是有时又的确需要执行这些耗时的任务,那么我们通常可以使用AsyncTask或者new Thread 来处理,这样把任务放入工作线程中执行,不会占用主线程的时间片,所以主线程会及时响应用户的操作,如果使用new Thread来执行任务,那么如果需要中途取消任务执行或者需要返回任务执行结果,就需要我们自己维护很多额外的代码,而AsyncTask是基于concurrent架包提供的并发类实现的,上面的二个需求都已经帮我们封装了,这也是我们选择AsyncTask的原因。
三好码农
2018-09-11
7230
Android触摸事件传递(上)
    前言:智能手机早已成为我们今天身边必不可少的手持设备,iOS和Android也是目前主流的二大移动操作系统,当然也有越来越多的开发者加入到移动开发的工作中来。我也是一名普通的Android码农,目前也在学习iOS开发中,有一些成长道路上的一些经验和教训,很早就想动手记录下来,再三下决心,终鼓起勇气,敲起键盘,有了下文,初次行文,文笔未免羞涩,大神轻点喷~
三好码农
2018-09-11
1.1K0
Android Handler实现原理探索
    Android Handler我们都很熟,也经常也用它,一般可以用Handler发送一个消息Message,或者Post一个Runnable对象,而且都可以给它们加上延时,如果操作的Handler对象是在onCreate方法中初始化的,那么handleMessage回调和Runnable对象的执行都运行在UI线程,所以Handler就成为我们在工作线程刷新UI对象的一个媒介。那么对于这个我们日常工作中经常使用的小伙伴,好奇心驱使,我们希望对它了解更多。
三好码农
2018-09-11
6010
Android触摸事件传递(下)
  上一篇中,我说明了Android中Activity和View触摸事件的传递流程,现在我们来继续学习MotionEvent在View的容器ViewGroup中的传递过程。
三好码农
2018-09-11
9880
Android Activity间传值选择,Serializable Or Parcelable
  前言:Activity就是Android世界的controller,它们构成了Android App里面的每一个页面,当然我们还会使用Fragment来将页面进一步划分,通过Fragment可以对特定业务模块的View+逻辑封装,让其与Activity解耦,同时还可以有自己的生命周期,让我们控制布局绘制和进行资源回收,这些都是Fragment的好处,以后有机会再谈,今天,我们想讨论的是Activity页面之间跳转时,互相传值的方法选择。
三好码农
2018-09-11
1.2K0
5分钟彻底理解-Java自动装箱、拆箱
当表格中左边列出的基础类型与它们的包装类有如下几种情况时,编译器会自动帮我们进行装箱或拆箱.
三好码农
2018-09-11
1K0
教你搞定Android自定义View
Android所有的控件都是View或者View的子类,它其实表示的就是屏幕上的一块矩形区域,用一个Rect来表示,left,top表示View相对于它的parent View的起点,width,height表示View自己的宽高,通过这4个字段就能确定View在屏幕上的位置,确定位置后就可以开始绘制View的内容了。
三好码农
2018-09-11
5100
实现Activity滑动退出
很多应用在二级详情页面加入了滑动退出activity的效果,很方便,心血来潮,想着自己也来实现这个效果,就当做练手吧。
三好码农
2018-09-11
1.1K0
Android-打造一个简单通用的Material加载LoadingView
因为网络请求的时间一般是未知的,所以我们一般都是用一个循环的圆圈指示器来提示用户,如下图。
三好码农
2018-09-11
2.8K0
Android九宫格控件-可在ListView和RecyclerView中使用
熟悉Android App开发的同学,肯定都清楚,如果要显示多张图片,类似九宫格,可以用GridView或者GridLayout来做,但是如果需求要求在ListView或者recyclerView 的每个item中都显示这样一个九宫格,那么GridView就不适用了,GridLayout可以实现,但是不是那么优雅,我们需要在item每次重绘时,加入添加或者删除逻辑。既然框架没有提供满足需求的控件,我们只能自己实现。
三好码农
2018-09-11
1.5K0
Android-教你写小米系统应用--"我的小米"
前面的文章中,我们已经了解了如何去自定义一个ViewGroup,可以在onLayout中自由的对子View进行位置设定,我们今天这里刚好需要对上面需求提到的三部分子View(头像ImageView,姓名TextView,功能Cell布局)在滑动过程中进行位置设定,重绘,所以我们就可以自定义一个ViewGroup去实现。
三好码农
2018-09-11
6220
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档