
Java基础
文章平均质量分 92
Ethan_KF
这个作者很懒,什么都没留下…
展开
-
Java基本类型转换的优先顺序
Java中经常碰到两个不同类型的基本类型数据进行运算,当没有强制类型转化时,它们之间总会有一个标准去衡量最终的计算结果是什么类型的吧,下面以一个简单的例子看看默认的优先顺序:public class Main { public static void main(String[] args) { byte by = 2; short sh = 4;原创 2016-03-07 23:52:34 · 2122 阅读 · 0 评论 -
synchronized关键字修饰静态方法与成员方法的区别
开发中常用的加锁方式就是使用synchronized关键字,可以在以下三种情景使用:修饰static方法修饰成员方法修饰代码块synchronized本质是一种独占锁,即某一时刻仅能有一个线程进入临界区,其他线程必须等待,处于block状态。下面以几个例子分别看下不同场景下的synchronized修饰static方法public class SyncArea { publ...原创 2019-05-22 16:05:21 · 4195 阅读 · 0 评论 -
Java单例模式的演进
在Android开发中,单例还是很有用的,一般在上层业务逻辑开发中使用,笔者不推荐在偏底层且跟业务相关的SDK中使用单例,比如网络连接、图片加载,这是因为大型APP会分出许多模块、频道,一旦底层SDK使用单例,上层所有业务都是使用同一个实例,各个模块很难进行个性化使用。下面来看典型的几种单例实现方式。1.非线程安全的方式//非线程安全public class TestSingle ...原创 2019-05-17 17:24:04 · 170 阅读 · 0 评论 -
java模板模式与AQS实现
本博客先简单看下模板模式,然后解析下java中的AQS是如何使用模板模式的,最后使用AQS自定义一种锁。模板模式顾名思义,本模式旨在"套模板",跟写PPT时套模板道理一样,PPT模板事先给好布局、图片、配色等,用户添加自己的内容即可。模板模式则是父类事先准备好一些函数框架,子类(用户类)继承父类并实现自己的功能即可。UML图如下:父类为虚类,其中execute方法伪代码如下:privat...原创 2019-05-23 22:36:59 · 1642 阅读 · 0 评论