自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

转载 高并发场景下数据库的常见问题及解决方案

一、分库分表 (1)为什么要分库分表 随着系统访问量的增加,QPS越来越高,数据库磁盘容量不断增加,一般数据库服务器的QPS在800-1200的时候性能最佳,当超过2000的时候sql就会变得很慢并且很容易被请求打死,而单表数据量过大也会导致数据库执行sql很慢,为了应付这种场景产生了分库分表...

2019-12-23 09:41:05 98 0

原创 UIButton防止按钮和手势的暴力点击

首先理解下几个概念 1、IMP:它是指向一个方法具体实现的指针,每一个方法都有一个对应的IMP,当你发起一个消息之后,最终它会执行的那段代码,就是由IMP这个函数指针指向了这个方法实现的 2、SEL:方法名称的描述,只记录方法的编号不记录具体的方法,具体的方法是 IMP 3、Method:是一个类...

2019-08-07 10:30:46 237 2

原创 Java Properties 类

Properties 继承于 Hashtable.表示一个持久的属性集.属性列表中每个键及其对应值都是一个字符串。 Properties 类被许多Java类使用。例如,在获取环境变量时它就作为System.getProperties()方法的返回值。 Properties 定义如下实例变量.这...

2019-07-03 13:55:07 63 0

原创 Java Stack 类

