自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(217)
  • 资源 (2)
  • 收藏
  • 关注

原创 经济学十大原理

        经济学所研究的正是以下三类问题,由小到大层层递进的,前两层属于微观经济学,而最后一个则在宏观的层面。人们如何做出决策人们如何相互作用整体经济如何运行        从这三类问题出发,衍生出以下十个经济学原理。人们如何做出决策(一)人们面临得失交换(权衡取舍)     

2021-10-06 18:29:42 1485

原创 Kubernetes系列(二)架构及特性

        在了解了k8s的发展历程之后,正式进入到学习k8s的阶段,本文主要内容是K8S的整体架构的说明和K8S一些特性的概括。架构        如下图是K8S的整体架构图,Kubernetes属于主从分布式架构,主要由Master Node和Worker Node组成,还包括客户端命令行工具kubectl和其它组件。组件&nbsp

2021-10-05 16:25:44 276

原创 Kubernetes系列(一)基础概念

从最基础开始了解k8s,首先需要清楚三个问题:k8s是怎么出现的?他解决了什么问题?整体架构是什么样的,有哪些优缺点?从以上三个问题出发,本文将分为三个章节,讲述K8S的一些基础概念。发展历程    接触K8S之前,就得先了解一下云计算这个概念,因为他也是云计算中的一个产物。    云计算指的是通过网络云将巨大的数据计算处理程序分解成无数个小程序,然后通过多台服务器组成的系统进行处理和分析这些小程序得到结果并返

2021-10-05 12:54:12 220

原创 JVM系列---内存模型概览

JVM内存区域java源文件通过javac编译成java字节码文件.class通过类加载器ClassLoader加载.class文件,将class文件内容放入内存中各个区域, 那么这各个区域,分别存放的是什么东西呢?程序计数器: 程序执行的字节码指令,分支,循环,跳转,异常处理,线程恢复等基础功能。栈是运行时的单位,而堆是存储的单位。 栈解决程序的运行问题,即程序如何执行,或者说如何处理数据;堆解决的是数据存储的问题,即数据怎么放、放在哪儿。堆中存的是实例对象。栈中存的是基本数据类型和

2021-08-25 17:29:06 105

原创 JVM系列---JDK工具

文章目录常用工具使用方式jpsjmpjinfojstackjvisualVM常用工具JDK常用的一些工具都在jdk安装包的bin目录下.常用的一些工具以及作用如下图所示使用方式jpsjps 列出当前系统中所有的Java进程jps -l 输出应用程序main class的完整package名或者应用程序的jar文件完整路径名jps -v 输出传递给JVM的参数,也就是jar包的运行参数.jmpjmap -heap pid 打印堆的摘要信息,包括GC算法、堆配置信息和各内存区

2021-08-19 15:03:49 126

原创 JVM系列---监控线程

文章目录(一) 应用场景线程五种状态(二) jvisualvm 监控1. 线程等待2. 线程死循环3. 线程活锁等待4. 线程死锁(三) jstack 监控介绍使用(一) 应用场景当系统陷入hung状态的时候(系统不输出报错,也不干活)看日志只能看到大致层面的报错,但是有些线程内部的问题,很多都无法体现在日志上,就需要使用jdk自带的工具去定位错误的位置有时候系统性能不是很好,需要监控一些内存,堆栈区的使用情况线程五种状态新建:new(时间很短)运行:runnable等待:waitti

2021-08-19 13:20:28 1183

原创 Maven系列

基础mvn 基础命令:clean清除目标目录中的生成结果compile 编译源代码test-compile 编译测试代码test 运行应用程序中的单元测试package 根据项目生成 jar 文件install 在本地 Repository 中安装 jardeploy 推送到远程私服仓库使用maven命令创建一个maven项目:maven命令创建并发布项目.m2文件下面的配置是当前用户的配置,所以这个文件只对该用户生效,一般解决办法就是将这个m2中的配置和自己仓库的配置都修改。

2021-07-29 20:56:08 107

原创 探究加密技术

⌛️ 基础概念1️⃣公钥密码体制分为三个部分: 公钥、私钥、加密解密算法,加密解密过程如下:加密:通过加密算法和公钥对内容进行加密,得到密文。解密:通过解密算法和私钥对密文进行解密,得到明文。由公钥加密的内容,只能由私钥进行解密。公钥和算法都是公开的,只有私钥是保密的。大家都以使用公钥进行加密,但是只有私钥的持有者才能解密。实际使用中,会生成一对公钥和私钥,把公钥发布出去给别人使用,自己保留私钥。2️⃣ 对称加密算法加密和解密都是使用的同一个密钥。要保证安全性的话,就必须要

