关闭

深入理解Java中Synchronized(对象锁)和Static Synchronized(类锁)的区别

一、知识点回顾:    1.synchronized是Java中的关键字,是一种同步锁    2.synchronized关键字可以用在方法和代码块上。这些方法或者代码块可以使静态的也可以是非静态的。    3.在java中同步由synchronized关键字实现的,你可以在你类中的方法或者块上使用synchronized关键字,关键字不能在类定义的变量或者属性上使用。 对象级别的锁...
阅读(1819) 评论(0)

设计模式之适配器模式

1.概念:适配器模式把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。 2.类图 3.结构     目标(Target)角色:这就是所期待得到的接口。注意:由于这里讨论的是类适配器模式,因此目标不可以是类。     源(Adapee)角色:现在需要适配的接口。     适配器(Adaper)角色:适配器类是本模式的核心。适配器...
阅读(2460) 评论(0)

设计模式之命令模式

1.概念:命令模式属于对象的行为模式,把外围设备、或者第三方的api、或者命令,把他们封装成一个对象,供外部调用,达到发出命令者和接收者对象的完全解耦 2.类图 3.组成部分:     Command类:是一个抽象类,类中对需要执行的命令进行声明,一般来说要对外公布一个execute方法用来执行命令。     ConcreteCommand类:Command类的实现类,对抽象类中声明的...
阅读(695) 评论(0)

设计模式之工厂方法模式和抽象工厂模式

1.定义:工厂方法模式属于创建类模式,定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂方法使一个类的实例化延迟到其子类 2.类图 3.结构:     工厂接口:工厂接口是工厂方法模式的核心,与调用者直接交互用来提供产品。在实际编程中,有时候也会使用一个抽象类来作为与调用者交互的接口,其本质上是一样的。     工厂实现:在编程中,工厂实现决定如何实例化产品,是实现扩展...
阅读(738) 评论(0)

设计模式之观察者模式

1. 概念: 观察者模式属于对象的行为模式,观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题(被观察者)对象。这个主题对象在状态上发生变化时,会通知所有观察者对象,使它们能够自动更新自己。         2.类图 3.观察者模式的结构 被观察者:从类图中可以看到,类中有一个用来存放观察者对象的Vector容器(之所以使用Vector而不使用List,是因为多线...
阅读(705) 评论(0)

java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "strtof" referenced by "libsupp

1.报错: 10-29 10:17:23.960 5768-5788/com.coocaa.mall E/APP_CRASH: java.lang.RuntimeException: Failure during heap dump; check log output for details...
阅读(417) 评论(0)

设计模式之策略模式

概念:策略模式属于对象的行为模式。其用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。 类图:        ●  环境(Context)角色:持有一个Strategy的引用。   ●  抽象策略(Strategy)角色:这是一个抽象角色,通常由一个接口或抽象类实现。此角...
阅读(1098) 评论(0)

Kotlin中使用newCachedThreadPool

1、new Thread的弊端 new Thread(new Runnable() { @Override public void run() { // TODO Auto-generated method stub } }).start();a. 每次new Thread新建对象性能差。每次在创建线程和关闭线程上有一定的耗时和耗能。 b. 线程缺乏统一管理,可能无限制新建线程,...
阅读(785) 评论(0)

Volatile的学习(包含线程安全的单例)

1.问题引入 :多线程同时对一个变量进行操作 public class MyThread extends Thread { private static int n = 0; public void run() { for (int i = 0; i < 10; i++) { n++; try {...
阅读(713) 评论(0)

借助PopupWindow实现的一种通用弹窗

记录下自己实现的一个通用弹窗,使用的时候传入自己需要的view即可 public class PopWindow { private Activity mContext; private ViewGroup contentView; private PopupWindow popupWindow; public interface OnPopWindowDi...
阅读(761) 评论(0)

Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag

startActivity时错误信息提示: android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?   原来是...
阅读(623) 评论(0)

retrofit 请求后台接口url时参数中用URLEncoder.encode编码方式

有时候我们在和后台约定请求参数的时候会涉及到编码解码的问题,但是retrofit里面默认的编码方式很可能和后台的解码方式不一致,导致前端请求不到数据: try { extendStr = URLEncoder.encode(param,"utf-8"); } catch (UnsupportedEncodingException e) {...
阅读(799) 评论(0)

TextView实现中间文字两侧图片的样式

public class StandardView extends LinearLayout { private Context mContext; private TextView standard; private LinearLayout.LayoutParams lp; private Drawable standardLeftIcon, standardR...
阅读(616) 评论(0)

fresco:0.12.0 无法播放gif图片的解决方法

private SimpleDraweeView draweeView; draweeView = (SimpleDraweeView) findViewById(R.id.gif); draweeView.setController(getDraweeController(R.drawable.gif1)); draweeView.setOnClickListener(o...
阅读(1335) 评论(0)

Mockito的简单实践

一、简要概念: 1.Mock的概念:mock就是创建一个类的虚假的对象,在测试环境中,用来替换掉真实的对象 2.目的: ①验证这个对象的某些方法的调用情况,调用了多少次,参数是什么等等 ②可以随时指定mock对象的某个方法返回什么样的值,或执行什么样的动作。 Mockito.verify(mockUserManager, Mockito.times(3)).performLogin(.....
阅读(1177) 评论(0)
89条 共6页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:95213次
    • 积分:1795
    • 等级:
    • 排名:千里之外
    • 原创:83篇
    • 转载:6篇
    • 译文:0篇
    • 评论:7条
    博客专栏
    最新评论