定义Converttheinterfaceofaclassintoanotherinterfaceclientsexpect.Adapterletsclassesworktogetherthatcouldn'totherwisebecauseofincompatileinterfaces.将一个类的接口变成客户端所期待的另一中接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。适配器模式最经典的例子就是如下图所示的插座适配问题:适配器模式的优缺点优点:1、可以让任何两个没有关联的类一起运行。2、提高了类的复用。3、增加了...
2020-09-24 14:17:44 1.0w浏览 0点赞 0回复 0收藏
设计模式(Designpattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。毫无疑问,设计模式于己于他人于系统都是多赢的;设计模式使代码编制真正工程化;设计模式是软件工程的基石脉络,如同大厦的结构一样。工厂模式主要有三类:1、(静态工厂模式)简单工厂模式2、工厂方法模式3、抽象工厂模式1、简单(静态)工厂模式Simp...
2020-09-24 10:30:05 9404浏览 0点赞 0回复 0收藏
前言单例模式应该是我们平时开发过程中最常用到的设计模式之一,它的核心结构中包含一个被称为单例的特殊类。通过单例模式能够保证程序中只有一个类只有一个实例。定义“单例模式是保证一个类只有一个实例,并且提供一个能够全局访问他的节点”————《设计模式》单例模式的实现方式1、饿汉模式publicclassSingleton{privateSingletonsingleInstancenewSingleton();publicSingletongetInstance(){returnsingleInstance;}}2、...
2020-09-23 11:34:16 1.0w浏览 0点赞 0回复 0收藏
UnownedLocal是什么?注释方法或单个局部变量。注释单个局部变量意味着从引用计数中排除此变量的实例引用。注释方法意味着撤消该方法对引用对象的所有局部变量(显式或隐式)的所有权,并从引用对象的引用计数中排除这些变量的引用。UnownedLocal的目的是减少RC开销,而不是消除循环引用。对于在多线程模式下不安全的HashMap.containsValue方法,不允许其他线程同步修改HashMap。因此,对HashMap中内部表和节点的读取不包括在引...
2020-09-22 13:19:21 6590浏览 0点赞 0回复 0收藏
需求有时会需要改变布局颜色透明度,比如设置控件(如View,Button等)的透明度,有3种方法。实现方法java代码实现text(TextView)findViewById(R.id.text);text.getBackground().setAlpha(12);setAlpha()的括号中可以填0–255之间的数字。数字越大,越不透明。注意点:在5.0以上系统时,有些机型会出现莫名其妙的颜色值不起作用,变成透明了,也就是用此方法会导致其他共用一个资源的布局(例如:colorwhite)透明度也跟着...
2020-09-22 11:17:34 2.6w浏览 0点赞 0回复 0收藏
文章目录概述wait()notify()方法实现await()signal()方法BlockingQueue阻塞队列方法Semaphore方法实现同步PipedInputStreamPipedOutputStream概述生产者消费者模式是通过一个容器来解决生产者和消费者的强耦合问题。生产者消费者模式的优点:解耦支持并发支持忙闲不均解决方法可分为两类:1.用信号量和锁机制实现生产者和消费者之间的同步wait()notify()方法await()signal()方法BlockingQueue阻塞队列方法Semaphore方法2.在生产...
2020-09-21 13:26:20 1.0w浏览 0点赞 0回复 0收藏
布局类提供了不同布局规范的组件容器,例如以单一方向排列的DirectionalLayout、以相对位置排列的DependentLayout、以确切位置排列的PositionLayout等。PositionLayoutDirectionalLayoutStackLayoutDependentLayoutTableLayoutAdaptiveBoxLayout显示类提供了单纯的内容显示,例如用于文本显示的Text,用于图像显示的Image等。TextImageClockTickTimerProgressBar交互类提供了具体场景下与用户交互响应的功能,例如Button提供了...
2020-09-18 16:18:49 1.3w浏览 0点赞 0回复 1收藏
目录简介使用变长编码的不完全字符来创建字符串char不能表示所有的Unicode注意Locale的使用文件读写中的编码格式不要将非字符数据编码为字符串简介字符串是我们日常编码过程中使用到最多的java类型了。全球各个地区的语言不同,即使使用了Unicode也会因为编码格式的不同采用不同的编码方式,如UTF8,UTF16,UTF32等。我们在使用字符和字符串编码的过程中会遇到哪些问题呢?一起来看看吧。使用变长编码的不完全字符来创建字符串...
2020-09-17 14:16:21 1.1w浏览 0点赞 0回复 0收藏
本文介绍Node.js的诞生史以及如何学习Node.js。Node.js简史从Node.js的命名上可以看到,Node.js的官方开发语言是JavaScript。之所以选择使用JavaScript,显然与JavaScript的开发人员多有关。总所周知,JavaScript是伴随着互联网的发展而火爆起来的,JavaScript也是前端开发人员必备的技能。同时,JavaScript也是浏览器能直接运行的脚本语言。但也正是JavaScript在浏览器端的强势,导致了人们对于JavaScript的印象还停留在小脚本...
2020-09-17 11:44:26 1.0w浏览 0点赞 0回复 0收藏
关于Lambda表达式:是java8的新特性,可以避免匿名内部类定义过多使用Lambda表达式可以对某些接口进行简单的实现不是所有的接口都可以使用Lambda表达式来实现。Lambda规定接口中只能有一个需要被实现的方法,不是规定接口中只能有一个方法,比如默认方法,不强制实现类重写默认方法其实质属于函数式编程的概念首先,我们来推导一下Lambda表达式,我们借助多线程的实现最常用方式实现Runnable接口进行推导:通常,我们将Runnable...
2020-09-16 15:50:01 1.0w浏览 0点赞 0回复 0收藏
鸿蒙开发者官网:developer.harmonyos.comcnhome鸿蒙应用开发文档:developer.harmonyos.comcndocsdoc…鸿蒙API文档:developer.harmonyos.comcndocsdoc…真正的鸿蒙SDKAPI在ohos.jar,可以结合鸿蒙API文档查看。开发语言有Java,CC++,JS分别面向不同的开发场景,Java的开发体验跟Android基本一致,Android开发者可以无缝切入。Hap是鸿蒙的执行文件,里面包含了一个classes.dex和entrysignedentry.apk,entrysignedentry.apk是...
2020-09-14 13:30:15 1.0w浏览 0点赞 0回复 0收藏
单例模式有两种实现模式:1)懒汉模式:就是说当你第一次使用时才创建一个唯一的实例对象,从而实现延迟加载的效果。2)饿汉模式:就是说不管你将来用不用,程序启动时就创建一个唯一的实例对象。所以,从实现手法上看,懒汉模式是在第一次使用单例对象时才完成初始化工作。因为此时可能存在多线程竞态环境,如不加锁限制会导致重复构造或构造不完全问题。饿汉模式则是利用外部变量,在进入程序入口函数之前就完成单例对象的初...
2020-09-10 11:23:49 2.4w浏览 0点赞 0回复 0收藏