- 博客(21)
- 收藏
- 关注
转载 SQL常用的几种优化方法
在sql查询中为了提高查询效率,我们常常会采取一些措施对查询语句进行sql优化,下面总结的一些方法,有需要的可以参考参考。 1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 可以在num上设置默认值0,确保表中num列没有null值...
2020-08-12 09:48:48
454
原创 Redis比较常用的五种数据结构
Redis五种数据结构如下: 对redis来说,所有的key(键)都是字符串。 1.String 字符串类型 是redis中最基本的数据类型,一个key对应一个value。 String类型是二进制安全的,意思是 redis 的 string 可以包含任何数据。如数字,字符串,jpg图片或者序列化的对象。 字符串常用操作 SET key value //存入字符串键值对 ...
2020-03-30 21:27:45
1116
原创 Redis基础介绍及安装
Redis核心原理 Redis 单线程为什么还能这么快? 因为它所有的数据都在内存中,所有的运算都是内存级别的运算,而且单线程避免了多线程的切换性能损耗问题。正因为 Redis 是单线程,所以要小心使用 Redis 指令,对于那些耗时的指令(比如keys),一定要谨慎使用,一不小心就可能会导致 Redis 卡顿。Redis 单线程如何处理那么多的并发客户端连接? Redis的IO多路复用:red...
2020-03-28 19:09:12
198
转载 zookeeper分布式锁实现原理
1、互斥锁mutex lock 顾名思义就是排它锁,同一时间只允许一个客户端执行。 实现步骤: 首先,创建一个lock node,例如“locknode” 其次,客户端lock执行以下方式: 创建(create)一个有序临时节点,例如“locknode/guid-lock-”,其中guid可以是你客户端的唯一识别序号,如果发生前面说的创建失败问题,需要使用guid进行手动检查。 调用g...
2020-03-21 14:03:22
281
转载 Zookeeper中的ZAB协议
ZAB协议用途 ZAB(Zookeeper Atomic Broadcast) 协议是为分布式协调服务zookeeper专门设计的一种支持崩溃恢复的原子广播协议。在zookeeper中,主要依赖ZAB协议来实现分布式数据一致性,基于该协议,zookeeper实现了一种主备模式的系统架构来保持集群中各个副本之间的数据一致性。 ZAB协议介绍 ZAB协议包含两种基本模式,分别是: 1》崩溃恢复之数...
2020-03-21 13:04:52
452
原创 Zookeeper的Znode属性
Zookeeper拥有一个命名空间就像一个精简的文件系统,不同的是它的命名空间中的每个节点拥有它自己或者它下面子节点相关联的数据。Zookeeper中必须使用绝对路径也就是使用“/”开头。 Znode: Zookeeper目录树中每个节点对应一个Znode。每个Znode维护这一个属性,当前版本、数据版本、建立时间和修改时间等,Zookeeper就是使用这些属性来实现特殊功能的。当一个客户端要...
2020-03-21 12:19:15
1467
原创 Zookeeper的watcher机制、事件及状态
zookeeper主要是为了统一分布式系统中各个节点的工作状态,在资源冲突的情况下协调提供节点资源抢占,提供给每个节点了解整个集群所处状态的途径。这一切的实现都依赖于zookeeper中的事件监听和通知机制。 zookeeper中的事件和状态 事件和状态构成了zookeeper客户端连接描述的两个维度。这里我们通过下面的两个表详细介绍zookeeper中的事件和状态。 zookeeper客户...
2020-03-21 11:36:54
816
原创 设计模式:策略模式
什么是策略设计模式:它定义了算法家族,分别封装起来,让他们之间可以项目替换,此模式让算法的变化,不会影响到算法的客户。我们可以这样理解,工厂模式是让我们内部的构造变得高内聚低耦合,而策略模式是让我们的内部代码和外部客户端代码不直接进行联系,而是通过一个桥梁来进行沟通,并且使相同算法或功能的代码进行封装。 大家通过上面的UML图上可以看出,策略模式的思想为封装算法类,通过一个上下文类,来沟通客户端...
2020-03-05 16:59:36
149
原创 设计模式:单例模式(7种实现方式)
单例模式,顾名思义就是只有一个实例,并且它自己负责创建自己的对象,这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。 1、饿汉式: /** * @Auther: yjntue * @Date: 2020/3/4 19:48 * @Description: * 饿汉式 若一个类的成员都是比较重的资源,这种方式不合适 * 不允许被继承 */ public ...
2020-03-04 20:39:32
319
原创 CAS无锁操作及Atomic包
1、CAS CAS全称Compare And Swap,即比较并替换,是一种实现并发常用到的技术,Java并发包中有很多类用到的CAS技术,其核心算法思想如下: 执行函数:CAS(V,E,N) 其中包含3个参数: V表示要更新的变量 E表示预期值 N表示要更新的增量值 下面我们来看一段代码: import java.util.ArrayList; import java.uti...
2020-03-02 22:24:53
196
原创 理解Volatile关键字及其实现原理
Volatile的用法 volatile通常被比喻成“轻量级的synchronized”,也是java并发编程中比较重要的一个关键字,和synchronized不同,volatile是一个变量修饰符,只能用户来修饰变量,无法修饰方法及代码块等。volatile的用法比较简单,只需要在声明一个可能被多线程访问的变量时,使用volatile修饰就可以。 以下代码,是一个比较典型的使用双重锁校验(D...
2020-03-02 16:01:58
461
原创 JAVA实现多线程启动的几个方式
方式一:继承Thread类的方式 1、创建一个类继承Thread类 2、实现父类中的run方法 3、new这个子类并调用父类中的start方法。 方式二:实现Runnable接口的方式 1、创建一个类实现Runnable接口, 2、实现Runnable接口中的run方法。 3、将此对象作为参数传到Thread类的构造器中,创建Thread类的对象,并调用start方法。 方式三:实...
2020-03-01 17:31:21
350
原创 Tomcat9通过阿里云域名下载证书配置SSL访问
首先,域名一定要经过备案的,我的就是因为域名备案过期,花费了很长时间,其实配置是对的。 1、在阿里云的域名管理里面申请SSL证书,然后下载tomcat的证书。 下载证书,参照以下文档进行配置 https://help.aliyun.com/document_detail/102939.html?spm=5176.10695662.1996646101.searchclickresult...
2019-10-12 15:27:37
432
1
原创 Tomcat9配置https的IP访问
使用jdk自带的工具先生成jks,下面的命令,证书有效期为:10年,证书密码为:123456,生成存储的位置为:d:/ssl.jks cd "C:\Program Files\Java\jdk1.8.0_152\bin" keytool -genkey -alias ssl -keypass 123456 -keyalg RSA -sigalg sha256withrsa -keysize ...
2019-10-12 11:59:54
1488
原创 oralce 11g 使用sqlplus / as sysdba创建表空间及用户
登录linux,切换到oracle用户 su oracle sqlplus / as sysdba 查询当前系统所有表空间 select name from v$datafile; 新建表空间,语法如下: create tablespace 表空间名 datafile '对应的文件名' size 大小; create tablespace yzh da...
2019-09-17 15:42:03
1479
原创 oracle 12c创建用户及分配权限
sqlplus '/ as sysdba' create user c##epaysit identified by epaysit; 创建用户名为:epaysit,密码为epaysit的用户 grant connect,resource,dba to c##epaysit; 授予epaysit用户DBA权限 ...
2019-06-01 23:11:23
1430
转载 linux 搭建SFTP服务器
参考:http://www.koukousky.com/server/linux/217.html http://blog.csdn.net/zwl19920815/article/details/54893721 https://blog.zengrong.net/post/1616.html 在百度上看到一个回答:sftp 走的是ssh 协议 开启了sshd就相当于开启了sf...
2019-05-12 09:01:32
701
转载 linux 查看并对外开放端口(防火墙拦截处理)
查看端口是否可访问:telnet ip 端口号 (如本机的35465:telnet localhost 35465) 开放的端口位于/etc/sysconfig/iptables中 查看时通过 more /etc/sysconfig/iptables 命令查看 如果想开放端口(如:8889) (1)通过vi /etc/sysconfig/iptables 进入编辑增添一条-A INPU...
2019-04-30 11:27:21
554
原创 Linux系统下命令安装weblogic12c
有两种安装模式:界面安装和静默安装,本人电脑界面DISPLAY无法设置成功,所以采用了静默安装模式;开始安装 工具/原料 centOS Linux系统 weblogic12c 方法/步骤 1 到oracle官网下载.jar结尾的weblogc包,然后放在weblogic用户下的install目录下(此目录是我自己创建,亦可以其他)。 .w...
2019-04-30 10:56:13
6230
转载 Linux安装jdk7开发环境
官网 下载jdk7版本 地址: http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html 下载Linux-jdk-7u80版本: 注意:这里使用登录(账户:96****06@qq.com...
2019-04-30 10:52:17
315
原创 MySQL8.0.15安装教程
一、官网下载MySQL8.0.15 直达官网下载Community版:https://dev.mysql.com/downloads/mysql/ 然后拉倒下方点击对应版本位数下载 二、安装 下载完压缩包之后就解压,再创建一个同级空目录mysqlData,再进入mysql8.0.15安装根目录创建一个my.ini配置文件。 [mysqld] # 设置3306端口 port=33...
2019-04-15 14:51:03
628
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