- 博客(25)
- 收藏
- 关注
原创 linux安装redis操作步骤
linux安装redis操作步骤拷贝redis-3.2.4.tar.gz安装包到/softeware目录拷贝redis-3.2.4.tar.gz安装包到/softeware目录
2020-04-17 14:59:58 180
原创 单例模式
单例模式单例对象(singleton)是一种常用的设计模式。在java应用中,单例对象能保证在一个jvm中,该对象只有一个实例 存在。这样的模式有以下几个好处:某些类创建比较频繁,对于一些大型的对象,这是一笔很大的系统开销。省去了new操作符,降低了系统内存的使用频率,减轻GC压力。示例饿汉式单例public class Student { //2.成员变量初始化本身对象 ...
2019-08-03 08:45:39 168
原创 抽象工厂模式
介绍抽象工厂是应对产品族概念的。例如,汽车可以分为轿车、SUV、MPV等,也分为奔驰、宝马等。我们可以将奔驰的所有车看作是一个产品族,而将宝马的所有车作另外一个产品族。分别对应两个工厂,一个是奔驰的工厂,另一个是宝马的工厂。与工厂方法不同,奔驰的工厂不只是生产具体的某一个产品,二十一族产品(奔驰轿车、奔驰SUV、奔驰MPV)。“抽象工厂”的抽象指的就是这个意思。上面的工厂方法模式是...
2019-07-27 22:17:24 141
原创 工厂方法模式
介绍工厂方法是针对每一种产品提供一个工厂类。通过不同的工厂实例来创建不同的产品实例。优缺点优点:工厂方法模式就很好的减轻了工厂类的负担,把某一类/某一种东西交由一个工厂生产;(对应简单工厂的缺点1)同时增加某一类“东西”并不需要修改工厂类,只需要添加生产这类“东西”的工厂即可,使得工厂类符合开放-封闭原则。缺点:对于某些可以形成产品族的情况处理比较复杂。示例...
2019-07-26 18:00:20 99
原创 简单工厂模式
介绍工厂类拥有一个工厂方法(create),接收一个参数,通过不同的参数实例化不同的产品类。优缺点优点:简单工厂的特点就是“简单粗暴”,通过一个含参的工厂方法,我们可以实例化任何产品类,无所不能。缺点:任何“东西”的子类都可以生产,负担太重。当所要生产产品种类非常多时,工厂方法的代码量可能会很庞大。在遵循开闭原则(对拓展开放,对修改关闭)的条件下,简单工厂对于增加新的产品无...
2019-07-26 17:22:54 102
原创 主键索引、唯一索引、普通索引、全文索引、组合索引的区别
Mysql索引概念:说说Mysql索引,看到一个很少比如:索引就好比一本书的目录,它会让你更快的找到内容,显然目录(索引)并不是越多越好,假如这本书1000页,有500也是目录,它当然效率低,目录是要占纸张的,而索引是要占磁盘空间的。Mysql索引主要有两种结构:B+树和hash.hash:hsah索引在mysql比较少用,他以把数据的索引以hash形式组织起来,因此当查找某一条记录的时候,...
2019-07-26 15:19:24 1545
原创 Markdown实用语法
标题有多种方式,井号方式最多支持6级标题,Markdown语法:#第一级标题##第二级标题#####第五集标题文字样式效果如下:这些文字会生成斜体这些文字会生成下划线这是一段错误的文本这些文字生成加粗这些文字会生成加粗这些文字生成斜体加粗这些文字生成高亮分割线可以在一行中用3个以上的 * 或 - 或 _ 来建立一个分割线:效果如下:列表无序列表使用 ...
2019-07-22 18:16:43 518 1
原创 mysql使用to_days()函数引起的一个问题
我们做的系统要求每日充值到系统的钱有一个限额,所以在业务上使用了统计当天该用户交易流水的充值记录比对充值限额,sql语句如下:select sum(trade_amount) from trade_flow where user_id = #{userId} andtrade_type =‘1’ and status = ‘3’ and TO_DAYS(trade_time) =TO_...
2019-06-13 16:27:25 3866
原创 在不允许使用额外辅助变量的情况下置换两个数
交换两个数相信很多人天天写过,我也相信你每次都会使用一个额外来变量来辅助交换,例如,我们要交换 x 与 y 值,传统代码如下:int tmp = x;x = y;y = tmp;这样写有问题吗?没问题,通俗易懂,万一哪天有人要为难你,不允许你使用额外的辅助变量来完成交换呢?你还别说,有人面试确实被问过,这个时候,位运算装逼大法就来了。代码如下:x = x ^ y // (1)y ...
2019-06-10 14:39:07 165
原创 找出没有重复的数
给你一组整型数据,这些数据中,其中有一个数只出现了一次,其他的数都出现了两次,让你来找出一个数。这道题可能很多人会用一个哈希表来存储,每次存储的时候,记录 某个数出现的次数,最后再遍历哈希表,看看哪个数只出现了一次。这种方法的时间复杂度为 O(n),空间复杂度也为 O(n)了。然而我想告诉你的是,采用位运算来做,绝对高逼格!我们刚才说过,两个相同的数异或的结果是 0,一个数和 0 异或的结果...
2019-06-10 14:10:09 426
转载 什么是B+树
一个m阶的B树具有如下几个特征:1.根结点至少有两个子女。2.每个中间节点都包含k-1个元素和k个孩子,其中 m/2 <= k <= m3.每一个叶子节点都包含k-1个元素,其中 m/2 <= k <= m4.所有的叶子结点都位于同一层。5.每个节点中的元素从小到大排列,节点当中k-1个元素正好是k个孩子包含的元素的值域分划。一个m阶的B+树具有如下几...
2019-05-15 16:49:58 159
转载 什么是B-树(balance tree)
————————————————————————————————————————————————————————————————————————————————————————————————————————————————二叉树的结构第一次磁盘IO构第二次磁盘IO第三次磁盘IO第四次磁盘IO下面来具体介绍一下B-...
2019-05-15 15:56:31 2132
转载 详解一条SQL查询语句是如何执行的
我们总是编写一条sql语句,然后执行,最后返回一个结果,却不知道这条sql语句内部的执行过程。那么,今天我们就以MYSQL为例,拆解一下sql的具体执行过程。 下图为MYSQL的基本架构示意图,从中我们可以清楚地看到sql语句在MYSQL中各个功能模块的执行过程。 大体上来看,MYSQL可以分为server层和存储引擎层两部分。 Server层包括连接器、查询缓存、分析器、优化器...
2019-05-09 15:48:02 411
转载 【JVM】浅谈双亲委派和破坏双亲委派
一、前言 笔者曾经阅读过周志明的《深入理解Java虚拟机》这本书,阅读完后自以为对jvm有了一定的了解,然而当真正碰到问题的时候,才发现自己读的有多粗糙,也体会到只有实践才能加深理解,正应对了那句话——“Talk is cheap, show me the code”。前段时间,笔者同事提出了一个关于类加载器破坏双亲委派的问题,以我们常见到的数据库驱动Driver为例,为什么要实现破坏双亲委派...
2019-05-05 16:58:23 176
转载 Java虚拟机是如何加载Java类的
我们知道 Java 语言的类型可以分为两大类:基本类型(primitive types)和引用类型(reference types)。 Java 的基本类型,它们是由 Java 虚拟机预先定义好的。至于另一大类引用类型,Java 将其细分为四种:类、接口、数组类和泛型参数。由于泛型参数会在编译过程中被擦除,因此 Java 虚拟机实际上只有前三种。在类、接口和数组类中,数组类是由 Java 虚...
2019-05-05 16:02:38 663
转载 Session与Token认证机制 前后端分离下如何登录
Session与Token认证机制 前后端分离下如何登录1 Web登录涉及到知识点1.1 HTTP无状态性HTTP是无状态的,一次请求结束,连接断开,下次服务器再收到请求,它就不知道这个请求是哪个用户发过来的。当然它知道是哪个客户端地址发过来的,但是对于我们的应用来说,我们是靠用户来管理,而不是靠客户端。所以对我们的应用而言,它是需要有状态管理的,以便服务端能够准确的知道http请求是哪个用...
2019-05-05 11:13:53 579
转载 Eclipse快捷键汇总
一个Eclipse骨灰级开发者总结了他认为最有用但又不太为人所知的快捷键组合。通过这些组合可以更加容易的浏览源代码,使得整体的开发效率和质量得到提升。1. ctrl+shift+r:打开资源这可能是所有快捷键组合中最省时间的了。这组快捷键可以让你打开你的工作区中任何一个文件,而你只需要按下文件名或mask名中的前几个字母,比如applic*.xml。美中不足的是这组快捷键并非在所有视图下都能用...
2019-01-24 09:21:58 156
转载 深入浅析jvm
1:什么是JVMJVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域。 JVM屏蔽了与具体操作系统平台相关的信息,使Java程序只需生成在Java虚拟机上运行的目标代码(字节码)...
2019-01-24 09:10:10 195
原创 linux闭防火墙的方法
永久性生效开启:chkconfig iptables on关闭:chkconfig iptables off即时生效,重启后失效开启:service iptables start关闭:service iptables stop
2019-01-23 18:08:04 246
原创 linux快速创建目录
快速创建目录:1.同级目录下快速创建多个目录: mkdir 800{1,2,3,4,5}make day{1,2,3,4,5,6}2.多级目录下同时创建目录:mkdir -p project/a/srcmkdir -p project/{a,b,c,d}/src...
2019-01-23 18:05:05 10684
原创 linux root用户执行命令提示command not fund
root用户执行大部分命令居然提示**-bash: ls: command not found**使用有权限的用户名,登录系统,编辑/etc/profile文件,配置环境变量,增加/bin:/usr/bin:/sbin:/usr/sbin,重新加载/etc/profile文件即可。1.[root@localhost /]# vim /etc/profile2.加入:export PATH=...
2019-01-23 18:01:50 2138
原创 查看linux下的硬盘挂载的空间、使用空间
查看当前系统挂载情况使用命令 : df -hFilesystem 文件系統size 文件大小Used 使用空间Mounted on 挂载的目录挂载磁盘使用命令:mount 需要挂载的远程磁盘路径 本地磁盘路径...
2019-01-23 17:59:46 1779
原创 linux设置静态IP
linux设置静态IP:编辑:/etc/sysconfig/network-scripts/ifcfg-eth0增加:BOOTPROTO=“static”IPADDR=“192.168.1.199”NETMASK=“255.255.255.0”GATEWAY=“192.168.1.1”DNS1=“8.8.8.8”...
2019-01-23 17:59:28 188
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人