- 博客(100)
- 收藏
- 关注
原创 利用redis(订阅模式)+swoole实现实时推送
目录前言直接上代码注意前言一直在做swoole的websocket,之前是利用swoole的client->send()来使用,后来一直想用redis的订阅模式来实现(其实早就有人做了),今天来实现以下方法.直接上代码socket.php的核心文件<?phpuse socket\Predis;require 'Predis.php';class jieshou{...
2019-04-23 16:16:14
2829
原创 Java学习十五,Maven,Mybatis
目录1.Maven1.1 Maven的概念1.2 Maven的作用1.3 Maven的使用1.3.1 Maven目录1.3.2 Maven基本命令1.3.3 Pom.xml的配置1.3.4 Maven的功能演示1.3.5 Maven常规使用1.Maven1.1 Maven的概念Maven 是跨平台的项目管理工具。它主要服务于基于 Java 平台的项目构建、依赖管理和项目信息管理。Maven...
2019-03-28 17:32:27
503
原创 Java学习十四,JDBC,反射
目录1.JDBC入门1.1.JDBC的概念1.1 JDBC的基本操作1.2 JDBC的API1.3 JDBC的CRUD操作(createStatement类)1.4 JDBC防sql注入(prepareStatement类)1.5 JDBC连接池2.反射入门2.1 反射的概述1.JDBC入门1.1.JDBC的概念JDBC(Java Data Base Connectivity,java数据库...
2019-03-20 11:06:36
956
原创 Java学习十三,web进阶(JSTL,EL,AJAX,过滤器,监听器)
目录1.JSTL和EL表达式1.1 EL表达式的介绍和作用1.1.1 EL的案例展示1.1.2 案例实施1.2 JSTL介绍1.2.1 JSTL常用标签及案例2.AJAX1.JSTL和EL表达式1.1 EL表达式的介绍和作用目的是代替JSP页面中的复杂代码,他的基本语法是: ${变量名}1.1.1 EL的案例展示1.1.2 案例实施创建表单提交页面EL/EL.jsp&amp;amp;amp;amp;amp;amp;amp;lt;%@ p...
2019-03-12 13:59:36
484
原创 Mysql基础知识,读写分离(Mycat实现)
目录1. 原理2.Mysql读写分离2.1 Mycat的介绍2.2 Mycat的使用1. 原理MySQL的主从复制和MySQL的读写分离两者有着紧密联系,首先部署主从复制,只有主从复制完了,才能在此基础上进行数据的读写分离。 简单来说,读写分离就是只在主服务器上写,只在从服务器上读,基本的原理是让主数据库处理事务性查询,而从数据库处理select查询,数据库复制被用来把事务性查询导致的改变...
2019-03-07 10:15:35
333
原创 Mysql基础知识,主从复制
目录1. 介绍1.1 原理2. 配置2.1 配置主服务器2.2 配置从服务器1. 介绍MySQL数据库支持单向、双向、链式级联、环状等不同业务场景的复制。在复制过程中,一台服务器充当主服务器(Master),接收来自用户的内容更新,而一个或多个其他的服务器充当从服务器(Slave),接收来自主服务器binlog文件的日志内容,解析出SQL,重新更新到从数据库,使得主从服务器的数据达到一致。...
2019-03-05 11:33:03
177
原创 使用redis(pub/sub)模式实现简单MQ功能
目录1.什么是MQ2.应用场景2.1 异步处理2.2 应用解耦2.3 流量削锋2.4 消息通讯3.redis(pub/sub)模式实现3.1 什么是pub/sub3.2 Redis pub/sub的实现3.3 在php中的实现1.什么是MQ消息队列中间件(MQ)是分布式系统中重要的组件,主要解决应用解耦,异步消息,流量削锋等问题,实现高性能,高可用,可伸缩和最终一致性架构。目前使用较多的消息队...
2019-03-04 09:16:44
2654
原创 Mysql基础知识,存储引擎
目录1. 存储引擎的分类1.1 MyISAM1.2 InnoDB1.3 CSV1.4 Archive1.5 Memory1.6 Federated1. 存储引擎的分类MySQL 有多种存储引擎,目前常用的是 MyISAM 和 InnoDB 这两个引擎,除了这两个引擎以为还有许多其他引擎,有官方的,也有一些公司自己研发的。这篇文章主要简单概述一下常用常见的 MySQL 引擎,一则这是面试中常被问...
2019-03-02 11:50:45
222
原创 Mysql基础知识,锁
这里写自定义目录标题1. 锁的基本感念1.1 为什么使用锁1.2 Mysql锁的分类2. 锁的分类2.1 MyISAM表锁2.2 InnoDB行锁和事务2.2.1 行级锁2.2.2 事务(Transaction)及其ACID属性1. 并发事务带来的问题2. 事务隔离机制3. MVCC和事务的隔离级别2.3 悲观锁2.4 乐观锁1. 锁的基本感念在mysql中的锁看起来是很复杂的,而且在实际的工...
2019-03-01 17:59:43
203
原创 Mysql基础知识,索引
1.为什么用索引 关于MySQL索引的好处,如果正确合理设计并且使用索引的MySQL是一辆兰博基尼的话,那么没有设计和使用索引的MySQL就是一个人力三轮车。对于没有索引的表,单表查询可能几十万数据就是瓶颈,而通常大型网站单日就可能会产生几十万甚至几百万的数据,没有索引查询会变的非常缓慢。所以我们需要使用索引来进行sql的优化.1.1 使用索引与未使用索引的对比对比一下使用...
2019-02-26 10:29:48
288
原创 IntelliJ IDEA 引入第三方包
新手创建web项目,需要配置Tomcat,以及测试导入第三方库jom4j来进行项目的演示;1.创建项目;2.项目创建好以后直接设置3.创建lib和classes文件夹(lib是引入第三方库的文件夹,而classes是.class转译文件的存放地址,即源码文件)4.设置.class文件存放的路径(即导入之前创建的classes文件夹)5.最后点击"+",选择JAR...
2019-01-24 17:49:15
4633
原创 Java学习十二,web基础(Jsp,Xml,Servlet,MVC)
1.JSP简介 如: 所以我们html文件修改成文jsp文件需要: 1.1 jsp的执行过程 我们创建一个项目名为javaweb的文件,当用户提交访问hello.jsp文件的请求时,我们的Tomcat会收到信息,并把javaweb中对应的hello.jsp转换hello.java最后编译成h...
2019-01-23 14:45:40
386
原创 Java学习十一,IO流
1.什么是流 2.File类的使用代码如下:package com_imooc.wenjian;import java.io.File;import java.io.IOException;public class file_test { public static void main(String[] args) { //实例化一个fi...
2019-01-12 15:58:18
246
原创 Java学习十,线程
1.线程的创建实现类 在创建的过程中,我们需要了解两个类:1.Thread类 2.Runnable类1.1 Thread类 Thread类中常用的方法: 1.2 Runnable接口 2. 线程的创建和使用2.1 Thread类实现代码如下:package com_imooc.xiancheng;class Myt...
2019-01-11 09:41:11
154
原创 Java学习九,字符串和集合
1.字符串 1.1 String常用的方法 实际的使用:package com_imooc.zifu;public class string_test { public static void main(String[] args) { String t = "JAVA 编程 基础 学习,I LOVE JAVA"; ...
2019-01-08 17:18:24
206
原创 Java学习八,包装类
1.什么是包装类 我们都知道,Java是oop的编程,但是我们八大基本数据类型中,如图下所示,是没有属性和方法的更加无法进行对象化的交互,所以应允而生了包装类; 2.基本数据类型和包装类的转化 2.1 装箱...
2019-01-08 15:18:04
170
原创 Java学习七,异常处理
1.异常的处理 我们常用的异常处理有以下关键字:try,catch,finally,throw,throws 2.try-catch-finally 基本的结构如图: try:用于捕获异常; catch:用于处理try捕获到的异常; fina...
2019-01-08 10:48:51
209
原创 Java学习六,面向对象
1.什么是面向对象 代码如下: 创建Cat类package com_imooc.mianxiangduixiang;/** * 创建宠物-猫的类 */public c...
2019-01-03 09:14:34
317
原创 Java学习五,方法
1.什么是方法 说白了,方法就是我们其他编程语言中的函数1.1 方法的声明 2.方法的分类 具体代码如下:package com_imooc;public class fangfa { //1.无参数无返回值的方法 public void ...
2019-01-02 17:24:26
167
原创 Java学习四,数组
1.基本知识 1.1 首先,先了解数组是什么: 1.2 其次数组的语法定义是: 1.3 数组的初始化 1.4 数组元素的引用 2.代码的实操...
2018-12-29 17:42:13
151
原创 Java学习三,选择控制和循环控制
这节主要的学习内容:(选择控释)1.if结构;2.switch结构;(循环选择)3.while循环;4.do-while循环;5.for循环6.break语句;7.continue语句1.if结构 1.1 多重if else语句package com_imooc;import java.util.Scanner;public class Huozhe { publ...
2018-12-28 15:25:18
204
原创 Java学习二,运算符
这节主要的学习内容: 1.赋值运算符;2算数运算符;3.关系运算符;4.逻辑运算符;5.条件运算符;1.赋值运算符 2.算数运算符 对于"++"和"--"来说,假如++A是先执行A=A+1,完后才会执行其他的运算逻辑,而A++则是先执行其他的逻辑,最后才会执行A=A+1,"--"也是同理;package com_imooc;publi...
2018-12-26 16:15:53
180
原创 Java学习一,变量与常量
这节主要的学习内容: 1.标识符;2.关键字;3.变量;4.数据类型;5.类型转化;6.常量;1.标识符 没有太多重点,只需要注意以下即可:标识符由字母、数字、下划线“_”、汉字、美元符号“$”组成,第一个字符不能是数字。 不能把java关键字和保留字作为标识符。 标识符没有长度限制。 标识符对大小写敏感。2.关键字 3.变量 在Java语言中,所...
2018-12-24 17:49:21
127
原创 Docker-Compose在linux下配置Lnmp环境
1.项目的目录在github中https://github.com/feiwudetudou/dnmp,大致的目录结构如下: 2.直接运行docker-compose up -d便可启动Lnmp的环境,www中是php文件存在的路径,可在conf中对nginx,nysql,php进行设置 ...
2018-12-08 11:04:35
234
原创 Linux的上传与下载
工具安装首先我们先利用yum安装 lrzsz,命令为: yum install -y lrzsz 上传在终端中,输入rz便出现了目录的选择框,此时选择我们要的文件即可(必须是压缩包,否则提示上传失败) 解压我比较喜欢使用*.zip的解压方式,操作简单明了,直接在终端中unzip XXX.zip即可在当前目录中解压文件 下载下载之前...
2018-12-08 10:12:53
341
原创 Docker Compose的实现原理和操作
Docker Compose的基本实现原理 compose的作用: composer的实现原理: Docker Compose的基本操作 1.基本的组成 1.1 Services ...
2018-12-07 10:53:48
1514
1
原创 Git的基本使用
创建新仓库创建新文件夹,打开,然后执行 git init以创建新的 git 仓库。检出仓库执行如下命令以创建一个本地仓库的克隆版本:git clone /path/to/repository 如果是远端服务器上的仓库,你的命令会是这个样子:git clone username@host:/path/to/repository工作流你的本地仓库由 git 维护的三棵“...
2018-12-06 08:31:34
162
原创 docker镜像和容器数据持久化
1.为什么持久化 在我们部署环境中,会利用Mysql来储存数据,而假如我们不小心删除了Mysql所处的container,那么我们之前所储存的数据将会丢失,所以说数据的持久化对我们来说是至关重要的.持久化的方法: 2.持久化的操作 1.Data Volume ...
2018-11-14 17:38:19
1745
原创 Nginx下多项目部署
首先我的项目比较多,但是服务器就一个,如何才能保证我在监听80端口的同时,又使得我的域名下不会出现www.a.com:81,www.b.com:82等尴尬呢?具体nginx的配置如下:server { listen 80; server_name www.a.com; charset utf-8; ...
2018-11-13 09:14:38
760
原创 docker镜像和容器基础篇
1.1 什么是镜像(Image) 镜像就是像照镜子一样。我们一般说的镜像是指给系统作个ghost镜像。这样可以在很短时间,很方便的还原出一个完整的系统来。镜像可以说是一种文件,比如iso,gho都属于镜像文件,镜像文件可以直接刻录到光盘中,也可以用虚拟光驱打开. 镜象就是一种文件形式,可以把许多文件做成一个镜象文件。比如你的系统,本来有很多文件,做成镜象后就一个文件,与...
2018-11-06 10:23:11
258
原创 go在64位环境下编译出32位程序
操作: 1.使用go env命令,查看系统的配置环境,可以看到GOARCH(当前系统)是amd64 2.执行 set GOARCH=386 配置go输出系统平台为32位,此时再用go env命令查看系统的配置环境,如图: 3.最后,大家直接使用go build 命令运行你得程序吧...
2018-11-02 11:37:55
20929
6
原创 Jmeter+badboy的压力测试(详解)
1.下载badboy和Jmeterbadboy:http://www.badboy.com.au/ Jmeter:http://jmeter.apache.org/Jmeter需要Java的环境配置,这里就不多写了,可以去百度,基本说的很全面的. 2.badboy的录制方式和Jmeter运用 2.1录制 1.写入具体的url并进行访问 ...
2018-09-29 13:44:01
11133
5
原创 golang中gorm包的操作
1.简单的连接和CURDpackage mainimport ( "github.com/jinzhu/gorm" _ "github.com/go-sql-driver/mysql" "time")type User struct { User_id int `gorm:"primary_key"` //指定主键并自增 Name string Pwd ...
2018-09-21 10:55:44
4061
2
原创 redis持久化
1.redis持久化的方式 由于Redis的数据都存放在内存中,如果没有配置持久化,redis重启后数据就全丢失了,于是需要开启redis的持久化功能,将数据保存到磁盘上,当redis重启后,可以从磁盘中恢复数据。redis提供两种方式进行持久化,一种是RDB持久化(原理是将Reids在内存中的数据库记录定时dump到磁盘上的RDB持久化),另外一种是AOF(append ...
2018-09-11 18:03:31
285
原创 sell关闭指定进程
例如要关闭jupyter-notebook这个进程:ps -ef | grep jupyter-notebook | grep -v grep | cut -c 9-15 | xargs kill -9说明:管道符“|”用来隔开两个命令,管道符左边命令的输出会作为管道符右边命令的输入。 “ps -ef” 查看所有进程 “grep -v grep” 是在列出的进程中去除含有关键...
2018-09-10 17:19:52
335
原创 堆和优先队列
1.堆 1.1 定义 堆(英语:heap)是计算机科学中一类特殊的数据结构的统称。堆通常是一个可以被看做一棵树的数组对象。堆总是满足下列性质: 堆中某个节点的值总是不大于或不小于其父节点的值; 堆总是一棵完全二叉树。 ...
2018-08-17 09:31:15
164
原创 集合和映射 Set and Map
1. 集合 Set 1.1 定义 集合是具有某种相似特性的事物的全体。它的重要特点是其中的数据元素无序且不重复,这也就是判断是否使用该容器的依据。 1.2.1 利用二分搜索树实现集合 利用我之前的树的定义和实现中的bst.go函数来调用而实现的package arrtype Set struct{ root Roo...
2018-08-15 18:06:02
171
原创 树结构-二分搜索树
1.树的定义 树是一种数据结构,它是由n(n>=1)个有限节点组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的树,其中我们平常使用的目录就是常见的树; 1.1 二叉树的定义 在计算机科学中,二叉树是每个结点最多有两个子树的树结构。通常子树被称作“左子树”(left subtr...
2018-08-13 16:38:21
278
原创 线性结构-递归
1.定义 所谓递归,简单点来说,就是一个函数直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解。 我们可以把” 递归 “比喻成 “查字典 “,当你查一个词,发现这个词的解释中某个词仍然不懂,于是你开始查这第二个词。可惜,第二个词里仍然有不懂的词,于是查第三个词,这样查下去,直到有一个词的解释是你完全能看懂...
2018-08-13 11:12:43
243
原创 线性结构-链表 Linked List
1.链表的定义 类似于之前的栈与队列,链表也是一种线性的数据结构,但是又不同于他们,因为列表是真正的动态数据结构,如图: 在class中,分别定义了e和next,e可以理解为存储我们真正的数据,而next的类型则为Node,所以next是当前node节点的下一个节点,所以说链表好比一个火车,除了我们一节一...
2018-08-09 11:17:24
513
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人