摘要: 我们在编写Java程序之后,会通过编译器得到一个class文件,这个class文件是如何与JVM进行配合的呢?类中的信息是如何变成JVM可以使用的Java类型呢?这些都是类加载机制做到的。 虚拟机把描述类的数据从class文件中加载到内存里,并对数据进行校验,转换解析和初始化,最终形成被虚拟机直接使 阅读全文
posted @ 2017-03-29 15:58 byhieg 阅读(800) 评论(0) 推荐(0) 编辑
摘要: TCP协议是TCP/IP体系中核心一个协议,该协议比起IP协议,ICMP协议,UDP协议都更复杂,因此这篇文章主要分析TCP协议在建立连接和断开连接的时候,状态转移以及报文段的内容。 下面,先放一张TCP的状态转移图: TCP协议之三次握手 三次握手的过程是TCP在客户端和服务端建立连接的过程。简单 阅读全文
posted @ 2017-03-22 23:41 byhieg 阅读(1831) 评论(3) 推荐(3) 编辑
摘要: 这是理解JVM的第一篇文章,这篇文章主要介绍JVM的总体结构和每一个部分的功能。内容比较少,对于每一个部分详细的内容,放到后面的文章中,逐步展开。这个系列总结完,应该会对JVM有一个整体且深入的认识了。 JVM运行时数据区 这是网上的一个JVM结构的示意图,还是比较清晰明了的说明了JVM结构。 这篇 阅读全文
posted @ 2017-03-20 17:09 byhieg 阅读(1745) 评论(1) 推荐(1) 编辑
摘要: 代理模式是Java常见的设计模式之一。所谓代理模式是指客户端并不直接调用实际的对象,而是通过调用代理,来间接的调用实际的对象。 为什么要采用这种间接的形式来调用对象呢?一般是因为客户端不想直接访问实际的对象,或者访问实际的对象存在困难,因此通过一个代理对象来完成间接的访问。 在现实生活中,这种情形非 阅读全文
posted @ 2017-03-17 15:58 byhieg 阅读(38125) 评论(2) 推荐(9) 编辑
摘要: 单例模式是非常常见的设计模式,其含义也很简单,一个类给外部提供一个唯一的实例。下文所有的代码均在 "github" 源码整个项目不仅仅有设计模式,还有其他JavaSE知识点,欢迎Star,Fork 单例模式的UML图 单例模式的关键点 通过上面的UML图,我们可以看出单例模式的特点如下: 1. 构造 阅读全文
posted @ 2017-03-14 16:25 byhieg 阅读(999) 评论(0) 推荐(0) 编辑
摘要: 在开发过程中,我们常常需要一个退出功能,来退出该应用的所有Activity。下面,我们列举一些退出应用的几种方式。以下用的源码点击查看 "源码地址" 欢迎star,欢迎fork 1. 利用ActivityContainer来管理所有的Activity的引用 2. 使用广播通知BaseActivity 阅读全文
posted @ 2017-02-28 10:44 byhieg 阅读(4810) 评论(2) 推荐(2) 编辑
摘要: LinkedList与ArrayList都是List接口的具体实现类。LinkedList与ArrayList在功能上也是大体一致,但是因为两者具体的实现方式不一致,所以在进行一些相同操作的时候,其效率也是有差别的。 对于抽象的数据结构——线性表而言,线性表分为两种,一种是顺序存储结构的顺序表,另一 阅读全文
posted @ 2017-02-15 15:49 byhieg 阅读(6821) 评论(2) 推荐(3) 编辑
摘要: ArrayList是Java集合框架中一个经典的实现类。他比起常用的数组而言,明显的优点在于,可以随意的添加和删除元素而不需考虑数组的大小。处于练手的目的,实现一个简单的ArrayList,并且把实现的过程在此记录。 实现的ArrayList主要的功能如下: 默认构造器和一个参数的有参构造器 add 阅读全文
posted @ 2017-02-08 12:12 byhieg 阅读(7456) 评论(4) 推荐(4) 编辑
摘要: 之前已经说道,JVM提供了synchronized关键字来实现对变量的同步访问以及用wait和notify来实现线程间通信。在jdk1.5以后,JAVA提供了Lock类来实现和synchronized一样的功能,并且还提供了Condition来显示线程间通信。 Lock类是Java类来提供的功能,丰 阅读全文
posted @ 2017-01-28 23:42 byhieg 阅读(12033) 评论(5) 推荐(3) 编辑
摘要: 简易天气是一个基于和风天气数据采用MD设计的Android天气App。目前的版本采用传统的MVC模式构建。通过丰富多彩的页面为用户提供日常所需的天气资讯。 项目说明 项目放在github上面 地址是: "easyweather开源地址" 项目利用的和风天气 旧版本的API。 定位功能使用的是百度地图 阅读全文
posted @ 2017-01-25 10:55 byhieg 阅读(7249) 评论(2) 推荐(0) 编辑