2021-07-26 22:52:41 153

原创 docker系列--网络

        ???? 5种网络模式默认设置是桥接模式,网络地址为172.17.0.0/16,同一主机的容器实例能够通信,但不能跨主机通信。使用 docker network list 查看有哪些网络。1️⃣host模式使用 –net=host 指定,与宿主机共享网络。容器不会虚拟出自己的网卡,配置自身IP,而是使用宿主机的 IP 和端口,如此一来,宿主机的所有设备,都会暴露给容器。2️⃣contain

2021-07-25 20:16:20 149

原创 linux文本处理三剑客

awk主要是在于BODY块,Begin和End很少用到(都只执行一次),可以理解为在Begin中定义变量,在Body中执行循环操作,在最后在那个的End中输出。例: awk 'BEGIN{FS=":";total=0} {print $1;total++;} END{print total}' a.txt具体用法过滤特定输出列:根据冒号分隔,输出第一列 awk -F ":" '{print $1}' a.txt,$0代表本行域分隔符可以理解为将文本分割为一列一列的,采用分隔符进行分割,比

2021-07-24 12:41:24 743 1

原创 docker原理----镜像

相关概念镜像是容器的运行基础,容器是镜像运行后的形态。镜像是一个包含程序运行必要依赖环境和代码的只读文件,镜像的本质是磁盘上一系列文件的集合。创建新的镜像其实也就是对已有镜像文件进行增、删、改操作。说白了就是一个分层的文件系统容器就是一套程序运行的虚拟环境,镜像就是用来构建虚拟环境的模板。同一个镜像,可以构造出多个相互独立,但是运行环境一样的容器。结构原理镜像的最底层是一个称为启动文件系统(bootfs)的镜像,bootfs的上层镜像叫作根镜像(rootfs),通常情况下是一个操作系统,如U

2021-07-17 14:27:20 215

原创 IDEA使用技巧

热部署再debug模式下,配置不重启,就能使代码生效使用局限性只能修改已有方法的方法体不能添加新成员/删除/修改已有成员的signature开启:依次点击 setting -> Build,Execution,Deployment -> Debugger -> HotSwap -> 选中Always使用:依次点击 run -> Debugging Actions -> Reload Chenge Class快捷键:依次点击 keymap ->

2021-07-15 10:19:47 76

原创 线上服务器排查

文章目录topfree -mnetstatdf -hdu -shtoptop命令查看一些cpu信息,和进程信息,如下图所示:基础信息名称说明top当前系统的时间user当前系统用户losd average过去1分钟 5分钟 15分钟 的负载total线程总数running运行中的进程数sleeping睡眠中的进程数stopped停止的进程数zombie僵尸进程数us用户进程占用CPU百分比sy

2021-07-15 09:59:48 86

原创 Gitlab实现CI/CD,集成钉钉消息推送

文章目录(一)概念简介什么是CI/CD?什么是DevOps?做CI/CD,有什么好处?(二)实现CI配置Ranner.gitlab-ci.yml文件(三)代码评审安装SonarQube集成Gitlab(四)实现CD(五)钉钉消息推送(一)概念简介什么是CI/CD?软件产业不成熟的时候,一个软件从零开始到最终交付,大概包括:规划、编码、构建、测试、发布、部署和维护。一个人可以完成上述所有工作。但随着软件的复杂度不断攀升,就开始出现了精细化分工。除了软件开发工程师之外,还有软件测试工程师,以及软件运维工

2021-07-11 17:36:37 2042 1

原创 UTF-8与Unicode编码

        作为开发人员,编写代码的时候,总归是离不开编码的,我们常见的编码格式有ASCII码,GBK,Unicode, UTF-8,平常最常见的场景就是Unicode与UTF-8之间的互转,ASCII编码一套标准的信息交换表,GBK编码也称国标,是为了方便中文用户使用。Unicode编码万国码,为了解决各个国家之间字符不同的矛盾,它的机制是转换为字节类型的,然后各个国家用自己的编码进行解码,Unicode是以两个字节

2021-02-17 10:47:46 1260

原创 @RequestBody和@RequestParam

