自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 2020国赛数学建模B题 穿越沙漠思路

赛题总体定位:运筹规划。情景非常具体,数据需要少,需紧密结合情景具体建模,不要硬套模型。 编程能力要求高一点。三问都是优化模型,注意模型之间的关联。注意点:对游戏规则摸清楚,不要急着建模。涉及到路线、事件的选择,使用 0-1 变量等定义模型。最短路径基本可以数出来,考察的是最优路径以及路径前对资源的购买(收益最大)。论文中多一点路线示意图,条件分析图。代码需要跑出来,国赛会检查。一些选择上可设置小心机。第一问:在第一关和第二关的探险过程中,运用初始的资金对于资源进行合理的分配,可

2020-09-12 12:32:31 14373 1

原创 城市交通咨询模拟系统,利用该系统实现至少两种最优决策:最短路程到达、最省时到达等线路规划。

1.任务:设计一个城市交通咨询模拟系统,利用该系统实现至少两种最优决策:最短路程到达、最省时到达等线路规划。2.内容:用户驾车出行由于出行目的的不同对道路路线选择的要求也有不同。例如,有的希望在途中的路程尽可能短,有的则可能希望路程中时间最短。为了能满足广大旅客的需求,编制一个城市交通咨询模拟系统,选取城市部分位置、道路抽象为程序所需要图的顶点和边,并以城市道路长度(路程),道路的某时段的速度等信息作为图结点中的弧信息,为旅客提供这两种最优决策的交通咨询。1、主要数据类型与变量1.1 顶点,边,图的

2020-06-04 11:49:00 4721 6

原创 给定一组查找关键字(19,14,23,1,65,20,84,27,55,11,10,79)哈希函数为:H(key)=key % 13, 哈希表长为m=15,设每个记录的查找概率相等。

给定一组查找关键字(19,14,23,1,65,20,84,27,55,11,10,79)哈希函数为:H(key)=key % 13, 哈希表长为m=15,设每个记录的查找概率相等。请画出按照线性探测再散列处理冲突得到的哈希表(给出求解过程),并计算查找成功和查找失败时的平均查找长度各是多少。请画出按照链地址法处理冲突得到的哈希表,并计算查找成功和查找失败时的平均查找长度各是多少。关键字除以13取余后分别得到:6,1,10,1,0,7,6,1,3,11,10,1线性探测:成功时的平

2020-05-21 15:21:32 9913 6

原创 赫夫曼编码与解码C++实现

程序流程解释:①创建赫夫曼树:统计字符的频率由小到大放入优先队列,通过队列找出最小频率构建赫夫曼树。②生成赫夫曼编码和赫夫曼编码后的数据:通过递归遍历赫夫曼树,通过Map集合创建编码表,再使用编码表和源数据生成编码后的数据。③使用赫夫曼编码解码:通过查找编码后的数据配合编码表,通过查找方式输出对应的字符#include <iostream>#include <cstdio>#include <cstring>#include <algorithm&gt

2020-05-13 23:07:40 805 1

原创 SpringCloud中的Feign远程调用接口传参失败

我在做一个微服务调用的时候出现了被调接口传参失败问题Feign是通过http协议调用服务的,后来发现是因为Gep和Maping不一致,还有使用feign时要记得给实体类加无参构造注解同时这些注解都尽量一致,不然微服务调bug很麻烦。这是调用者这是feign的client这是被调者...

2020-03-05 21:52:44 1759 1

原创 Node Sass does not yet support your current environment: Windows 64-bit with Unsupported runtime 已解决

Node Sass does not yet support your current environment: Windows 64-bit with Unsupported runtime 已解决项目报错如下:首先cmd转到项目的路径然后执行下面两个npm命令1.卸载当前版本node sass2.重新安装node sass重启项目,成功!!!项目报错如下:首先cmd转到项目的路径然后执行...

2020-02-10 20:05:40 1036

