自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

丢失了名字的琥珀川

一只梦想画插画的程序猿

  • 博客(119)
  • 收藏
  • 关注

原创 【多线程与高并发】告诉你二者的区别

文章目录高并发1.高并发的处理指标2.高并发解决方案多线程高并发和多线程的关系和区别高并发高并发(High Concurrency)是一种系统运行过程中遇到的一种“短时间内遇到大量操作请求”的情况,主要发生在web系统集中大量访问收到大量请求(例如:12306的抢票情况;天猫双十一活动)。该情况的发生会导致系统在这段时间内执行大量操作,例如对资源的请求、数据库的操作等。1.高并发的处理指标高并发相关常用的一些指标有:响应时间、吞吐量、每秒查询率QPS、并发用户数响应时间(Response T

2020-07-15 21:19:08 1203 1

原创 【跨域】使用CorsConfig和注解,解决跨域

文章目录什么是浏览器的跨域1.同源策略2.Ajax 跨域3.为什么要有跨域跨域的解决方式什么是浏览器的跨域1.同源策略1995年,同源政策由 Netscape 公司引入浏览器。目前,所有浏览器都实行这个政策。最初,它的含义是指,A 网页设置的 Cookie,B 网页不能打开,除非这两个网页“同源”。所谓“同源”指的是“三个相同”:协议相同域名相同端口相同同源政策的目的,是为了保证用户信息的安全,防止恶意的网站窃取数据。设想这样一种情况:A 网站是一家银行,用户登录以后,A 网站在用户的

2020-07-15 09:13:15 4316 3

原创 【ThreadPoolExecutor源码解析】

文章目录1、常用变量的解释2、构造方法3、提交执行task的过程4、addworker源码解析5、线程池worker任务单元6、核心线程执行逻辑-runworker1、常用变量的解释// 1. `ctl`,可以看做一个int类型的数字,高3位表示线程池状态,低29位表示worker数量private final AtomicInteger ctl = new AtomicInteger(ctlOf(RUNNING, 0));// 2. `COUNT_BITS`,`Integer.SIZE`为32,所

2020-07-06 07:57:37 273

原创 【线程池】

线程池主要内容创建线程3种方式使用线程池的意义线程池中的容器ExecutorExecutorService自定义线程池的实现原理和流程Executors自定义线程池大小配置计算方式创建线程的3种方式1. 继承Thread类class MyThread extends Thread { @Override public void run() { System.out.println("Hello MyThread!"); }}publi

2020-07-01 08:21:01 941 6

原创 Java中的容器

前言JAVA中的容器种类很多,且各有特点。为此特意进行学习研究,写下此文,作为一点总结。若有错误,欢迎拍砖。导图我的理解首先,List是一个一个存的,Map是一对一对存的,后边我会补上的,请原谅...

2020-06-28 20:31:38 979

原创 分布式事务与分布式锁

事务:事务是由一组操作构成的可靠的独立的工作单元,事务具备ACID的特性,即原子性、一致性、隔离性和持久性。本地事务:当事务由资源管理器本地管理时被称作本地事务。本地事务的优点就是支持严格的ACID特性,高效,可靠,状态可以只在资源管理器中维护,而且应用编程模型简单。但是本地事务不具备分布式事务的处理能力,隔离的最小单位受限于资源管理器。全局事务:当事务由全局事务管理器进行全局管理时成为全局事务,事务管理器负责管理全局的事务状态和参与的资源,协同资源的一致提交回滚。TX协议:应用或者应用服务器与事务管

2020-06-21 21:31:29 166

原创 SpringBoot+Mysql+悲观锁/乐观锁实现抢红包

前言模拟 2 万元的红包,共分为2千个可抢的小红包,有2千人同时抢夺的场景 ,模拟出现超发和如何保证数据一致性的问题。项目结构数据库表/*==============================================================*//* Table: 红包表 *//*=========================================================

2020-06-14 20:54:09 873 3

原创 EasyExcel实现springboot项目中导入导出

前言Java解析、生成Excel比较有名的框架有Apache poi、jxl。但他们都存在一个严重的问题就是非常的耗内存,poi有一套SAX模式的API可以一定程度的解决一些内存溢出的问题,但POI还是有一些缺陷,比如07版Excel解压缩以及解压后存储都是在内存中完成的,内存消耗依然很大。easyexcel重写了poi对07版Excel的解析,能够原本一个3M的excel用POI sax依然需要100M左右内存降低到几M,并且再大的excel不会出现内存溢出,03版依赖POI的sax模式。(是阿里大

2020-06-07 16:25:37 571

原创 SpringCloud 【一】

为什么出现SpringCloud AlibabaSpring Cloud Netflix项目进入到维护模式简介Spring Cloud for Alibaba,它是由一些阿里巴巴的开源组件和云产品组成的。这个项目的目的是为了让大家所熟知的 Spring 框架,其优秀的设计模式和抽象理念,以给使用阿里巴巴产品的 Java 开发者带来使用 Spring Boot 和 Spring Cloud 的更多便利。主要功能服务限流降级:默认支持 Servlet、Feign、RestTemplate、.

2020-05-31 15:05:56 117

原创 多线程与高并发【一】

启动线程3个方式Thread继承实现Runablelambda表达式/通过线程池Executors.newCacheThread线程状态迁移图线程同步synchronized(Object)锁的是对象,不是代码this/**.class锁定方法和非锁定方法可以同时执行锁升级:偏向锁–>自旋锁–>重量级锁...

2020-05-24 20:56:10 178

原创 Dubbo

前言Dubbo是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和Spring框架无缝集成。Dubbo框架,是基于容器运行的。容器是Spring。架构模型传统架构 All in One单体架构也称之为单体系统或者是单体应用。就是一种把系统中所有的功能、模块耦合在一个应用中的架构方式。优点:项目易于管理、部署简单。缺点:测试成本高、可伸缩性差、可靠性差、迭代困难、跨语言程度差、团队协作难缺点:测试成本高、可伸缩性差、可靠性差、迭代困

2020-05-17 20:14:27 151

原创 拜占庭将军问题

前言拜占庭将军问题(Byzantine failures),是由莱斯利·兰伯特提出的点对点通信中的基本问题。含义是在存在消息丢失的不可靠信道上试图通过消息传递的方式达到一致性是不可能的。因此对一致性的研究一般假设信道是可靠的,或不存在本问题。什么是?在很久很久以前,拜占庭是东罗马帝国的首都。那个时候罗马帝国国土辽阔,为了防御目的,因此每个军队都分隔很远,将军与将军之间只能靠信使传递消息。在打仗的时候,拜占庭军队内所有将军必需达成一致的共识,才能更好地赢得胜利。但是,在军队内有可能存有叛徒,扰乱

2020-05-10 16:18:54 316

原创 MySQL(高级篇)

逻辑结构一条sql语句是如何执行的嘞【逻辑架构图↓↓↓】物理结构MySQL是通过文件系统对数据和索引进行存储的。MySQL从物理结构上可以分为日志文件和数据索引文件。MySQL在Linux中的数据索引文件和日志文件都在/var/lib/mysql目录下。日志文件采用顺序IO方式存储、数据文件采用随机IO方式存储。日志文件错误日志(errorlog)默认是开启的,而且...

2020-05-03 16:32:05 258

原创 【UI设计No9】VI

什么是VIVIS即(VisualIdentitySystem),通译为视觉识别系统,是企业形象识别系统CIS(CorporateIdentitySystem)中最具传播力和感染力的层面。以无比丰富的多样的应用形式。从公司标识到办公用品,在最为广泛的层面上,进行最直接的传播,对传播企业经营理念、建立企业知名度、塑造企业形象有非常大的作用。所以,为了企业以后的发展,特制定本手册。VI的历史演...

2020-03-25 22:50:13 708

原创 【UI设计No8】易拉宝广告

关于易拉宝广告易拉宝或称海报架、展示架,广告行业内也叫易拉架、易拉得、易拉卷等,是树立式宣传海报。常见于人流多的街头通道,协助个体户式的路演推销活动,或是临时摊位。易拉宝架主要质料是塑胶或铝合金,海报材质为写真纸。易拉宝的替代品是街头横额、道旗、海报宣传、贴纸等。易拉宝广告的特点快速性、方便性、经济性易拉宝广告使用范围:展销会、现场促艄、告知性广告、会议宣传等广告。易拉宝广告版面规格...

2020-03-25 21:55:55 426

原创 【UI设计No7】单页

什么是单页DM单有两种表述,但是在本质上的意思上都是差不多的,都是强调的是直接投递或是邮寄。第一种,DM是英idirect mail advertising的省略表述,译为“直接邮寄广告”,就是通过邮寄、赠送等其他形式,将宣传品送到消费者手中,第二种,表述为direct magazine advertising译为“直投杂志广告”。DM除了用邮寄以外,还可以借助于其他媒介,如传真、杂志、电视、...

2020-03-25 21:44:49 1976

原创 【UI设计No6】名片设计

什么是名片名片的意义有三个方面。这三个方面意义的确定要依据名片持有人的具体情况而分析。宣传自我一张小小的名片其实最主要的内容是名片持有者的姓名、职业、工作单位、联络方式(电话BP机、E-mail、MSN、QQ)等,通过这些内容把名片持有人的简明个人信息标注清楚:并以此为媒体向外传播。宣传企业名片除标注清楚个人信息资料外,还要标注明白企业资料,如:企业的名称、地址及企业的业务领域等。具有...

2020-03-25 21:20:57 448 1

原创 【UI设计No5】LOGO设计

LOGO的基本概念商业标识是塑造企业形象、参与市场竟争的有力武器,是能产生信誉并凝结着经营者辛勤劳动和智慧的无形财产,我们通常称它为LOGO,它起到对徽标拥有公司的识别和推广的作用,通过形象的徽标可以让消费者记住公司主体和品牌文化。LOGO的特质易于记忆,易于识别传达清晰一致的企业形象在法律上受保护具有持久的价值各种媒介都能良好运作表现企业个性,具有创新性LOGO的形态作...

2020-03-25 21:05:49 304

原创 【UI设计No4】字体设计

字体宋体简介:宋体是起源于宋代雕版印刷时通行的一种印刷字体·宋体字的字形方正,笔画横平竖直,横细竖粗,棱角分明,结构严谨,整齐均匀,有极强的笔画规律性,从而使人在阅读时有一种舒适醒目的感觉。在现代印刷中主要用于书刊或报纸的正文部分。黑体简介机器印刷术的历史产物。至少已有一百年的历史,黑体汉字抹掉了汉字手书体的一切人为印迹及其造字渊源,没有手书的起始和收笔;它以几何学的方式确立汉字的基...

2020-03-25 11:21:36 647

原创 【UI设计No3】AI

什么是AIAdobe illustrator,常被称为"AI",是一种应用于出版、多媒体和在线图像的工业标准矢量插画的软件。作为一款非常好的矢量图形处理工具,该软件主要应用于印刷出版、海报书籍排版、专业插画、多媒体图像处理和互联网页面的制作等,也可以为线稿提供较高的精度和控制,适合生产任何小型设计到大型的复杂项目。AI的使用范围AI的打开和存储格式ai:AI的源文件格式。jpg:有...

2020-03-25 10:09:09 346

原创 Map集合

前言有一种集合:IP地址与主机名,身份证号与个人,系统用户名与系统用户对象等,这种一一对应的关系,就叫做映射。Java提供了专门的集合类用来存放这种对象关系的对象,即 java.util.Map 接口Collection 中的集合,元素是孤立存在的(理解为单身),向集合中存储元素采用一个个元素的方式存储。Map 中的集合,元素是成对存在的(理解为夫妻)。每个元素由键与值两部分组成,通...

2020-03-22 22:15:17 108

原创 IOC

Spring常用注解在具体介绍IoC和AOP之前,我们先简要说明下Spring常用注解1、@Controller:用于标注控制器层组件2、@Service:用于标注业务层组件3、@Component : 用于标注这是一个受 Spring 管理的组件,组件引用名称是类名,第一个字母小写。可以使用@Component(“beanID”) 指定组件的名称4、@Repository:用于标注数据...

2020-03-15 20:47:44 126

原创 Linux安装FastDFS

前言FastDFS是由淘宝的余庆先生所开发的一个轻量级、高性能的开源分布式文件系统。用纯C语言开发,功能丰富:文件存储、文件同步、文件访问(上传、下载)、存取负载均衡、在线扩容适合有大容量存储需求的应用或系统。同类的分布式文件系统有谷歌的GFS、HDFS(Hadoop)、TFS(淘宝)等。一、单节点FastDFS1、安装gccyum -y install gccyum inst...

2020-03-08 20:50:13 214

原创 【UI设计No1】Adobe软件介绍

Adobe常用软件简介Adobe系统公司(Adobe Systems Incorporated),是美国一家跨国电脑软件公司,总部位于加州的圣何塞,其官方大中华部门内也常以中文“奥多比”自称。主要从事多媒体制作类软件的开发,近年亦开始涉足丰富互联网应用程序、市场营销应用程序、金融分析应用程序等软件开发。PSAdobe Photoshop,是由Adobe Systems开发和发行...

2020-03-01 20:26:02 4248 1

原创 java1.8安装及环境变量配置

前言本教程适用于windows10 64位操作系统。下载并安装链接jdk1.8 提取码:t0ew安装下载之后默认安装即可。注意:安装的时候记住你的安装路径。例如我这里的安装路径是:C:\Program Files\Java\jdk1.8.0_171配置环境变量找到系统环境变量新建JAVA_HOME系统变量变量名:JAVA_HOME ,变量值:C:\Program ...

2020-02-23 20:38:09 205

原创 SpringMVC常用注解

RequestParam注解作用:把请求中的指定名称的参数传递给控制器中的形参赋值属性value:请求参数中的名称required:请求参数中是否必须提供此参数,默认值是true,必须提供代码如下/*** 接收请求 * @return */ @RequestMapping(path="/hello") public String sayHello(@RequestPara...

2020-02-16 20:31:09 120

原创 Servlet容器

前言Tomcat最早是由Sun Microsystems开发的一个Servlet容器,在1999年被捐献给ASF(Apache Software Foundation),隶属于Jakarta项目,现在已经独立为一个顶级项目。Tomcat主要实现了Java EE中的Servlet、JSP规范,同时也提供HTTP服务,是市场上非常流行的Java Web容器。目录结构...

2020-02-09 21:37:46 142 2

原创 用xshell连接VMware中的centos7

前言最近想用centos布一些东西搞一搞,但是虚拟机老切换鼠标,画面又不太友好,所以选择用xshell一、安装VMware推荐用网上的pro15,有需要可以问我要。二、安装linux在网上也可以找到,我这里用的是centos7,没有的也可以找我要一下。三、步骤查看虚拟机的地址(因为是centos7所以要用下面的命令)ip addr之后你就会发现ens33是没有ine...

2020-02-02 20:30:27 152

原创 【FastDFS】初号机

前言集合:集合是java中提供的一种容器,可以用来存储多个数据。区分集合和数组既然都是容器,它们有啥区别呢?数组的长度是固定的。集合的长度是可变的。数组中存储的是同一类型的元素,可以存储基本数据类型值。集合存储的都是对象。而且对象的类型可以不一致。在开发中一般当对象多的时候,使用集合进行存储。集合框架集合按照其存储结构可以分为两大类,分别是单列集合java.util.Coll...

2020-01-22 15:10:11 225

原创 【rabbitMQ】Linux安装

前言一个软件的生命周期中,80%的花费在于维护,代码规范降低了金钱成本和时间成本;几乎没有任何一个软件,在其整个生命周期中,均由最初的开发人员来维护,代码规范减少了工作交接过程中的交流成本。规范可以改善软件的可读性,可以让程序员尽快而彻底地理解新的设计和代码,节约了时间,提高了工作效率。编程规约命名规范命名总体原则和概述 名字应该能够标识事物的特性,并且与业务挂钩。...

2020-01-16 17:30:54 342

原创 【rabbitMQ】五种消息模型

高效能人士的七个习惯这本书不是一本普通的成功学之作,而是一本能够付诸实践的处世方法论,它让我们可以静下心来反思自己的态度。 一. 积极主动:个人愿景的原则积极主动的人在生活中更多讲“我可以……”、“我愿意……”、“我能够……”,而不是“但愿……”、“如果……就好了”,也就是把精力放在能够控制的事情上,主动创造有利于自己发展的环境,而不是怨天尤人,处处找借口。 二. 以终为始:自我领...

2020-01-07 21:33:40 3024

原创 2019年终总结

前言2019年已经结束了,公司要求每半年写一次总结,时间飞逝,也是时候做一个2019年的年终总结。Done[2019] 计算机开始接触java项目,从java基础,到接触vue、Mybatis、Spring、Maven、SpringBoot等各种前后端框架和部署项目时需要用到的nginx、Tomcat、Jenkins,方知学海无涯,越是学习,越明白自己知道的太少,需要学习的东西还有很...

2020-01-06 15:10:04 213 2

原创 【JDK1.8安装】Win10

占个位,明儿补上

2020-01-04 16:40:44 441 3

原创 redis入门

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...

2020-01-04 16:36:44 104 3

原创 【JDK1.8安装】Linux

前言有一种集合:IP地址与主机名,身份证号与个人,系统用户名与系统用户对象等,这种一一对应的关系,就叫做映射。Java提供了专门的集合类用来存放这种对象关系的对象,即 java.util.Map 接口。Collection 中的集合,元素是孤立存在的(理解为单身),向集合中存储元素采用一个个元素的方式存储。Map 中的集合,元素是成对存在的(理解为夫妻)。每个元素由键与值两部分组成,...

2019-12-22 21:17:57 148 3

原创 mybatis 批量插入mysql数据并根据唯一索引做自动去重判断的插入语句

前言此处为mybatis 操作mysql数据库实现批量插入。再根据表的唯一索引来判断数据是否重复,如果重复则更新,如果不重复则新增的xml写法

2019-12-15 20:35:39 1538 4

转载 IDEA中Git的使用

前言java.util.List接口继承自 Collection 接口。在List集合中允许出现重复的元素,所有的元素是以一种线性方式进行存储的,在程序中可以通过索引来访问集合中的指定元素特点集合和数组既然都是容器,它们有啥区别呢?它是一个元素存取有序的集合。例如,存元素的顺序是11、22、33。那么集合中,元素的存储就是按照11、22、33的顺序完成的)。它是一个带有索引的集...

2019-11-24 19:57:37 409 7

原创 CentOS 7.6 Docker安装Oracle

前言准备:阿里云服务器(装好CentOS),windows笔记本(装有Navicat),用Xshell连接服务器因为之前数据库一直用的是SQLserver和MySQL,所以想尝试用一下Oracle,又对Navicat念念不忘,所以是在服务器上装的Oracle,用Navicat连接的一、安装dockerCentOS 7 安装 docker 教程二、安装Oracle1、拉取dock...

2019-08-04 17:00:44 792 7

原创 JDBC

前言Java DataBase Connectivity Java 数据库连接, Java语言操作数据库。本质:其实是官方(sun公司)定义的一套操作所有关系型数据库的规则,即接口。各个数据库厂商去实现这套接口,提供数据库驱动jar包。我们可以使用这套接口(JDBC)编程,真正执行的代码是驱动jar包中的实现类。步骤代码实现 //1. 导入驱动jar包 //2.注...

2019-07-21 21:14:47 141 9

原创 JDK、JRE与JVM

JVMJVM(Java Virtual Machine) : java虚拟机,简称JVM,是运行所有java程序的假想计算机,是java程序的运行环境,是java最具吸引力的特征之一。我们编写的java代码,都运行在JVM上。跨平台性:任何软件运行,都要运行在操作系统上,我们用java编写的软件可以运行在任何操作系统上,这个特性称为java语言的跨平台性。是由JVM实现的,我们编写的程序...

2019-07-03 09:43:33 158 2

空空如也

空空如也

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

TA关注的人

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