@RequestBody可以接受简单类型的属性,也可以接受对象类型。@RequestParam总结在GET请求中,不能使用@RequestBody在POST请求中,可以使用@RequestBody和@RequestParam,但是如果使用@RequestBody,对于参数转化的配置必须统一。使用@RequestBody接受的参数是不会被Servlet转化统一放在request对象的Param参数集中,@RequestParam是可以的。一般情况下,推荐使用@RequestParam

2020-12-22 21:16:50 193

原创 python基础语法

python基础4个空格=缩进。缩进会使“复制-粘贴”功能失效。Python程序是大小写敏感的,如果写错了大小写,程序会报错。牢记仅使用Unicode和UTF-8这两种编码方式list和tuple是Python内置的有序集合,list可变,tuple不可变。if和else后面都要跟:,elif是else if的缩写。循环有两种:for x in list : 或者while xxxx :dict可用在要高速查找的地方,dict的key必须是不可变对象。set和dict类似,也是一组key的

2020-12-06 22:25:10 137

原创 python搭建

新人入职须知–(2)dmc各模块及简单流程介绍dmc模块及简单流程介绍除了上述模块,dmc核心模块正在使用java重构为hora模块。目前hora已部分取代thanos的功能。python模块配置方法(适用于fe、thanos、pandora、tassadar、overlord、behemoth、bdp-di)通用配置:git克隆代码到本地(注意项目包含子模块),pycharm打开项目工程。配置远程传输路径。1).点击Tools–Deployment–Configuration。

2020-11-16 11:41:54 235

原创 面试项目

文章目录负责功能问题与解决有待提高项目收获负责功能最热标签: 将热门标签存入redis中,用list类型存储用redistemplate将标签信息存入redis缓存中最近登录: 根据数据库中查询gmt_modified字段(最近更新),并排序,最后返回给前端页面显示。热门推荐: 也是根据浏览量,点赞评论数,从数据库中查询前几个帖子并进行排序。docker部署项目: 在docker中搭建部署环境,有mysql,redis,nginx,需要更改mysql的配置文件,才能访问docker中的数据库,

2020-11-02 14:41:48 316

原创 北京海致网聚

技术一面介绍你项目中用到的技术,项目有什么亮点?遇到过什么问题?是怎么解决的?缓存击穿,缓存穿透,缓存雪崩是什么?解决措施?缓存的处理流程: 前台请求,后台先从缓存中取数据,取到直接返回结果,取不到时从数据库中取,数据库取到后更新缓存,并返回结果,数据库也没取到,那直接返回空结果。缓存穿透: 查询一个一定不存在的数据,由于缓存未命中时需要从数据库查询,查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到数据库去查询,进而给数据库带来压力。(查不到东西)措施描述

2020-10-27 21:37:25 317

原创 SpringBoot项目的优化与部署

安装DockerDocker安装教程docker中搭建部署环境安装Mysqldocker pull mysql:5.7安装redis1.安装redisdocker pull redis:latest2.启动docker run --name myredis -p 6379:6379 -d redis redis-server --appendonly yes安装mysql1.安装mysqldocker pull mysql:5.72.启动 docker run -

2020-09-18 14:44:39 540

原创 Docker基础(一)

文章目录为什么要使用Docker?使用Docker有什么好处?CentOS安装DockerDocker原理为什么要使用Docker?减少编写代码和在生产环境中运行代码之间的延迟。使用Docker有什么好处?可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。CentOS安装Docker卸载旧版本$

2020-08-21 13:59:55 255

原创 Mybatis一级缓存

文章目录MyBatis缓存一级缓存命中场景一级缓存源码解析问题MyBatis缓存二级缓存的生命周期与程序是一个级别的,除非程序挂掉,不然,二级缓存一只都在。一级缓存与会话绑定。一级缓存命中场景默认情况下,一级缓存时直接打开的一级缓存源码解析执行器执行的时候,查看缓存,如果缓存中没有,就去数据库中找,并且设置缓存当BaseExecutor中出现update(),rollback(),falushCache(),commit(),LocalCacheScope()时,就会调用cle

2020-08-19 21:37:23 146

原创 Mybatis执行体系

文章目录MyBatis执行体系(1)动态代理(MapperProxy)(2)SQL会话(SqlSession)(3)执行器Executor1. 简单执行器(SimpleExecutor)2.可重用执行器(ReuseExecutor)3. 批处理执行器(BatchExecutor)执行器抽象类(BaseExecutor)二级缓存(CachingExecutor)总结流程(4)JDBC处理器(StatementHandler)MyBatis执行体系MyBatis是基于JDBC的sql执行框架,他工作在DA