原创 connect() to ****:8080 failed (13: Permission denied) while connecting to upstream已解决,关闭selinux

2021/07/18 16:59:19 [crit] 15597#15597: *11 connect() to 192.168.160.102:8080 failed (13: Permission denied) while connecting to upstream, client: 192.168.160.1, server: 192.168.160.102, request: “GET /favicon.ico HTTP/1.1”, upstream: “http://192.168.160.1

2021-07-18 17:04:59 893

原创 总结曾经项目中,460W的表中使用到的索引

表介绍:这是一份政府系统的人员表,总计460W人员信息。Name Code Data type Pk m Note待审核主键 Dsh_ID VARCHAR2(32) * * 待审核主键公务员主键(人员主键) Ry_ID VARCHAR2(32) 公务员主键人员所属单位类别 Dwlx VARCHAR2(2) * 系统生成,人员所属的单位类型(单位类别),参见“s01 单位类型(添加机构类型)”字典项机构编码 JGSY_CODE VARCHAR2(100) * 系统生成,人员所属机构的jgs

2021-07-03 17:04:24 312 1

原创 假设用于通信的电文由字符集{a,b,c,d,e,f,g}中的字母构成。它们在电文中出现的频度分别为

假设用于通信的电文由字符集{a,b,c,d,e,f,g}中的字母构成。它们在电文中出现的频度分别为{0.31,0.16,0.10,0.08,0.11,0.20,0.04},1)为这7个字母设计哈夫曼编码;2)为这7个字母设计等长编码,至少需要几位二进制数?3)哈夫曼编码比等长编码使电文总长压缩多少?一对左子树路径赋为0,右子树赋为1,该数据序列相应的编码分别为a=01 b=001 c=101 d=0000 e=100 f=11 g=000

2021-06-24 12:08:44 15057 2

原创 设计模式之组合模式

一张图大概搞定内容:### 组合模式定义Componentpublic abstract class Component { protected String name; public Component(String name) { this.name = name; } abstract void add(Component c); abstract void remove(Component c); abstract void di

2021-06-18 17:25:19 86

原创 蓝桥杯(国赛)—— 阶乘约数,数论解法 + 大数解法(两种方法)

问题描述定义阶乘 n! = 1 × 2 × 3 × ··· × n。请问 100! (100 的阶乘)有多少个约数。答案:39001250856960000方法一:数论任意一个正整数 X 都可以表示成若干个质数乘积的形式,即 X = p1α1 ∗ p2α2 …… ∗ pkαk约数个数 = (a1 + 1)(a2 + 1)……(ak + 1)public class 阶层约数2 { public static void main(String[] args) { int[] arr = n

2021-06-04 20:24:33 627

原创 java中的BIO、NIO、AIO,Hotspot源码与Linux内核理解NIO与Epoll,同步异步与阻塞非阻塞区别

IO模型IO模型就是说用什么样的通道进行数据的发送和接收,Java共支持3种网络编程IO模式:BIO,NIO,AIO原始的没有优化的IOBIO(Blocking IO)同步阻塞模型,一个客户端连接对应一个处理线程代码,多线程优化的BIOpublic class SocketServer { public static void main(String[] args) throws IOException { ServerSocket serverSocket = ne

2021-06-02 23:40:14 227 4

原创 字符串出现次数的TopK问题(NlogN),思路+代码

思路:1、map存储每个字符串出现的频率2、采用大顶堆来存储map的entry对象3、弹出k个元素到二维数res组里返回描述给定一个字符串数组,再给定整数k,请返回出现次数前k名的字符串和对应的次数。返回的答案应该按字符串出现频率由高到低排序。如果不同的字符串有相同出现频率,按字典序排序。对于两个字符串,大小关系取决于两个字符串从左到右第一个不同字符的 ASCII 值的大小关系。比如"ah1x"小于"ahb",“231”<”32“字符仅包含数字和字母[要求]如果字符串数组长度为N,

2021-05-27 21:14:42 578 1

原创 SQL优化总结,分页优化、关联优化、count(*)优化等

1、分页查询优化这种改写得满 足以下两个条件:主键自增且连续 结果是按照主键排序的连续主键排序的分页查询:select * from employees limit 90000,5;该 SQL 表示查询从第 90001开始的五行数据,没添加单独 order by,表示通过主键排序。我们再看表 employees ,因 为主键是自增并且连续的,所以可以改写成按照主键去查询从第 90001开始的五行数据该 SQL 表示查询从第 90001开始的五行数据,没添加单独 order by,表示通过

2021-05-26 22:41:34 1008 2

原创 如何配置项目中的线程池?监控线程池?

在我的项目有一个需求是导出报表中需要大量的IO操作,所以配置了2*NCPU的线程池数量。new ThreadPoolExecutor(corePoolSize, Runtime.getRuntime().availableProcessors() * 2, keepAliveTime,milliseconds,runnableTaskQueue, handler);要想合理地配置线程池,就必须首先分析任务特性,可以从以下几个角度来分析。任务的性质:CPU密集型任务、IO密集型任务和混合型任务

2021-05-26 18:37:38 420 1

原创 contains unrecognized parameters: [ccs_minimize_roundtrips], [ignore_throttled]]]

ElasticSearch版本和springboot不兼容问题导致:contains unrecognized parameters: [ccs_minimize_roundtrips], [ignore_throttled]]]修改对应版本:成功启动

