自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

qq_39564315的博客

最近才开始接触CSDN的

  • 博客(23)
  • 收藏
  • 关注

原创 Git远程连接gitee

1、远程码云Gitee远程连接码云的方式和远程连接GitHub的方式差不多,读者可以根据本章模仿连接GithubGit下载链接:https://www.git-scm.com/download/码云官网:https://gitee.com/大家自行下载Git和注册码云账号,我就不再累述了。2、创建密钥使用git-bash.exe使用$ ssh-keygen -t rsa...

2019-11-20 12:14:52 12868

原创 git基本使用

1、安装githttps://git-scm.com/downloads,官方地址自行下载完成后再命令行输入:$ git config --global user.name "Your Name"$ git config --global user.email "[email protected]"因为Git是分布式版本控制系统,所以,每个机器都必须自报家门:你的名字和Ema...

2019-11-19 19:06:37 198

原创 wx关于滑动屏幕到一定位置时,让view始终在浏览器顶端

1、监听用户滑动屏幕 onPageScroll: function (e) { console.log("滚动位置距离顶部:",e.scrollTop) //给scrollTop重新赋值 this.setData({ scrollTop: e.scrollTop //页面当前顶部距离 }) }2、获取view,id为...

2019-09-02 22:56:48 288

原创 微信小程序获取session_key,access_token,open_id方法

1、首先登录微信公众平台,拿到自己的appId,secret,这一步很重要2、微信小程序客户端,使用wx.login(res)获取code,即res.code,通过wx.request请求到自己搭建的服务器function requestUserInfo(userInfo){ var that = this; wx.login({ success(res){ ...

2019-08-29 11:21:39 1528 2

原创 wx获取用户信息步骤与注意事项

一、注意事项1、现在微信获取用户信息,都必须先经用户授权才可以进行获取,可以通过wx.getSetting查询有没有获得用户授权2、如果用户没有授权就必须使用button的open-type="getUserInfo",然后用bindgetuserinfo="getUserInfocallback"回调传入用户信息3、在这里声明一些回调函数注意点吧,同一个page是写不了回调函数的,同...

2019-08-29 00:26:20 428

翻译 微信小程序wx.login()、wx.getSetting、wx.getUserInfo的区别和联系?

1、wx.login前端使用wx.login是获取登录凭证(code),将code发送给后台,后台向微信发送请求获取用户的唯一标识(openid)及本次登录的会话密钥(session_key),然后后台传回前台自定义的登录状态,以及自定义的用户唯一标识2、wx.geUserInfowx.getuserinfo是为了获取用户的相关信息3、wx.getSettingwx.getse...

2019-08-28 16:31:02 9036

原创 设计模式-状态模式

一、状态模式允许对象在内部状态改变时改变它的行为,对象看起来好像修改了它的类。简单来说,就是用一个“Sate”状态类接口,里面规定了自身不同操作,然后根据自身需要每一个状态都生成一个类。二、项目背景糖果机有四种状态,投钱状态,没有投钱状态,转动曲柄状态,售馨状态。请看原生代码:package com.oyhp.atom;//糖果机public class Gumbal...

2019-08-02 15:13:48 106

原创 设计模式-组合模式

一、组合模式允许你将对象组合成树形结构来表现“整体/部分”层次结构。组合能让客户以一致的方式处理个别对象以及对象组合。组合说白了就像一个二叉树一样,有节点和子元素。二、项目背景餐厅店A,有早餐菜单B,午餐菜单C,晚餐菜单D,而晚餐菜单D又包括甜点菜单E,那么我们要如何循环遍历菜单呢,以及遍历晚餐菜单D中的甜品菜单E,通过迭代器,只是可以平行顺序访问,我们现在需要用到组合模式。三...

2019-08-02 11:39:42 92

原创 设计模式-迭代器模式

一、迭代器模式提供一种方法顺序访问一个聚合对象(也叫集合对象,比如ArrayList)中的各个元素,而不是暴露其内部的表示。二、设计原则1、一个类应该只有一个引起变化的原因2、类的每个责任都有改变的潜在区域。超过一个责任,意味着超过一个改变的区域。3、这个原则告诉我们尽量让每个类保持单一的责任。三、项目背景煎饼屋餐厅要和晚餐屋餐厅合并,煎饼屋的菜单是通过数组实现的,晚餐...

2019-08-01 22:49:20 76

原创 设计模式-模板方法模式

一、模板方法模式在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。二、设计原则别调用我们,我们会调用你,高层组件控制低层组件。三、实例咖啡冲泡法 ...

2019-08-01 17:20:30 85

原创 设计模式-适配器与外观模式

一、适配器与外观模式适配器模式:将一个类的接口,转换成客户期待的另一个接口,适配器让原本接口不兼容的类可以合作无间。外观模式:提供了一个统一的接口,用来访问子系统中的一群接口。外观定义了一个高层接口,让子系统更容易使用。外观模式白话:开启电视,你要插电源,再按下遥控的“开”键,同时为了你要由音量,也要把音量键“开”按一下,然而外观模式就是定义了一个A接口来封装这些操作的BCD接口,只...

2019-08-01 13:35:37 217

原创 设计模式-命令模式

一、命令模式将“请求”封装成对象,以便使用不同的请求,队列或者日志来参数化其他对象。命令模式也支持可撤销的操作二、设计原则多用组合,少用继承三、代码实现1、Clientpackage com.oyhp.client;import com.oyhp.command.LightOffCommand;import com.oyhp.command.LightOnCo...

2019-07-30 18:19:08 266

原创 设计模式--单件模式

一、单件模式确保只有一个类只有一个实例,并提供一个全局访问点。比如线程池,注册表等待应用二、单件模式问题对于多线程使用单件模式必须加上同步方法,缺点是会降低性能public class Singleton{ private static Singleton uniqueInstance; public static synchronized Single...

2019-07-30 17:35:55 114

原创 设计模式-工厂方法

一、工厂方法定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法让类把实例化推迟到子类。二、设计原则要依赖抽象,不要依赖具体这个原则说明了:不能让高层组件依赖低层组件,而且,不管高层或低层组件,“两者”都应该依赖于抽象PoizzaStore是“高层组件”,披萨实现是“低层组件”,很清楚地,PizzaStore依赖这些具体披萨类Pizza。三、代码实现...

2019-07-30 16:49:52 83

原创 设计模式-装饰者

一、装饰者模式动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案。简单的来说就是AB两个类都继承了C抽象类,B也是抽象类也是装饰类,A是主题类专门被装饰,然后又有一堆继承了B装饰类的实现类比如(Z、X、D),装饰类通过以C c为属性,通过构造函数来实例化C c。从而达到装饰的目的。本例子以卖咖啡为例子,主题就是咖啡类型,装饰者就是配料。二、设计原则...

2019-07-25 15:32:39 97

原创 设计模式-观察者模式

一、观察者模式定义了对象之间的一对多的之间的依赖,这样一来,当一个对象改变状态时,它的所有依赖着都会收到通知并自动更新。一对多体现在被观察者WeatherData中的ArrayList observers和观察者中的subject;二、设计规则为了交互对象之间的松耦合设计而努力。三、代码实现这是一个天气预报系统,当天气改变时,通知所有观察者。1、主题天气主题...

2019-07-24 21:07:39 69

原创 设计模式-策略模式

一、策略模式策略模式:定义了算法族(其实就是has-a 类,这里把继承它的类叫做算法不叫行为),分别封装(比如setter)起来,让他们之间可以相互转换,此模式让算法的变化独立于使用算法的客户。二、设计原则1、找出应用中可能需要变化之处,把它们独立出来,不要和哪些不需要变化的代码混在一起。2、针对接口编程,而不是针对实现编程.比如:FlyBehavior与QuackBehavi...

2019-07-24 18:31:13 102

原创 多线程聊天机器人

1、sendThread 发送信息线程package com.oyhp.robotchat;import java.io.DataOutputStream;import java.io.IOException;import java.io.OutputStream;import java.net.Socket;import java.util.Scanner;public ...

2019-07-08 17:27:24 545

原创 总结Lock和synchronized的区别

一、lock与sync的区别1. Lock是一个接口,而synchronized是Java中的关键字,synchronized是内置的语言实现,Lock是代码层面的实现。2. Lock可以选择性的获取锁,如果一段时间获取不到,可以放弃。synchronized不行,会一根筋一直获取下去。 借助Lock的这个特性,就能够规避死锁,synchronized必须通过谨慎和良好的设计,才能减少死锁的...

2019-07-08 16:13:54 1182

转载 多线程查找文件字符串

1、查找字符串package com.how2j.thread;import java.io.File;import java.io.FileReader;import java.io.IOException;public class SearchFileTask implements Runnable{ private File file; private Str...

2019-07-07 21:19:47 326

原创 自制线程池

1、线程池package com.oyhp.thread;import java.util.LinkedList;public class ThreadPool { //线程大小 int threadPoolSize; //任务容器 LinkedList<Runnable> tasks = new LinkedList<Runnable...

2019-07-07 21:04:19 58

原创 C++类继承new分配空间联系

希望大家见谅  这是我瞎写的,关于new分配指针空间以及和virtual的练习而已主函数:#include #include "CD_pointer.h"using namespace std;void Bravo( CD & disk);int main(){    CD c1("Beatles","Capitol",14,35.5);   

2017-09-13 16:29:07 456 1

原创 C++类继承CD练习

这个只是我C++ primer plus类继承练习编写一个CD程序#include #include "CD.h"using namespace std;void Bravo( CD & disk);int main(){    CD c1("Beatles","Capitol",14,35.5);    classic c2 = classic

2017-09-11 18:03:03 406

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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