Gordon's Blog

still believe in that world can be reshaped by coding and we can benifit from it.


  • Blogs

  • Timeline

  • Tags

  • Categories

  • About

JAVA框架理解-装饰者与传统IO

Posted on 2016-10-10   |   In 编程

概述

对于应用程序开发程序员来说,深层次接触IO的机会并不多,可能偶尔需要自己持久化文件的时候会用到一点,通常是去网上抄一段代码,调用一些常见的Api,比如RandomAccessFile,FileInputStream等,对于安卓程序员来说,甚至用一些安卓sdk封装的持久化数据的Api,这是大部分程序猿的开发日常,在调用了这些Api后,背后发生了些什么事情常常被忽略掉,由于大部分是读写一些小文件,磁盘消耗和读写速度如何也不加以考虑了。由于有太多的业务需要去实现,这样做是有其合理性的,但是作为一个合格的开发者,IO包是非常重要的,需要进行系统性的学习,这样不至于乱用Api,写出一些低效甚至错误的代码。顺便说一下,JDK里面的源码注释写的非常好,甚至有些还有简单的使用案例代码。

Read more »

内存泄漏问题排查(上)

Posted on 2016-09-25   |   In 编程

引言

内存溢出与内存泄漏问题已经是一个老生常谈的话题了,本文并不是打算谈什么是内存溢出或者内存泄漏,而是打算结合这两年来安卓开发过程中遇到的一些问题进行总结,看看我在一路上遇到的内存泄漏,不得不说,从走上工作岗位后,现在作为开发人员的我的技术相对于在学校里面作为非计算机专业学生的我,的确提高了很多,所以干一行,爱一行,当初选择编程,是因为觉得这和自己喜欢思考和喜欢专研的性格相关,好了,谁关心你呢,逼逼啥呢,赶快进入正题吧。

Read more »

Java8的Stream是时候用起来了

Posted on 2016-09-07   |   In 编程

引言

最近对ReactiveX的RxJava觉得很赞,但其实,Java8的Stream难道就不赞了吗,Java的不断发展,Stream出现了,用了一下,的确觉得很赞,感觉RxJava和Java8的Stream在使用上特别像,很多操作符都是一样的,使用下来,就感觉数据对于我们来说就是流水(River),这是我自己的比喻哈,对流水各种处理,最后得到我们想要的。我不知道两者到底谁借鉴谁,但是觉得属于一派,好了,逼逼半天,结合网上看到的别人的博客,总结一下,写文章不是为了装逼,我认为我的博客是我的笔记本,记录一些我想翻阅的资料,至少它不会随着时间的流逝而消失。

Read more »

POST提交数据的四种方式解析

Posted on 2016-08-10   |   In 网络

引言

最近在做一个文章发布平台,利用spring mvc的框架来搭建,然后现在安卓端做demo,打算做好后移植到ios和h5,但是好久没写服务端的程序了,其中在一个地方卡了半天,一开始我以为是服务端的问题,使用ajax可以成功post,但是用postman客户端出现了问题,后来最重发现是自己对post的理解还不够,好吧,最后发现是没有在头里面传解析Content-Type所致,不准嘲笑我!遂从网上看到一些不错的文章,然后总结一下,好记性不如烂笔头,纪录一下,方便以后翻阅。

Read more »

Java内存模型与编程建议

Posted on 2016-07-25   |   In 编程

概述

Java内存模型规范了Java虚拟机与计算机内存是如何协同工作的。Java虚拟机是一个完整的计算机的一个模型,因此这个模型自然也包含一个内存模型——又称为Java内存模型。
如果你想设计表现良好的并发程序,理解Java内存模型是非常重要的。Java内存模型规定了如何和何时可以看到由其他线程修改过后的共享变量的值,以及在必须时如何同步的访问共享变量。
原始的Java内存模型存在一些不足,因此Java内存模型在Java1.5时被重新修订。这个版本的Java内存模型在Java8中人在使用。

Read more »

整理一下安卓事件分发的经验

Posted on 2016-07-18   |   In 编程

概述

一直以来都想整理一下事件分发方面的东西,做了这么久的安卓开发,写了很多的控件,梳理一下知识,往后就不回踩坑了。刚好最近需求业务忙,界面写了很多,处理了一些滑动冲突和自定义View事件View的分发方面的事情,将心得记录一下吧。

Read more »

一路走来,我在安卓并发路上踩的坑

Posted on 2016-07-05   |   In 编程

概述

个人愚见,安卓开发和服务端的开发不太一样,Java服务端的开发主要是处理大量的IO,数据库查询等,但是我在做安卓开发以来,主要用到的并发方面的场景,主要包括多线程的上传和下载数量较多的图片,别的较大并发的场景还真不太多,等我想到了会补充在这里,可能是我个人愚笨吧,这一路走来,在这个在大神看来并不复杂的问题上,我走了很多弯路,也一直在这方面进行思考,带着这些问题,通过不断的在google,stackoverflow上阅读相关的资料以及简书一类的博客,终于算是对这一方面比较清晰了。在我截下来要要描述的场景中,没有资源的竞争的发生,并发传图片或者下载图片嘛,你懂的,所以如果是关注这方面的童鞋可以绕过,我后面也打算写一篇关于Java中互斥资源的文章。

Read more »

源码角度捋一捋HashMap

Posted on 2016-06-14   |   In 编程

引言

本文要介绍的HashMap,与之前的List如ArrayList、LinkedList属于不同的数据结构,就后两者而言,反映的是两种思想:
ArrayList以数组形式实现,顺序插入、查找快,插入、删除较慢
LinkedList以链表形式实现,顺序插入、查找较慢,插入、删除方便
那么是否有一种数据结构能够结合上面两种的优点呢?有,答案就是HashMap。它是基于哈希表的 Map 接口的实现,以key-value的形式存在。

Read more »

源码角度捋一捋LinkedList

Posted on 2016-06-01   |   In 编程

引言

LinkedList与ArrayList一样实现List接口,只是ArrayList是List接口的大小可变数组的实现,LinkedList是List接口链表的实现。基于链表实现的方式使得LinkedList在插入和删除时更优于ArrayList,而随机访问则比ArrayList逊色些。

Read more »

源码角度捋一捋ArrayList

Posted on 2016-05-15   |   In 编程

引言

ArrayList可以说是Java里面最常用的集合之一了,手指不自觉的就会敲的那种,虽然我们天天都在用,可是我们有真的了解ArrayList吗,本文是从一个大神那里摘录过来的,好记性不如烂笔头,保存在自己的收录博客里面,哪天想翻翻,特别方便。

Read more »
123
Gordon Rawe

Gordon Rawe

24 posts
2 categories
13 tags
© Copyright All rights are reserved by Gordon Rawe