2021-05-13 16:05:55 7424

原创 Redis高级数据类型BitMap在项目中的使用

BitMap什么是 BitMapBitMap,即位图,其实也就是 byte 数组,用二进制表示,只有 0 和 1 两个数字。如图所示:重要 API命令含义getbit key offset对key所存储的字符串值,获取指定偏移量上的位(bit)setbit key offset value对key所存储的字符串值,设置或清除指定偏移量上的位(bit)1. 返回值为该位在setbit之前的值2. value只能取0或13. offset从0开始,即使原位图只

2021-04-12 10:49:41 212

原创 PM25文本相似度算法JAVA实现

import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;public class BM25Similarity { int D;//文档的数量 double avgDocLength;//平均每篇文档的长度 Map<String, Double> idf = new HashMap<String, Double>.

2021-04-11 10:16:09 221

原创 复习总结ElasticSearch搜索引擎put的全过程,倒排索引,solr

1 说说ElasticSearch put的全过程put过程主要分为三个阶段:协调阶段:Client 客户端选择一个 node 发送 put 请求,此时当前节点就是协调节点(coordinating node)。协调节点根据 document 的 id 进行路由,将请求转发给对应的 node。这个 node 上的是 primary shard 。主要阶段:对应的 primary shard 处理请求,写入数据 ,然后将数据同步到 replica shard。primary shard 会验

2021-03-16 19:28:51 551 1

原创 复习RabbitMQ消息队列,顺序消费,保证消息不丢,不重复消费,消息失败,推和拉的使用

1 MQ有什么用?消息队列有很多使用场景,比较常见的有3个:解耦、异步、削峰。1、解耦:传统各个模块之间都要时刻关注其他模块的是否更改或者是否挂掉等等,使用消息队列,可以避免模块之间直接调将所需共享的数据放在消息队列中,对于新增业务模块,只要对该类消息感兴趣,即可订阅该类消息2、异步:不需要立即处理消息,,在之后需要的时候再慢慢处理。3、削峰:访问量骤增时,消息队列的容量可以配置的很大,如果采用磁盘存储消息,则几乎等于“无限”容量,这样一来,高峰期的消息可以被积压起来,在随后的时间内进行平滑的处理完

2021-03-16 17:24:00 1323

原创 复习Redis,单线程原理,Redis持久化策略,高可用,缓存淘汰策略等

1.1 Redis可以用来做什么?Redis最常用来做缓存,是实现分布式缓存的首先中间件;Redis可以作为数据库,实现诸如点赞、关注、排行等对性能要求极高的互联网需求;Redis可以作为计算工具,能用很小的代价,统计诸如PV/UV、用户在线天数等数据;Redis还有很多其他的使用场景,例如:可以实现分布式锁,可以作为消息队列使用。1.2 Redis和传统的关系型数据库有什么不同?Redis是一种基于键值对的NoSQL数据库,而键值对的值是由多种数据结构和算法组成的。Redis的数据都存储于内存

2021-03-15 21:37:38 257 1

原创 详谈JUC之可重入锁、LockSupport、AQS

1、题目说明 1、Synchronized 相关问题 Synchronized 用过吗,其原理是什么?你刚才提到获取对象的锁,这个“锁”到底是什么?如何确定对象的锁什么是可重入性,为什么说Synchronized 是可重入锁?JVM对Java的原生锁做了哪些优化?为什么说Synchronized是非公平锁?什么是锁消除和锁粗化?为什么说Synchronized是一个悲观锁?乐观锁的实现原理又是什么?什么是CAS,它有什么优点和缺点?乐观锁一定就是好的吗? 2、可重入锁 Reentran

2021-02-18 10:13:28 320

原创 Mysql查询截取分析(查询优化,慢查询日志,Show profiles,全局查询日志)

第 3 章 查询截取分析 1、查询优化 1.1、MySQL 优化原则 mysql 的调优大纲 慢查询的开启并捕获explain+慢SQL分析show profile查询SQL在Mysql服务器里面的执行细节和生命周期情况SQL数据库服务器的参数调优 永远小表驱动大表,类似嵌套循环 Nested Loop ...

2021-02-14 11:52:49 198

原创 Mysql索引优化分析(超详细)

第 2 章 索引优化分析 1、慢 SQL 性能下降、 SQL 慢、执行时间长、等待时间长的原因分析 查询语句写的烂索引失效: 单值索引:在user表中给name属性建个索引,create index idx_user_name on user(name)复合索引:在user表中给name、email属性建个索引,...

2021-02-14 11:50:09 517

原创 Nginx静态网站部署,Nginx反向代理与负载均衡

一、Nginx的安装与启动1、什么是NginxNginx 是一款高性能的 http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。官方测试 nginx 能够支支撑 5 万并发链接,并且 cpu、内存等资源消耗却非常低,运行非常稳定。Nginx应用场景:1、http 服务器。Nginx 是一个 http 服务可以独立提供 http 服务。可以做网页静态服务器。2、虚拟主机。可以实现在一台服务器虚拟出多个网站。例如个人网站使用的虚拟主机。3、反向代理,负载均衡。2、安装Ngin

2021-01-28 17:45:16 179

原创 快速入门RabbitMQ(详细)第二篇:RabbitMQ五种工作模式的使用及总结

4. RabbitMQ工作模式4.1. Work queues工作队列模式Work Queues 与入门程序的 简单模式 相比,多了一个或一些消费端,多个消费端共同消费同一个队列中的消息。应用场景:对于 任务过重或任务较多情况使用工作队列可以提高任务处理的速度。4.1.2. 代码Work Queues 与入门程序的 简单模式 的代码是几乎一样的;可以完全复制,并复制多一个消费者进行多个消费者同时消费消息的测试。1)生产者import com.lxs.rabbitmq.util.Connecti

