自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 收藏
  • 关注

原创 geotools实现wmts服务

【代码】geotools实现wmts服务。

2023-07-19 10:44:24 646

原创 postgresql sql 数据库中只靠一个数据,查询到所在表和列名

【代码】postgresql sql 数据库中只靠一个数据,查询到所在表和列名。

2023-06-13 11:46:22 222

原创 工作中遇到的Map浅拷贝深拷贝问题

现象:/*** IT_ITEM */Map<String, Object> intmap = new HashMap<>();List<Map> intlist = new ArrayList<>();/***省略代码.......*/for(int i=0; i<items.size(); i++){ intmap.put("SERID",items.get(i).get("docno"));//序列号 intli

2021-04-19 22:13:30 238

原创 手写Spring笔记

目录1、目录结构2、实现3、测试4、效果1、目录结构2、实现package com.spring;import java.io.File;import java.lang.reflect.Field;import java.net.URL;import java.util.ArrayList;import java.util.List;import java.util.concurrent.ConcurrentHashMap;public class ApplicationCont

2021-02-14 11:41:47 243

原创 手写mybatis

目录1、目录结构2、概述3、实现mappedstatementconfigurationSqlSessionFactorySqlSessionExecutor动态代理测试编写User类编写Mapper接口编写mapper.xml编写db.properties编写测试类结果1、目录结构2、概述mappedstatement记录mapper.xml的配置信息configuration记录dp.properties信息,和所有的mapper.xml信息(用hashmap记录)sqlSessio

2020-12-01 01:00:14 981 3

原创 今天上了react异步函数的当

原因:今天开发的功能,真的见了鬼了,有的数据报错,有的数据没报错。结果:异步函数内用到的内容(this.rgTaskStore.data[0].num),在异步函数外面被修改了(this.rgTaskStore.data=[];) ,如果在异步函数外面改变了他的状态,执行时先执行函数外面的内容,那么再执行函数内部的内容那么就可能出错。/* 收货确认按钮 */ private rgTaskReceive = () => { this.rgTaskService.f..

2020-11-27 11:59:18 246

原创 nginx负载均衡配置

#配置负载均衡 upstream myserver { server 192.169.88.3:8080; server 192.168.88.3:8081; } server { listen 80; server_name 192.168.88.3; location / { proxy_pass http://myserver; }}

2020-11-16 00:41:16 97

原创 搭建Nginx反向代理

修改C:\Windows\System32\drivers\etc文件夹下的hosts文件修改nginx.conf访问

2020-11-13 21:49:50 60

原创 nginx常用命令

查看版本./nginx -v启动./nginx关闭./nginx -s stop重新加载./nginx -s reload

2020-11-13 21:49:40 68

原创 类型不一致导致索引失效全表扫描。

起因今天本是高高兴兴的一天,但是接到了客户的反馈,系统刚上线不到 2个月就发现一大片的功能查询很慢,甚至有的功能查找了10分钟才查出来,有的功能就直接查不出来了(我觉得有点夸张了)。经理震怒,直呼丢人。F5查看发现一片的TABLE ACCESS FULL,很多表都是走全表扫描,有很多该建索引的字段都没有建立索引。最后只得乖乖返工。原因:tbl_key是varchar类型,goodsid是number类型。在这种情况下,Oracle会把开发者当成傻瓜,把查出来的数据先转成和条件一样的类型,然后再和条.

2020-11-09 21:18:45 615

原创 rabbitmq安装

安装erlangrpm -Uvh http://www.rabbitmq.com/releases/erlang/erlang-18.1-1.el7.centos.x86_64.rpm 安装rabbitmq-serverrpm -Uvh http://www.rabbitmq.com/releases/rabbitmq-server/v3.5.6/rabbitmq-server-3.5.6-1.noarch.rpm查看状态rpm -qa|grep rabbitmq安装命.

2020-11-08 22:55:35 97

原创 mycat搭建多主多从

编写schema.xml<?xml version="1.0"?><!DOCTYPE mycat:schema SYSTEM "schema.dtd"><mycat:schema xmlns:mycat="http://io.mycat/"> <schema name="QUAN" checkSQLschema="true" sqlMaxLimit="100"> <table name="user" dataNode="dn1" pr.

2020-11-08 04:19:45 555

原创 mysql创建多主多从

检查是否有配置过主从复制检查主从情况show slave status\G;解除原本主从关系stop slave;reset master;master1配置(192.168.88.3)编写my.cnf文件,增加以下内容#主服务器唯一IDserver-id=1#启用二进制日志log-bin=mysql-bin# 设置不要复制的数据库(可设置多个)# binlog-ignore-db=mysql# binlog-ignore-db=information_sc

2020-11-08 02:12:29 219

原创 mycat实现读写分离

编写schema.xml<?xml version="1.0"?><!DOCTYPE mycat:schema SYSTEM "schema.dtd"><mycat:schema xmlns:mycat="http://io.mycat/"> <schema name="QUAN" checkSQLschema="true" sqlMaxLimit="100"> <table name="TB_TEST" dataNode="dn1" p.

2020-11-07 04:50:09 81

原创 mycat实现读写分离

2020-11-06 00:35:25 89

原创 手写一个简单的AQS

原理:编写工具类,通过反射获取unsafe类。package com.lzq.util;import sun.misc.Unsafe;import java.lang.reflect.Field;public class UnsafeInstance { //获取Unsafe对象 public static Unsafe reflectGetUnsafe() { //通过反射机制获取到Unsafe类 Field field = null

2020-11-05 23:07:41 319

原创 mysql搭建主从复制

原理:搭建过程:192.168.88.3(master)修改my.cnf文件#mysql 服务ID,保证整个集群环境中唯一server-id=111#mysql binlog 日志的存储路径和文件名 log-bin=/var/lib/mysql/mysqlbin#log_bin#设置logbin格式 binlog_format=STATEMENT#是否只读,1 代表只读, 0 代表读写 read-only=0创建同步账户:GRANT REPLICATION SLA.

2020-11-05 00:37:26 101 1

原创 mycat垂直拆分

实例节点一:192.168.88.3节点二:节点三:schema.xml<?xml version="1.0"?><!DOCTYPE mycat:schema SYSTEM "schema.dtd"><mycat:schema xmlns:mycat="http://io.mycat/"> <schema name="QUAN_DB" checkSQLschema="false" sqlMaxLimit="100"> <ta

2020-11-04 21:09:58 91

原创 手写一个简单的HashMap

定义接口package com.lzq.MapInterface;public interface Map<K,V> { //存储 V put(K k, V v); //获取 V get(K k); //移除 V remove(K k);}编写Entry类package com.lzq.HashMap;public class Entry<K,V> { K k; V v; Entry&.

2020-11-02 19:56:23 407 1

原创 mycat的schema.xml、 修改server.xml的配置

修改schema.xml<?xml version="1.0"?><!DOCTYPE mycat:schema SYSTEM "schema.dtd"><mycat:schema xmlns:mycat="http://io.mycat/"> <!-- 逻辑库配置 --> <schema name="lzq" checkSQLschema="true" sqlMaxLimit="100"> <!-- 逻辑表配置 --&gt.

2020-11-02 00:23:24 495

原创 手写一个简单的ArrayList

定义接口package com.lzq.ArrayList;public interface List<E> { //获取实际储存内容的大小 int size(); //判断数组实际储存内容是否为空 boolean isEmpty(); //往数组中添加内容 void add(E e); //取数据 E get(int index); //删除 boolean remove(int index);}.

2020-10-31 01:17:27 768

原创 手写一个简单的LinkedList

-编写接口package com.lzq.ListInterface;public interface List<E> { //获取实际储存内容的大小 int size(); //判断数组实际储存内容是否为空 boolean isEmpty(); //往数组中添加内容 void add(E e); //取数据 E get(int index); //删除 boolean remove(int index);}

2020-10-31 01:17:12 218

原创 原型设计模式

目录1、UML2、代码3、总结原型模式属于对象的创建模式。通过给出一个原型对象来指明所有创建的对象的类型,然后用复制这个原型对象的办法创建出更多同类型的对象。1、UML抽象原型(Prototype)角色:这是一个抽象角色,通常由一个Java接口或Java抽象类实现。此角色给出所有的具体原型类所需的接口。具体原型(ConcretePrototype1/ConcretePrototype2)角色:被复制的对象。此角色需要实现抽象的原型角色所要求的接口。2、代码package com.lzq.P

2020-10-25 15:20:10 140 1

原创 elasticSearch的API

目录1、编写配置类1、增加1、编写配置类package com.quan.esapi.config;import org.apache.http.HttpHost;import org.elasticsearch.client.RestClient;import org.elasticsearch.client.RestHighLevelClient;import org.springframework.context.annotation.Bean;import org.springfra

2020-10-25 05:28:05 191

原创 elasticsearch学习笔记

目录一、快速检查集群的健康状况二、快速查看集群中有哪些索引一、自动生成id一、快速检查集群的健康状况GET /_cat/health?vgreen:每个索引的primary shard和replica shard都是active状态的yellow:每个索引的primary shard都是active状态的,但是部分replica shard不是active状态,处于不可用的状态red:不是所有索引的primary shard都是active状态的,部分索引有数据丢失了二、快速查看集群中有

2020-10-25 04:23:25 168 1

原创 Redis的启动

默认启动:redis-server启动的是6379端口配置文件启动方式:redis-server conf/redis-6381.conf杀死进程:ps -ef | grep redis-kill -s 9 7026(端口号)

2020-10-18 01:15:32 74

原创 redis持久化

redis的持久化有rdb和aof两种方式rdb存储的备份数据aof存储的是操作命令rdbsave指令方式:配置:dbfilename dump.rdb:说明:设置本地数据库文件名,默认值为 dump.rdb经验:通常设置为dump-端口号.rdbdir:说明:设置存储.rdb文件的路径经验:通常设置成存储空间较大的目录中,目录名称datardbcompression yes说明:设置存储至本地数据库时是否压缩数据,默认为 yes,采用 LZF 压缩经验:通常默认为开启状态,如果

2020-10-18 01:14:59 76

原创 Zookeeper

目录1、zookeeper应用场景2、zookeeper节点1、zookeeper应用场景zooKeeper是一个经典的分布式数据一致性解决方案,致力于为分布式应用提供一 个高性能、高可用,且具有严格顺序访问控制能力的分布式协调存储服务。维护配置信息分布式锁服务集群管理生成分布式唯一ID2、zookeeper节点一个znode大体上分为3各部分:1.节点的数据:即znode data(节点path, 节点data)的关系就像是java map中(key, value)的关系。2.节

2020-10-18 01:14:32 98

原创 UML中的类图以及类图之间的关系

目录1、类、接口和类图类接口2、类之间的关系1、类、接口和类图类类包括类名(name),属性(attribute),操作(operation)类名:是一个字符串属性:类的属性,即类的成员变量。表示:[可见性]属性名:类型[=默认值]。“可见性”表示该属性对类外的元素是否可见,包括公有(Public)、私有(Private)、受保护(Protected)和朋友(Friendly)4 种,在类图中分别用符号+、-、#、~表示。操作:是类的任意一个实例对象都可以使用的行为,是类的成员方法。表示:[可

2020-10-18 01:13:48 572

工厂设计模式

目录1、简单工厂模式2、工厂方法模式在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。也就是通过工厂方法来代替new操作的一种模式。按实际业务场景划分,工厂模式有 3 种不同的实现方式,分别是简单工厂模式、工厂方法模式和抽象工厂模式。1、简单工厂模式在简单工厂模式中创建实例的方法通常为静态(static)方法,因此简单工厂模式(Simple Factory Pattern)又叫作静态工厂方法模式(Static Factory Method Patt

2020-10-18 01:13:19 147

原创 Redis哨兵模式

目录1、简介1、简介

2020-10-05 04:38:18 59

原创 Redis主从复制

目录1、概述2、主从复制的作用3、原理1、概述为了避免单点Redis服务器故障,准备多台服务器,互相连通。将数据复制多个副本保存在不同的服务器上,连接在一起,并保证数据是同步的。即使有其中一台服务器宕机,其他服务器依然可以继续提供服务,实现Redis的高可用,同时实现数据冗余备份。2、主从复制的作用数据冗余:主从复制实现了数据的热备份,是持久化之外的一种数据冗余方式。故障恢复:当主节点出现问题时,可以由从节点提供服务,实现快速的故障恢复;实际上是一种服务的冗余。负载均衡:在主从复制的基础上,配

2020-10-04 04:30:40 273

原创 redis数据删除策略

目录1、Redis中的数据特征2、删除策略定时删除惰性删除定期删除3、逐出算法1、Redis中的数据特征Redis是一种内存级数据库,所有数据均存放在内存中,内存中的数据可以通过TTL指令获取其状态XX :具有时效性的数据-1 :永久有效的数据-2 :已经过期的数据 或 被删除的数据 或 未定义的数据2、删除策略定时删除创建一个定时器,当key设置有过期时间,且过期时间到达时,由定时器任务立即执行对键的删除操作优点:节约内存,到时就删除,快速释放掉不必要的内存占用缺点:CPU压

2020-10-03 20:54:34 147

原创 redis事务和锁

目录1、事务的基本操作2、锁的基本操作3、分布式锁4、分布式锁改良1、事务的基本操作开启事务multi执行事务exec取消事务discard2、锁的基本操作对 key 添加监视锁,在执行exec前如果key发生了变化,终止事务执行watch key1 [key2……]取消对所有 key 的监视unwatch3、分布式锁分布式锁setnx lock-key value4、分布式锁改良expire lock-key secondpexpir

2020-10-03 16:29:38 123

原创 SQL优化

目录1、概述2、查看SQL执行频率1、概述在系统开发的初期,数据量少,开发人员只需要满足功能的需求即可。但是随着系统上线时间的增加,数据量也不断增加,sql的性能问题也就暴露了出来,因此,SQL的优化很重要。2、查看SQL执行频率MySQL 客户端连接成功后,通过 show [session|global] status 命令可以提供服务器状态信息。show [session|global] status 可以根据需要加上参数“session”或者“global”来显示 session 级(当前连

2020-10-02 00:58:46 59

原创 触发器的创建、查看、删除

目录1、概述2、创建触发器3、删除触发器4、查看触发器5、案例创建insert触发器创建update触发器创建delete触发器测试1、概述触发器是与表有关的数据库对象,指在 insert/update/delete 之前或之后,触发并执行触发器中定义的SQL语句集。可以使用触发器的别名 OLD 和 NEW 来引用触发器中发生变化的记录内容,这与其他的数据库是相似的。现在触发器还只支持行级触发,不支持语句级触发(oracle可以支持句级触发器)。触发器类型 NEW 和 OLD的使用:INSERT

2020-09-19 22:32:13 926

原创 储存过程的创建,调用,删除,查看。

目录1、概述2、创建存储过程3、调用存储过程4、查看存储过程5、删除存储过程1、概述存储过程是事先经过编译并存储在数据库中的一段 SQL 语句的集合,调用存储过程可以简化应用开发人员的很多工作,减少数据在数据库和应用服务器之间的传输,对于提高数据处理的效率是有好处的。2、创建存储过程CREATE PROCEDURE procedure_name ([proc_parameter[,…]])begin        &

2020-09-19 13:21:07 377

原创 视图的增加,修改,删除,查看

目录1、什么是视图2、创建视图3、修改视图4、删除视图5、查看视图1、什么是视图视图就是把需要的字段先查询出来,方便查询。2、创建视图CREATE VIEW view_name AS SQL语句;3、修改视图CREATE OR REPLACE VIEW 视图名 AS SQL语句;或者ALTER VIEW 视图名 SQL语句;4、删除视图DROP VIEW IF EXISTS 视图名;5、查看视图SHOW TABLE STATUS LIKE ‘视图名’;...

2020-09-18 23:54:06 1151

原创 Mysql索引的创建,查看,删除。

目录1、索引的类型与分类2、索引的创建1、索引的类型与分类索引的类型:Mysql目前主要有以下几种索引类型:FULLTEXT,HASH,BTREE,RTREE。FULLTEXT即为全文索引,之前只有MyISAM引擎支持。其可以在CREATE TABLE ,ALTER TABLE ,CREATE INDEX 使用,不过目前只有 CHAR、VARCHAR ,TEXT 列上可以创建全文索引。mysql5.6以后,innodb就可以使用全文索引了。HASHHASH索引可以一次定位, 哈希算法复杂度为

2020-09-14 22:36:06 64

原创 互联网架构发展流程,从单体到微服务

互联网架构发展流程,从单体到微服务  随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进。一、单一应用架构  通俗理解:以一个应用为单位部署在一个或者多个服务器上面  所有的模块和代码都放在一起。技术不分层,这是互联网最早的架构,也是互联网发展的最早时期,所有的代码和业务都放在JSP里面,比如,JSP里面就有sql标签。优点:  开发和维护简单,像一些小医院里面的系统,使用量少,业务量和逻辑简

2020-08-30 04:01:52 691

空空如也

空空如也

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

TA关注的人

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