2020-08-19 19:55:36 206

原创 发展历程

三层架构 +MVC架构--->解耦开发框架Spring:IOC(控制反转):原来我们都是自己一步一步操作,现在交给容器了,我们需要什么就去拿。AOP(面向切面):本质-动态代理,在不影响原本业务的情况下,实现动态增加功能,大量应用在日志,事务等方面。SpringBoot并不是什么新东西,就是spring的升级版。新一代javaEE的开发标准,开箱即用,有很多start启动器。它自动帮我们配置了很多东西。特性:预定大于配置微服务架构模块化,功能化例如:用户,支付,签到

2020-07-30 12:30:12 110

原创 SpringBoot脚手架,让我们一起来制作吧

序言项目的基础框架:后端是SpringBoot,前端是layui集成了如下组件:MybatisPlus:根据表,自动生成代码,简单的sql语句不用写。Druid数据源:安全可靠,还有可视化界面。Redis缓存:需要在本地开启redis。Shiro安全框架:更轻量,更简单。Swagger接口文档:自动生成接口文档,有可视化界面Async异步任务mail邮件任务Scheduling定时任务项目结构com └─daq └─springboot

2020-07-22 16:42:25 583 1

原创 SpringBoot整合Dubbo和Zookeeper

文章目录安装zookeeper安装DubboSpringBoot整合提供者模块消费者模块安装zookeeperzookeeper:注册中心,必须有。开源镜像下载地址:http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.14/解压到本地打开\zookeeper-3.4.14\bin目录中的zkServer.cmd,会出现闪退的现象找到zookeeper-3.4.14\conf目录中的zoo_scmple.cfg文件,复制一份,重命名为z

2020-07-19 17:04:17 149

原创 SpringBoot整合Shiro

文章目录shiro是什么?Shiro 核心组件整合步骤shiro是什么?官网:http://shiro.apache.org/Shiro 就是用来解决安全管理的系统化框架。它是一款主流的 Java 安全框架,不依赖任何容器,可以运行在 Java SE 和 Java EE 项目中,它的主要作用是对访问系统的用户进行身份认证、授权、会话管理、加密等操作。Shiro 核心组件用户、角色、权限给用户赋予角色,会给角色赋予权限。UsernamePasswordToken: 用来封装用户登录信

2020-07-17 23:39:13 149

原创 SpringBoot整合MybatisPlus

整合MybatisPlus1.导入MybatisPlus依赖和Velocity模版引擎<!--mybatis-plus--><dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.3.1.tmp</version></dependency

2020-07-16 23:13:35 158

原创 SpringBoot整合redis

序言SpringBoot 操作数据的有:spring-data jpa,jdbc ,mongodb ,redis!项目中必不可少redis,它是非关系型数据库,有很多应用场景,如存储个人信息,最近浏览,评论等等,更重要的是,用redis当做缓存,可以大大减轻数据库访问的压力,提高访问效率。java操作redis, 在 SpringBoot2.x 之后,原来使用的jedis 被替换为了 lettuce。jedis : 底层采用的直连,如果多个线程操作的话是不安全的,如果想要避免不安全的,使用 je

2020-07-16 12:15:36 239

原创 SpringBoot配置Druid数据源

整合Druid数据源1.导入Druid数据源<!--Druid 数据源--><dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.21</version></dependency><!--文件引入依赖--><dependency> &lt

2020-07-16 11:57:01 405

原创 学Swagger,这篇文章就够了

文章目录为什么要学swaggerSpringBoot集成Swagger初始配置配置扫描接口Swagger开关API分组配置为什么要学swagger自动生成API接口文档!!!由于前后端无法做到及时协商,尽早解决,沟通不便,开发迟缓swagger号称世界上最流行的API框架Restful Api 文档在线自动生成器,可以直接运行,在线测试APISpringBoot集成Swagger初始配置添加maven依赖<!--swagger依赖--><dependency&g

2020-07-14 22:37:53 395 2

原创 PAT考试

PAT是什么?浙江大学计算机程序设计能力考试(Programming Ability Test)考试时间:每年三次,3,8,11月甲乙两个等级,考试三个小时,成绩当场出,证书当场领。甲级共四题,分数为:20、25、25、30。乙级共五题,分数为:15、20、20、20、25。武汉考点:武汉工程大学,武汉科技大学黄家湖校区。考试重点乙级(Basic Level)中文题,数据结构与算法甲级(Advanced Level)英文题,数据结构与高级算法刷题方式官网刷题:ht