2021-01-28 17:22:00 289

原创 快速入门RabbitMQ(详细)第一篇

1.1. MQ概述MQ全称 Message Queue(消息队列),是在消息的传输过程中保存消息的容器。多用于分布式系统之间进行通信。1.2.MQ的优势:MQ相当于一个中介,生产方通过MQ与消费方交互,它将应用程序进行解耦合。1.2.1、任务异步处理用户点击完下单按钮后,只需等待25ms就能得到下单响应 (20 + 5 = 25ms)1.2.3、削峰填谷如订单系统,在下单的时候就会往数据库写数据。但是数据库只能支撑每秒1000左右的并发写入,并发量再高就容易宕机。低峰期的时候并发也就1

2021-01-28 16:43:06 156

转载 docker网络问题解决办法“大全”:宿主机访问不了docker容器中web服务,容器内访问不了外网的问题的解决办法...

ubuntu kylin 15 安装docker后 ,启动包含web应用的容器,在宿主机上死活访问不了web服务。后来发现进入容器后,安装不了软件,访问不了外网。因此网上查原因,有大神说让重建docker0网络,重建的过程中,发现brctl未安装,因此安装了bridge-utils,执行如下命令,一切正常。nnd,困惑了好久!!! 重建docker0网络pkill dockeriptables -t nat -Fifconfig docker0 downbrctl delbr d

