Java
chencangui
公棕号:陈大发随笔,程序员陈师兄、8年大厂程序员经历。csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战
展开
-
Java内存模型
转自:http://blog.csdn.net/silentbalanceyh/article/details/4661230(原本准备把内存模型单独放到某一篇文章的某个章节里面讲解,后来查阅了国外很多文档才发现其实JVM内存模型的内容还蛮多的,所以直接作为一个章节的基础知识来讲解,可能该章节概念的东西比较多。一个开发Java的开发者,一旦了解了JVM内存模型就能够更加深入地了解该语言的语言特转载 2015-05-04 08:31:48 · 903 阅读 · 0 评论 -
【Java基础】---泛型
一、简介在Java 中,意思是:“适用于许许多多的类型”,其目的是让类或者方法具有最广泛的表达能力。虽然多态(基类)和接口实现的方式也能够提供较通用的能力,但是还是有一些限制,而泛型能够最大程度的让你的代码更加灵活,具备更多不同的功能。二、使用方式三、重要知识点1、泛型擦除...原创 2019-07-14 20:52:01 · 268 阅读 · 0 评论 -
Epub解析 -- Pageturner
上一篇文章介绍了Epub文件的格式,了解了其内部的结构,这一篇文章就来讲讲,怎样解析Epub文件。目录章节内容原创 2019-05-12 22:27:44 · 1426 阅读 · 0 评论 -
Android studio compiled code解决方案
不知从哪个时间点起,我的android studio就不能查看jar包里的源码了…这个过程是极其痛苦的:要想查看jar包里的源码,只能去网上找网页版的…给大家看一下我看到的okhttp源码是什么样的真的生无可恋了…每次研究了半天都没进展的话,我就放下继续去做手头的事了,直到最近有空研究下,才真正解决了这个问题。下面跟大家分享下,这里就暂时不记录过程了。安装反编译工具jd-inteII...原创 2019-05-04 15:10:43 · 2925 阅读 · 0 评论 -
【设计模式】--工厂模式
Java 的23中设计模式中,工厂模式一共有三种,分别是:简单工厂模式、工厂方法模式、抽象工厂模式,每种模式都有各自适合的场景,下面分别详细介绍。简单工厂模式简单工厂模式一般都是使用静态方法,通过接收的参数的不同来返回不同的实例对象。实例:编写一个计算器,具有基础的加减乘除功能。首先定义基础运算类AbsOperate,里面有一个方法getResult(),用于返回计算结果,其次,需...原创 2019-05-04 15:04:14 · 199 阅读 · 0 评论 -
Epub文件解析库-- Epublib
介绍epublib是一个比较强大的Epub 文件解析库,同时也支持Epub文件的生成,本篇文章会对其做一个详细的介绍。相关资料项目地址https://github.com/psiegman/epublib官方api文档http://www.siegmann.nl/static/epublib/apidocs/官网http://www.siegmann.nl/epublib使...原创 2019-04-24 08:08:41 · 3979 阅读 · 0 评论 -
HashMap源码分析
本文基于JDK1.7 进行解析,因为JDK1.8的版本,HashMap进行了优化,这个在最后会再进行分析。一、概述一个存储key-value键值对的容器,key和value支持null值;通过hash算法来计算hascode值,用hashCode标识Entry在table中存储的位置,内部是哈希表来实现的数据结构;在存储的时候是无序的;同时它也是线程不安全的;继承关系如下:...原创 2019-04-15 08:30:28 · 197 阅读 · 0 评论 -
为什么推荐使用枚举来代替int常量
简介枚举类型(enum type) 是指一组固定的常量组成合法值的类型,例如一年中的季节、太阳系中的行星或者一副牌中的花色。int枚举模式的缺点在我们平常的开发中,为表示同种类型的不同种类,经常的做法是声明一组具名的int常量来表示,每个类型成员一个常量,如:public static final int DAY_MONDAY = 1;public static final int DA...原创 2019-01-06 20:22:03 · 4606 阅读 · 0 评论 -
重写onDraw,却不正常执行绘制的原因
一.引言:想必大家以前也遇到过这个问题:出于项目的需要,我们有时需要新建一个直接或者间接继承View的类,以便复写View提供的onDraw()方法,但有时我们反而得不到我们想要的结果,今天就说一下onDraw()方法不被执行的解决方法。你可能也在onDraw()方法里面设置了断点或log,却发现程序并没有执行onDraw()方法,那么你需要在你直接或者间接继承View的类的构造函数中加入转载 2015-10-12 16:01:44 · 1702 阅读 · 0 评论 -
【Java基础】---线程安全
目录1、简介 在多线程的的使用场景中,如果对于同一个对象中的实例变量并发进行访问的话,可能会产生“脏数据”的情况,而想要避免出现这种情况的方法就是进行同步处理。常用的就是使用synchronized、volatile来实现。但在日常开发中可能经常会出现使用不当而导致各种各样的异常问题,例如死锁、带来的执行性能问题等。下面就对两种类型做详细的介绍。2、synchroni...原创 2019-07-29 00:22:55 · 213 阅读 · 0 评论