import java.util.*; public class StackDemo { static void showpush(Stack<Integer> st,int a) { st.push(new Integer(a)); System.out.printl...

2019-07-03 09:38:00 290 0

原创 Java Vector 类

import java.util.*; public class VectorDemo { public static void main(String[] args) { Vector v = new Vector(3, 2); System.out.println(&qu...

2019-07-03 09:27:33 81 0

原创 Java Bitset类

import java.util.BitSet; public class BitSetDemo { public static void main(String[] args) { BitSet bits1 = new BitSet(16); BitSet bits2 = new...

2019-07-03 09:14:52 62 0

原创 Java Enumeration接口

import java.util.Vector; import java.util.Enumeration; /* * Enumeration接口中定义了一些方法,通过这些方法可以枚举(一次获得一个)对象集合中的元素。 * 这种传统接口已被迭代器取代,虽然Enumeration 还未被遗弃,但在...

2019-07-03 08:59:58 59 0

原创 Java 抽象类

Employee.java public abstract class Employee { private String name; private String address; private int number; public Employee(String name,...

2019-06-17 14:01:28 632 0

原创 Java 多态

Test.java /* * 多态 * 多态是同一个行为具有多个不同表现形式或形态的能力 */ /* * 多态的优点 * 1. 消除类型之间的耦合关系 * 2. 可替换性 * 3. 可扩充性 * 4. 接口性 * 5. 灵活性 * 6. 简化性 多态存在的三个必要条件 继承 重写 父类引...

2019-06-17 10:24:05 755 0

原创 iOS-UIButton防止重复点击(三种办法)

目录 使用场景 方法一 设置enabled或userInteractionEnabled属性 方法二 借助cancelPreviousPerformRequestsWithTarget:selector:object实现 方法三 通过runtime交换方法实现 注意事项 一 使用场...

2019-06-17 09:10:55 3674 0

原创 Java 重写(Override)与重载(Overload)

TestDog.java /* * 重写(Override) * 重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变。即外壳不变,核心重写! * 重写的好处在于子类可以根据需要,定义特定于自己的行为。 也就是说子类能够根据需要实现父类的方法。 * 重写方法不能抛出新的...

2019-06-17 09:05:25 102 0

原创 OC指示符assign、atomic、nonatomic、copy、retain、strong、week的解释

在使用@property定义property时可以在@property与类型之间用括号添加一些额外的指示符,常用的指示符有assign、atomic、nonatomic、copy、retain、strong、week、等。详情如下: assign: 简单赋值,不更改索引计数(Reference...

2019-06-15 14:27:09 118 0

原创 Java继承

Animal.java public class Animal { //公共父类 private String name; private int id; public Animal(String myName, int myid) { name = myName; id = m...

2019-06-15 09:40:29 56 0

原创 Java传输对象模式

传输对象模式(Transfer Object Pattern)用于从客户端向服务器一次性传递带有多个属性的数据。传输对象也被称为数值对象。传输对象是一个具有 getter/setter 方法的简单的 POJO 类,它是可序列化的,所以它可以通过网络传输。它没有任何的行为。服务器端的业务类通常从数据...

2019-06-14 15:22:31 206 0

原创 Java服务定位器模式

服务定位器模式(Service Locator Pattern)用在我们想使用 JNDI 查询定位各种服务的时候。考虑到为某个服务查找 JNDI 的代价很高,服务定位器模式充分利用了缓存技术。在首次请求某个服务时,服务定位器在 JNDI 中查找服务,并缓存该服务对象。当再次请求相同的服务时,服务定...

2019-06-14 15:12:52 78 0

原创 Java拦截过滤器模式

拦截过滤器模式(Intercepting Filter Pattern)用于对应用程序的请求或响应做一些预处理/后处理。定义过滤器,并在把请求传给实际目标应用程序之前应用在请求上。过滤器可以做认证/授权/记录日志,或者跟踪请求,然后把请求传给相应的处理程序。以下是这种设计模式的实体。 过滤器(F...

2019-06-14 14:58:20 313 0

原创 Java前端控制器模式

前端控制器模式(Front Controller Pattern)是用来提供一个集中的请求处理机制,所有的请求都将由一个单一的处理程序处理。该处理程序可以做认证/授权/记录日志,或者跟踪请求,然后把请求传给相应的处理程序。以下是这种设计模式的实体。 前端控制器(Front Controller)...

2019-06-14 14:31:36 277 0

原创 Java数据访问对象模式

数据访问对象模式(Data Access Object Pattern)或 DAO 模式用于把低级的数据访问 API 或操作从高级的业务服务中分离出来。以下是数据访问对象模式的参与者。 数据访问对象接口(Data Access Object Interface) - 该接口定义了在一个模型对象上...

2019-06-14 14:07:38 166 0

原创 Java组合实体模式

组合实体模式(Composite Entity Pattern)用在 EJB 持久化机制中。一个组合实体是一个 EJB 实体 bean,代表了对象的图解。当更新一个组合实体时,内部依赖对象 beans 会自动更新,因为它们是由 EJB 实体 bean 管理的。以下是组合实体 bean 的参与者。 ...

2019-06-14 11:02:58 223 0

原创 Java组合实体模式

组合实体模式(Composite Entity Pattern)用在 EJB 持久化机制中。一个组合实体是一个 EJB 实体 bean,代表了对象的图解。当更新一个组合实体时,内部依赖对象 beans 会自动更新,因为它们是由 EJB 实体 bean 管理的。以下是组合实体 bean 的参与者。 ...

2019-06-14 08:40:06 125 0

原创 Java业务代表模式

业务代表模式(Business Delegate Pattern)用于对表示层和业务层解耦。它基本上是用来减少通信或对表示层代码中的业务层代码的远程查询功能。在业务层中我们有以下实体。 客户端(Client) - 表示层代码可以是 JSP、servlet 或 UI java 代码。 业务代表(...

2019-06-13 15:31:02 200 0

原创 JavaMVC 模式

MVC 模式代表 Model-View-Controller(模型-视图-控制器) 模式。这种模式用于应用程序的分层开发。 Model(模型) - 模型代表一个存取数据的对象或 JAVA POJO。它也可以带有逻辑,在数据变化时更新控制器。 View(视图) - 视图代表模型包含的数据的可视化...

2019-06-13 15:03:52 641 0

原创 Java访问者模式

在访问者模式(Visitor Pattern)中,我们使用了一个访问者类,它改变了元素类的执行算法。通过这种方式,元素的执行算法可以随着访问者改变而改变。这种类型的设计模式属于行为型模式。根据模式,元素对象已接受访问者对象,这样访问者对象就可以处理元素对象上的操作。 意图:主要将数据结构与数...

2019-06-13 14:26:28 67 0

原创 iOS处理高并发量的数据请求和数据集合的对应关系

一、处理高并发请求的核心代码如下: // 创建信号量 dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); // 创建全局并行 dispatch_queue_t queue = dispatch_g...

2019-06-13 13:57:28 1048 0

原创 Java模板模式

在模板模式(Template Pattern)中,一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。这种类型的设计模式属于行为型模式。 意图:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法...

2019-06-13 13:53:26 194 0

原创 Java策略模式

在策略模式(Strategy Pattern)中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。 在策略模式中,我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的 context 对象。策略对象改变 context 对象的执行算法。 意图:定义一系列的算...

2019-06-13 11:16:25 924 0

原创 Java空对象模式

在空对象模式(Null Object Pattern)中,一个空对象取代 NULL 对象实例的检查。Null 对象不是检查空值,而是反应一个不做任何动作的关系。这样的 Null 对象也可以在数据不可用的时候提供默认的行为。 在空对象模式中,我们创建一个指定各种要执行的操作的抽象类和扩展该类的实体...

2019-06-13 10:43:49 187 0

原创 Java状态模式

在状态模式(State Pattern)中,类的行为是基于它的状态改变的。这种类型的设计模式属于行为型模式。 在状态模式中,我们创建表示各种状态的对象和一个行为随着状态对象改变而改变的 context 对象。 意图:允许对象在内部状态发生改变时改变它的行为,对象看起来好像修改了它的类。 ...

2019-06-13 10:20:48 246 0

原创 Java观察者模式

当对象间存在一对多关系时,则使用观察者模式(Observer Pattern)。比如,当一个对象被修改时,则会自动通知它的依赖对象。观察者模式属于行为型模式。 意图:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。 主要解决:一个对象...

2019-06-13 09:35:45 52 0

原创 Java中介者模式

中介者模式(Mediator Pattern)是用来降低多个对象和类之间的通信复杂性。这种模式提供了一个中介类,该类通常处理不同类之间的通信,并支持松耦合,使代码易于维护。中介者模式属于行为型模式。 意图:用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从而使其耦合...

2019-06-13 09:08:46 150 0

原创 Java迭代器模式

迭代器模式(Iterator Pattern)是 Java 和 .Net 编程环境中非常常用的设计模式。这种模式用于顺序访问集合对象的元素,不需要知道集合对象的底层表示。 迭代器模式属于行为型模式。 意图:提供一种方法顺序访问一个聚合对象中各个元素, 而又无须暴露该对象的内部表示。 主要...

2019-06-12 08:58:41 52 0

原创 Java解释器模式

解释器模式(Interpreter Pattern)提供了评估语言的语法或表达式的方式,它属于行为型模式。这种模式实现了一个表达式接口,该接口解释一个特定的上下文。这种模式被用在 SQL 解析、符号处理引擎等。 意图:给定一个语言,定义它的文法表示,并定义一个解释器,这个解释器使用该标识来解...

2019-06-11 09:36:48 51 0

原创 Java命令模式

命令模式(Command Pattern)是一种数据驱动的设计模式,它属于行为型模式。请求以命令的形式包裹在对象中,并传给调用对象。调用对象寻找可以处理该命令的合适的对象,并把该命令传给相应的对象,该对象执行命令。 意图:将一个请求封装成一个对象,从而使您可以用不同的请求对客户进行参数化。 ...

2019-06-10 10:04:22 59 0

原创 Java 责任链模式

顾名思义,责任链模式(Chain of Responsibility Pattern)为请求创建了一个接收者对象的链。这种模式给予请求的类型,对请求的发送者和接收者进行解耦。这种类型的设计模式属于行为型模式。 在这种模式中,通常每个接收者都包含对另一个接收者的引用。如果一个对象不能处理该请求,那...

2019-06-10 09:03:56 36 0

原创 Java代理模式

代理模式 在代理模式(Proxy Pattern)中,一个类代表另一个类的功能。这种类型的设计模式属于结构型模式。 在代理模式中,我们创建具有现有对象的对象,以便向外界提供功能接口。 意图:为其他对象提供一种代理以控制对这个对象的访问。 主要解决:在直接访问对象时带来的问题,比如说:要访...

2019-06-06 10:07:47 73 0

原创 Java外观模式

外观模式:隐藏系统的复杂性,并向客户提供了一个客户端可以访问系统的接口,这种类型的设计模式属于结构型模式,他向现有的系统添加一个接口,来隐藏系统的复杂性 这种模式设计到一个单一的类,该类提供了客户请求的简化方法和对现有系统类方法的委托调用 意图:为子系中的一组接口提供一个一致的界面,外观模式定...

2019-06-05 14:29:08 37 0

原创 Java组合模式

组合模式:适用于把一组相似的对象当作一个单一的对象,组合迷失一句树形结构来组合对象,用来表示部分以及整体层次。这种类的设计模式属于结构型模式,他创建了对象组的树形结构 这种模式创建了一个包含自己对象组的的类。给类提供了修改相同对象组的方式 意图:将对象组合成树形结构以表示“部分-整体”的层次结构...

2019-06-05 10:57:44 357 0

原创 Java过滤器模式

//创建一个类,在该类上应用标准 public class Person { private String name; private String gender; private String maritalStatus; public Person(String name, Str...

2019-06-05 09:58:14 178 0

原创 Java算法

package day4; public class demo { public static void main(String[] args) { int x=5,y; //声明用于自增和自减的整型变量 char cx='B',cy; //声明用于自增和自减的字符...

2019-06-01 14:31:35 27 0

原创 iOS 利用iCloud上传文档 pdf

1.#import <QuickLook/QuickLook.h> 2. 类方法 @interface ZZDocument : UIDocument @property (nonatomic, strong) NSData *data; @end @implementatio...

2019-03-21 13:52:24 1122 0

提示
确定要删除当前文章?
取消 删除