2021-01-26 17:39:10 3344 1

原创 LeetCode97. 交错字符串,给定三个字符串 s1、s2、s3,请你帮忙验证 s3 是否是由 s1 和 s2 交错 组成的。

给定三个字符串 s1、s2、s3,请你帮忙验证 s3 是否是由 s1 和 s2 交错 组成的。两个字符串 s 和 t 交错 的定义与过程如下,其中每个字符串都会被分割成若干 非空 子字符串:s = s1 + s2 + … + snt = t1 + t2 + … + tm|n - m| <= 1交错 是 s1 + t1 + s2 + t2 + s3 + t3 + … 或者 t1 + s1 + t2 + s2 + t3 + s3 + …提示:a + b 意味着字符串 a 和 b 连接。示例

2021-01-26 12:22:11 1811

原创 LeetCode149. 直线上最多的点数: 给定一个二维平面,平面上有 n 个点,求最多有多少个点在同一条直线上。

给定一个二维平面,平面上有 n 个点,求最多有多少个点在同一条直线上。示例 1:输入: [[1,1],[2,2],[3,3]]输出: 3解释:^|| o| o| o±------------>0 1 2 3 4示例 2:输入: [[1,1],[3,2],[5,3],[4,1],[2,3],[1,4]]输出: 4解释:^|| o| o o| o| o o±----------

2021-01-26 11:31:21 1112

原创 Linux下RabbitMQ安装详细教程

注意: 请使用CentOS7安装1. 安装依赖环境在线安装依赖环境:yum install build-essential openssl openssl-devel unixODBC unixODBC-devel make gcc gcc-c++ kernel-devel m4 ncurses-devel tk tc xz2. 安装Erlang上传erlang-18.3-1.el7.centos.x86_64.rpmsocat-1.7.3.2-5.el7.lux.x86_64.rpm.

2021-01-16 10:14:00 718

原创 常见的缓存处理流程:缓存穿透,缓存击穿,缓存雪崩(附代码)

缓存处理流程分析前台请求,后台先从缓存中取数据,取到直接返回结果,取不到时从数据库中取,数据库取到更新缓存,并返回结果,数据库也没取到,那直接返回空结果。缓存穿透是啥:缓存穿透是指缓存和数据库中都没有的数据,而用户不断发起请求,如发起为id为“-1”的数据或id为特别大不存在的数据。这时的用户很可能是攻击者,攻击会导致数据库压力过大。解决方案:接口层增加校验,如用户鉴权校验,id做基础校验,id<=0的直接拦截;从缓存取不到的数据,在数据库中也没有取到,这时也可以将key-value对写为k

2021-01-15 11:40:14 161

原创 ElasticSearch编程操作(非基础)

ElasticSearch编程操作1.1 创建工程,导入坐标<dependencies><dependency><groupId>org.elasticsearch</groupId><artifactId>elasticsearch</artifactId><version>5.6.8</version></dependency><dependency><grou

2021-01-14 17:38:39 105

原创 通俗易懂的ElasticSearch基础概念

