- 博客(119)
- 资源 (2)
- 收藏
- 关注
原创 后端开发缓存篇之缓存使用的问题
一.缓存穿透缓存穿透,指的是在某些情况下,大量对于同一个数据的访问,经过了缓存屏障,但是缓存却未能起到应有的保护作用。举例来说,对某一个 key 的查询,如果数据库里没有这个数据,那么缓存中也没有数据的存放,每次请求到来都会去查询数据库,缓存根本起不到应有的作用。2. 缓存雪崩原本起屏障作用的缓存,如果在一定的时间段内,对于大量的请求访问失效,即失去了屏障作用,造成它后方的系统压力过大,引起系统过载、宕机等问题,就叫做缓存雪崩。场景之一:缓存数据通常都有过期时间的,如果缓存加载.
2020-05-12 10:44:55
649
原创 后端开发缓存篇之缓存及缓存模式的介绍
一.什么是缓存:缓存,简单说就是为了节约对原始资源重复获取的开销,而将结果数据副本存放起来以供获取的方式。二.什么时候使用缓存1.以 幂等和安全的方式对资源的获取操作2.缓存数据必须是重复获取的: 缓存能生效的本质是空间换时间缓存的命中率: 把一批数据获取中,通过缓存获得数据的次数,除以总的次数,得到的结果,叫做缓存的命中率。3. 缓存是为了解决“开销”的问题,...
2020-04-27 10:16:03
1123
原创 window下 php yaf 框架扩展安装
一.下载yaf版本:要使用YAF首先要开启PHP的yaf扩展,由于集成环境不会自带所以我们得自己去下载;yaf扩展下载地址:https://pecl.php.net/package/yaf1.选择对应版本,我这里用PHP5.6所以下载的是2.3.5版本2.选择NTS 还是TS的版本,以及X86或者X64,有下图决定:3.disable线程非安全选择:二.下...
2019-08-20 16:13:11
1400
原创 打包项目报错Caused by: java.io.IOException: Duplicate zip entry [a.class == 4.jar:ThreadPoolCached.class]
正常直接用android_studio运行项目时不会出错,打包时就报错了,报错信息如下:打包项目报错Caused by: java.io.IOException: Duplicate zip entry [a.class == 4.jar:ThreadPoolCached.class]折腾了好就,最后发现是在lib中存在两个类名和包名一样的类:ThreadPoolCached.class,...
2019-07-12 14:38:29
1195
原创 js局部刷新html
需要根据请求服务器的不同数据来更新:<div id="zp_list" class="list-pic”></div>该div中的数据。1.ajax请求数据:$.ajax({ url:"/index/index/getautumn/", type:'POST', data:{officeid:officeid,address...
2019-05-08 13:44:14
4602
原创 kotlin中RecyclerView+Databinding的使用
RecyclerView用于列表的显示,大家都很熟悉了,这里主要介绍下RecyclerView在kotlin中结合Databinding的使用1.创建项目后需要在gradle中引入:implementation'com.android.support:recyclerview-v7:28.0.0-alpha1'否则当你使用RecyclerView时会发现没办法引入。2.布局文件:...
2019-04-28 17:04:51
4590
原创 kotlin使用mvvm搭建框架
一.定义:MVVM是MVP的升级版,其中的1.Model负责数据实体模型、数据获取、存储等。2.View负责界面对应xml和activity/fragment3.VM是ViewModel的缩写可以理解成是View的数据模型和Presenter的合体,负责Model和View之间的交互,处理业务逻辑,ViewModel和View层之间的交互通过谷歌的框架data-binding来完成...
2019-04-28 16:44:24
5516
1
原创 Kotlin之Databinding的配置和使用
一.新建Kotlin项目:二.在项目的build.gradle中配置,主要加入两个全局变量的版本号:buildscript { //主要加入两个全局变量的版本号 ext.kotlin_version = '1.2.61' ext.gradle_version = '3.2.0'//gradle版本 repositories { mave...
2019-04-25 11:34:36
8501
1
原创 Xcode升级10.2后打包碰到的各种坑
一.xcode升级10后switf2.0不可打包问题:Build Setting->Swift Compiler-Language->Swift Language Version ->改成swift4以上二.swift升级到4.0后各种不兼容报错:Build Setting->找到Swift3 @objc Inference 改选项改成on:...
2019-04-24 15:23:22
2585
原创 Android Kotlin之Retrofit、Rxjava的使用
一.Retrofit定义:Retrofit是square开源的网络Restful请求框架,底层是基于okhttp的,也就是封装okhttp的一个网络请求框架,是基于java的动态代理来实现的,开发者只要定义接口就可以了。二.Retrofit特点:1.底层基于okhttp2.使用Restful设计风格3.通过注解配置网络请求4.支持同步、异步请求5.支持各种数据解析...
2019-04-23 17:56:02
1903
原创 使用kotlin写的android简单计算器demo
使用kotlin写的android简单计算器demo,适合初入门的朋友参考使用,完整项目代码地址:https://github.com/linwenbing/KotlinCounterDemo1.项目代码:import android.support.v7.app.AppCompatActivityimport android.os.Bundleimport android.ut...
2019-04-19 14:46:45
4321
4
原创 Kotlin 初探之Android 控件绑定和使用
Android 的控件大家都很熟悉,在java中绑定控件也很简单,直接使用:findViewById就可以了,这里我们讲下控件在kotlin的绑定。在kotlin绑定控件更简单方便:1.引入kotlin扩展,这个新建项目的时候就自动引入了:apply plugin: 'kotlin-android-extensions'2.在activity中导入kotl...
2019-04-18 13:39:35
4624
原创 html+css实现三条横线点击变叉导航菜单
使用html+css实现三条横线的菜单按钮,点击弹出列表菜单,菜单按钮变叉,点击叉按钮或点击列表项收回菜单:点击按钮:点击叉按钮或者菜单列表项都可以收回菜单。css代码:.inner-header{ background-color: rgba(0,0,0,1); width: 100%; height: 50px; position: absolute; to...
2019-04-17 17:51:06
8763
原创 Kotlin 初探之创建项目
AndroidStudio创建Kotlin:主要是勾选Include Kotlin support,其他步骤同创建java项目一样:看下项目结构,同java项目不同的是创建的是.kt文件:gradle中引入了kotlin:这是kotlin的activity类:布局文件同java一样。这样就可以把这个 helloword demo跑起来了...
2019-04-17 11:33:54
845
原创 android SDK manager更新提示403报错
今天更新下sdk发现报错了,记录下报错处理方式。android SDK manager更新的时候提示403报错,是因为没有设置代理或者设置的代理不能使用了。下面介绍个设置镜像代理设置步骤:1.打开Android skd manager时,如下图点击:2.选择Preferences:3.在下图中输入代理地址,这边使用地址:mirrors.neusoft.edu.cn...
2019-04-16 10:43:31
1252
原创 Kotlin基础语法
一.定义变量1.val定义:只能赋值一次val a: Int = 1;//定义整数变量val a = 1;自动推断出 `Int` 类型val c: Int // 如果没有初始值类型不能省略2.var定义:可重新赋值var x = 5;x+=1;二.表达式1.if表达式与java一样这里不说了2.for、while循环:val items = li...
2019-04-12 14:22:52
1253
原创 阿里巴巴Android开发规范
阿里云出的阿里巴巴Android开发手册,这几天看了下个人感觉不错,里面的知识点虽然都很基础,但是都是开发中很实用和很容易碰到的问题。主要讲了命名规范、组件使用注意、安全等问题,有兴趣的同学可以下载看看,下载地址:https://edu.aliyun.com/course/813还可以在阿里云的网站上参加阿里云认证考试,需要交9.9参加考试,考试比较简单,只要看看开发手册基本都能过,考...
2019-04-10 14:19:18
1556
原创 Android在onStop/onPause中还是在onDestory中释放资源
一.为什么不在onDestory中执行释放资源操作?这里我们先大概回顾下Activity的生命周期:oncreate()->onstart()->onResume()->onRestart()->onPouse()->onStop()->onDestory()可以看到Activity生命周期的最后一个执行方法就是onDestory,因此不少时候...
2019-04-09 11:21:24
2487
原创 Android如何在Service中执行耗时操作
一.Service能不能执行耗时操作?Service是Android四大组件之一,是运行在后台的服务,可用来执行不需要在前台展示的动作,如播放音乐等;有些人可能会认为,Service竟然是在后台运行的那不就可以用来执行耗时操作了,这样也不会影响前台页面,其实不行,因为Service也是运行在主线程,所以Service是不能用来执行耗时操作的。二.Service中开启线程...
2019-04-08 15:26:38
8418
原创 阿里巴巴android开发手册阅读笔记之命名规范
命名规范在日常开发中有着至关重要的作用,命名规范可以提高项目的可读性、可维护性。本文中的规范说明全部来自阿里巴巴开发手册,是本人觉得在日常开发中常用和重要的方面截取出来做记录,如果公司没有统一的规范和没有形成自己的一套规范的同学可以参考使用。一.java语言命名规范1.命名不能使用美元符号和下划线开始和结束2.命名不能使用拼音和中文3.类命名使用:UpperCa...
2019-04-08 11:50:50
1783
原创 web前端开发几个知识点
一.css设置div横排实现div横排主要设置:1.div属性设置display:inline2.并排的div设置float:left;float: right;//这样可以实现靠左靠右显示如下:<style type="text/css"> div{ display:inline } .head{ bac...
2019-04-04 19:07:29
2236
3
原创 jquery中.each()遍历元素遇到的问题
今天开发中遇到一个问题,我要遍历以下li元素:<divid="viewpage"class="list"> <ul> <liclass="p6"><ahref="#"><imgclass="viewpage"src="http://appimg.pba.cn/2019/04/04/d86169488bb...
2019-04-04 14:52:06
3607
原创 android常用设计模式之命令模式
一.定义将一个请求封装成一个对象,从而让用户使用不同的请求把客户端参数化;对请求队列或者记录请求日志,以及支持可撤销的操作。二.角色1.Receiver(接收者角色),负责执行具体的请求。2.Command(命令角色),申明需要执行的所有命令。3.ConcreteCommand(具体命令角色),命令角色的具体实现,通常会持有接收者,并调用接收者来处理命令。4.Invo...
2019-04-04 10:45:42
1469
原创 android常用设计模式之组合模式
一.定义组合模式,将对象组合成树形结构以表示“部分-整体”的层次结构,使得用户对单个对象和组合对象的使用具有一致性。二.角色1.Component(抽象结构) 是组合中的对象声明接口,在适当的情况下,实现所有类共有接口的默认行为。声明一个接口用于访问和管理Component子部件。2.Leaf(叶子结构) 在组合中表示叶子结点对象,叶子结点没有子结点。3.Compo...
2019-04-03 12:01:00
1468
原创 android常用设计模式之装饰者模式
一.定义装饰者模式是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。二.使用场景1.需要扩展一个类的功能,或给一个类添加附加职责。2.需要动态的给一个类添加和撤销一个功能。三.优缺点优点扩展对象功能,灵活性高。缺点增加复杂性四.角色 1.Component(抽象...
2019-04-03 10:39:35
1446
原创 android常用设计模式之模板方法模式
一.定义模板方法模式定义了一个算法的步骤,并允许子类为一个或者多个步骤提供实践方法,让子类在不改变算法结构的情况下重新定义算法中的某些步骤。二.使用场景一系列方法中有通用的方法,又有个别使用的方法时。三.优缺点:优点:1.提高代码的复用性2.提高了扩展性缺点:每一个不同的实现都需要一个子类来实现,导致类的个数增加,增加了系统的复杂度。四.角...
2019-03-28 11:51:53
1428
原创 android常用设计模式之代理模式
一.定义代理模式:为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。二.角色1.抽象角色(Subject) :通过接口或者抽象类声明真实角色实现的业务方法。2.代理角色(Proxy):实现抽象角色,是真实角色的代理。3.真实角色:实现抽象角色,定义真实角色所要实现的业务...
2019-03-28 10:17:09
1412
原创 android常用设计模式之策略模式
一.定义策略模式定义了一系列算法,并将一系列算法封装起来,使它们能够相互替换。二.使用角色1.用来操作策略的上下文环境2.策略的抽象2.具体策略实现三.使用场景:1.针对同一类问题的多种实现方式.2.需要安全的封装多重同一类对象时,调用者不会知道算法策略的具体过程。3.一个类有多个子类,并且在调用的时候用if或switch判断的时候。四.使...
2019-03-27 14:56:10
1337
原创 android常用设计模式之观察者模式
一.定义观察者设计模式定义了对象间的一种一对多的组合关系,以便一个对象的状态发生变化时,所有依赖于它的对象都得到通知并自动刷新。简单来说就是,观察者模式中分为观察者和被观察者,当观察者发现被观察者发生改变时,观察者做出相应的动作,比如页面发现业务数据发生变化时,刷新页面。二.角色1.抽象观察者:观察者的抽象类,定义了一个更新的接口。2.具体的观察者:实现抽象观察者的更新接...
2019-03-26 09:06:36
1396
原创 android常用设计模式之责任链模式
一.定义:责任链模式属于行为模式,责任链模式为请求者创建一个连接多个接收对象的链,在这个链中请求不断往下执行,直到被处理为止。二.作用:1.将请求发送者和请求接收者解耦,责任链发送者只需要发送请求,并不需要关心怎么处理的,处理有各个请求接收者负责;2.将多个接收对象连成一条链,每个接收对象都有可能接收到请求。三.举例说明举个简单的请假审批的例子来说明下...
2019-03-26 09:05:10
1510
原创 android常用设计模式之原型模式
一.定义:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。当new一个对象需要非常繁琐的数据准备或访问权限时就可以使用原型模式,原型模式就是java中的clone技术,以某个对象为原型,复制出新的对象,新的对象具有原型对象的特点。因此原型模式的核心就是clone技术。二.角色1.抽象原型类(Prototype):抽象类或者接口,用来申明clone方法。...
2019-03-25 14:39:47
1394
原创 android常用设计模式之建造者模式
一.定义:建造者模式属于创建型模式,是将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。二.解释和作用: 建造者模式中封装了复杂的建造过程和细节,提供简单的创建方法,使用者不需要知道其中复杂的建造过程和细节,只要提供指定对象的类型和内容就可以直接创建出复杂的对象。 例如:用户需要买一台电脑,他不需要知道电脑的cpu、内存、硬盘等是怎么制造...
2019-03-22 15:46:14
1490
原创 android常用设计模式之抽象工厂模式
一.定义:为创建一组相关或相互依赖的对象提供一个接口,而且无需指定他们的具体类。二.角色:1.抽象产品角色:定义不同的抽象产品结构//抽象产品类--CPUpublicabstractclassCPU{ publicabstractvoidshowCPU();}//抽象产品类--内存publicabstractclassMemory...
2019-03-22 10:45:07
433
原创 android常用设计模式之工厂方法模式
一.定义: 定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类当中,工厂方法模式是简单工厂模式的衍生,实现了可扩展性,可适用于更加复杂的业务。二.角色1.抽象产品角色:工厂方法模式所创建的所有对象的父类,它负责描述所有实例所共有的公共接口。publicabstractclassProduct{ publicabstractvoidpr...
2019-03-22 10:39:48
140
原创 android常用设计模式之简单工厂模式
一.定义:由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类的实例。二.角色: 1.抽象产品角色:简单工厂模式所创建的所有对象的父类,它负责描述所有实例所共有的公共接口。publicabstractclassProduct{ publicabstractvoidproduce();}2.具体产品角色具体产品角色类继承抽象产品...
2019-03-22 10:34:27
435
原创 android常用设计模式之适配器模式
一.适配器模式定义: 将一个接口转换成客户希望的另一个接口,适配器模式使接口不兼容的那些类可以一起工作。二.适配器模式说明: 1.适配器模式分为类适配器模式和对象适配器模式两种。 2.生活中适配器最典型的例子就是手机充电器了,手机充电器做为适配器将家用电压转换成手机可以充电的电压。 3.实际开发中我们遇到两个类之间的接口不兼容又不想改动接口就可以使...
2019-03-21 15:02:46
459
原创 android常用设计模式之单例模式
单例模式是设计模式中简单也是常用的一种设计模式。一.单例模式定义: 一个类有且仅有一个实例,并且自行实例化向整个系统提供。二.单例模式的目的: 使得类的一个对象成为系统中的唯一实例。三.单例模式的实现方式: 1.饿汉式饿汉式是最简单的实现方式,/***单例模式-饿汉式*/publicclassSingleton{...
2019-03-21 14:07:12
459
原创 Android性能优化之使用Android profile跟踪耗时方法
AndroidStudio3.0之后增加了anroid profile,Profile分为三大块分析:CPU、内存和网络,本篇主要介绍内存分析。这里我们主要通过Android profile 的CPU分析功能来定位耗时方法,以优化应用的流畅度。 这里我们直接通过操作实例来解决问题:一.首先看这里需要解决的问题: app中点击如下按钮到见到页面会有明显的停顿时间:针对...
2019-02-22 14:57:28
7478
1
原创 CSS五大选择器
一.类选择器:用.+名称定义的css样式类型,叫类选择器在class中引用 如:.comment{ background-color: #0bbb15; color: white; margin: 20px; padding: 20px;}<div class=“comment"> 二.id选择器:用#+名称定义的css样式...
2019-02-21 14:53:40
8278
1
原创 CSS中clear:both的作用
clear:both意思就是清除浮动,例如我们设置了三个div如下:<div style="line-height: 30px; background-color: #EEEEEE; height: 100px; width: 50px; float: left; p...
2019-02-19 18:40:34
54793
6
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人