2020-07-03 09:52:44 1432

原创 Redis进阶

文章目录阅读Redis.confRedis持久化Redis发布订阅Redis主从复制Redis缓存穿透和雪崩阅读Redis.confredis启动的时候,就通过配置文件Redis.conf来启动!配置文件 unit单位对大小写不敏感!可以包含其他的配置文件网络bind 127.0.0.1 # 绑定的ipprotected-mode yes# 保护模式port 6379# 端口设置通用 GENERALdaemonize yes# 以守护进程的方式运行,默认是 no,我们需要

2020-06-26 13:38:53 785

原创 Redis事务了解以及整合SpringBoot

文章目录Redis事务监控 WatchJedisRedis事务事务Redis 事务本质: 一组命令的集合!一个事务中的所有命令都会被序列化,在事务执行过程的中,会按照顺序执行!一次性、顺序性、排他性、执行一些列的命令!Redis事务没有没有隔离级别的概念!所有的命令在事务中,并没有直接被执行!只有发起执行命令的时候才会执行!Redis单条命令式保存原子性的,但是事务不保证原子性!redis的事务:开启事务(multi)命令入队(…)执行事务(exec)取消事务 (DISCARD)

2020-06-25 22:20:41 155

原创 Redis数据类型

文章目录RedisKey基本命令String字符串List列表Set集合Hash哈希Zset有序集合Geospatial地理位置Hyperloglog基数统计Bitmap位图场景RedisKey基本命令set name daq 设置keykeys * 查看所有的keyget name 获取到keyEXISTS name 判断当前的key是否存在move name 1 移除当前的keyEXPIRE name 10 设置key的过期时间,单位是秒ttl name 查看当前key

2020-06-25 20:41:23 198

原创 Redis入门了解

文章目录Redis是什么 ?Redis能做什么?Redis的特性linux安装redis基础知识Redis是什么 ?Redis(Remote Dictionary Server ),远程字典服务它是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。免费和开源,是当下最热门的 NoSQL 技术之一,也被人们称之为结构化数据库。redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了ma

2020-06-25 18:25:32 152

原创 数据结构与算法思想

文章目录数组与矩阵数组稀疏矩阵线性表顺序表链表顺序存储与链式存储对比队列栈广义表树与二叉树树的遍历反向构造二叉树树转二叉树查找二叉树(排序二叉树)最优二叉树(哈弗曼树)线索二叉树平衡二叉树图图的概念图的存储--邻接矩阵图的存储--邻接表图的遍历拓补排序图的最小生成树数组与矩阵数组稀疏矩阵记公式面对考试使用代入法,将矩阵中的数值代入选项的公式中,排除掉错误答案例如:A0.0应该存储在数组的M[1]中,所以将i=0,j=0代入,应该得到M[1],以此类推,再代入其他值。线性表顺序

2020-06-23 16:10:03 629

原创 Nosql概述

为什么要用Nosql1、单机MySQL的年代       90年代,一个基本的网站访问量一般不会太大,更多的去使用静态网页 Html ,单个数据库完全足够,服务器根本没有太大的压力。数据量如果太大、一个机器放不下了数据的索引(B+ Tree),一个机器内存也放不下访问量(读写混合),一个服务器承受不了2、Memcached(缓存) + MySQL + 垂直拆分(读写分离)    &

2020-06-22 21:31:24 152

原创 ConcurrentHashMap解读

文章目录前言JDK1.7大致了解源码分析归纳总结JDK1.8大致了解源码分析归纳总结前言HashMap: 在多线程情况下,put操作的时候,插入的元素超过了容量(由负载因子决定)的范围就会触发扩容操作,这个会重新将原数组移动到到新的扩容数组中,在多线程的环境下,存在同时其他的元素也在进行put操作,如果hash值相同,可能出现同时在同一数组下用链表表示,造成闭环,导致在get时会出现死循环,这也造成了HashMap线程不安全。JDK1.7大致了解源码分析归纳总结JDK1.8大致了解源码

2020-06-16 14:41:57 557

spring-framework-4.0.0.RELEASE.7z

Spring源码jar包下载

2020-04-21

百度网盘链接.txt

一份囊括了java学习路线上所有说明文档的资料,只有你想不到,没有我找不到的,包含:jdk,html,css,js,ajax,javaee,mysql,dom4j,Spring等等等,总之就是一本大全。

2020-04-21

空空如也

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

TA关注的人

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