2.1 什么是ElasticSearchElaticsearch,简称为es, es是一个开源的高扩展的分布式全文检索引擎,它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理PB级别的数据。es也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单。3.ElasticSearch相关概念(术语)3.1 概述Elasticsearch是面向文档(document

2021-01-14 17:25:12 346

原创 公平锁/非公平锁/可重入锁/递归锁/自旋锁/读写锁

公平锁和非公平锁公平锁是指多个线程按照申请锁的顺序来获取锁类似排队打饭 先来后到非公平锁是指在多线程获取锁的顺序并不是按照申请锁的顺序,有可能后申请的线程比先申请的线程优先获取到锁,在高并发的情况下,有可能造成优先级反转或者饥饿现象区别可重入锁(又名递归锁)是啥:实例:ReentrantLock/synchronized就是一个典型的可重入锁作用:可重入锁最大的作用就是避免死锁Demopackage cn.atguigu.interview.study.thread;cla

2020-12-29 00:40:53 145

原创 同步控制和锁,ReenterLock和Condition的详细使用

文章目录多线程团队合作:同步控制和锁1 synchronized的功能扩展: 重入锁1.1 中断响应1.2 锁申请等待限时1.3 公平锁2 重入锁的好搭档:Condition3 允许多个线程同时访问:信号量(Semaphore)4 ReadWriteLock 读写锁5 倒计数器:CoundownLatch6 线程阻塞工具类:LockSupport多线程团队合作:同步控制和锁同步控制是并发程序必不可少的重要手段。synchronized关键字就是一种最简单的控制方法。同时,wait()和notify()

2020-12-29 00:30:50 928 1

原创 HTTP与HTTPS的工作原理

  普通HTTP请求存在的问题         HTTP 本身是明文传输的,没有经过任何安全处理。例如用户在百度搜索了一个关键字,比如“苹果手机”,中间者完全能够查看到这个信息,并且有可能打电话过来骚扰用户。也有一些用户投诉使用百度时(官网:www.fhadmin.org),发现首页或者结果页面浮了一个很长很大的广告,这也肯定是中间者往页面...

2020-12-26 10:41:28 263

原创 Vue.js 组件的详细使用

一、组件(重点)组件(Component)是 Vue.js 最强大的功能之一。组件可以扩展 HTML 元素,封装可重用的代码。组件系统让我们可以用独立可复用的小组件来构建大型应用,几乎任意类型的应用的界面都可以抽象为一个组件树:1、局部组件定义组件var app = new Vue({ el: '#app', // 定义局部组件,这里可以定义多个局部组件 components: { //组件的名字 'Navbar': {

2020-12-20 13:06:32 250

原创 最精华的 SpringCloud 总结 | 第一篇: Eureka,Ribbon,Hystrix(Greenwich版本)

Spring Cloud简介Spring Cloud也是一样,它将现在非常流行的一些技术整合到一起.主要涉及的组件包括:NetflixEureka:注册中心Zuul:服务网关Ribbon:负载均衡Feign:服务调用Hystrix:熔断器版本Spring Clound 和Spring Boot版本对应关系Eureka注册中心Eureka简介:自动注册、发现、状态监控Eureka就好比是滴滴,负责管理、记录服务提供者的信息。服务调用者无需自己寻找服务,而是把自己的需求告诉Eure

2020-12-06 21:15:57 168

原创 系统架构的演变->微服务架构

1.系统架构演变网站应用的规模不断扩大,需求的激增,随之而来的是技术上的压力。系统架构也因此不断的演进、升级、迭代。从单一应用,到垂直拆分,到分布式服务,到SOA,以及现在火热的微服务架构。1.1. 集中式架构当网站流量很小时,只需要一个应用,将所有的功能都部署在一起,以减少部署节点和成本。缺点:代码耦合度高,后期维护困难无法针对不同模块进行优化无法水平扩展单点容错率低,并发能力差1.2.垂直拆分当访问量逐渐增大,单一应用无法满足需求,此时为了应对更高的并发和业务需求,我们根据业务功

2020-12-03 20:36:21 179 1

空空如也

空空如也

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

TA关注的人

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