自定义博客皮肤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)
  • 收藏
  • 关注

原创 RabbitMQ使用

一 工作模式简介 1 简单模式 生产者发送消息到队列中,一个消费者从队列中接收消息。ps:在RabbitMQ中消费者只能从队列接收消息。 2 工作队列模式 一个消息只能被一个消费者接收,其它消费者是不能接收到同一条消息的。 应用场景:可以在消费者端...

2020-01-16 11:40:20 73

原创 新手也能看懂的 SpringBoot 异步编程指南

新手也能看懂的 SpringBoot 异步编程指南 通过本文你可以了解到下面这些知识点: Future 模式介绍以及核心思想 核心线程数、最大线程数的区别,队列容量代表什么; ThreadPoolTaskExecutor 饱和策略; SpringBoot...

2020-01-16 11:39:33 170

原创 java web是什么原理?

如果你是70、80后的程序员,你一定要看一看这篇文章,保证满满的回忆。如果你是90后,那你更要看看这篇文章,因为你能找到java web发展的历史。言归正传,Java语言能长期霸占语言排行榜一个重要的原因就是强大的web开发能力,web开发是java的基石(在EJB推出的时候当时的Sun用基石来描述EJB),所以了解java web开发原理是非常重要的。如果仅仅跟大家聊java web开发原理...

2020-01-16 11:38:32 327

原创 什么是函数式编程

定义函数式编程其实就是编写非故意副作用的程序。 课外知识——什么是函数函数简单的说就是从A(定义域)到B(值域)的一个映射过程。当然具体的函数还有各种限制,具体见链接。 所以函数式编程也应该是一个从入参到返回值的黑盒子。 概述并不是所有人在函数式编程的定义上达成了共识。一般来说,函数式编程是使用函数来编程的一种编程范式。但是这个定义并不...

2020-01-16 11:37:13 290

原创 类名作为形参和返回值

## 1. 参数传递 ### 1.1 类名作为形参和返回值(应用) * 1、类名作为方法的形参 方法的形参是类名,其实需要的是该类的对象 实际传递的是该对象的【地址值】 * 2、类名作为方法的返回值 方法的返回值是类名,其实返回的是该类的对象 实际传递的,也是该对象的【地址值】 ...

2020-01-16 11:35:51 1511 2

原创 vim使用

vi和vim都是Linux中的编辑器,不同的是,vim比较高级,可以视为vi的升级版本# vim模式 三种模式(大众的认知):命令模式、编辑模式(插入模式)、末行模式(尾行模式)。 命令模式:在该模式下是不能对文件直接编辑,可以输入快捷键进行一些操作(删除行,复制行,移动光标,粘贴等等)【打开文件之后默认进入的模式】; ...

2020-01-16 11:34:08 127

原创 Spring配置数据源

### 1.1 数据源(连接池)的作用 数据源(连接池)是提高程序性能如出现的 事先实例化数据源,初始化部分连接资源 使用连接资源时从数据源中获取 使用完毕后将连接资源归还给数据源 常见的数据源(连接池):DBCP、C3P0、BoneCP、Druid等**开发步骤** ①导入数据源的坐标和数据...

2020-01-16 11:29:18 61

原创 spring注解

@Component 使用在类上用于实例化Bean @Controller 使用在web层类上用于实例化Bean @Service 使用在service层类上用于实例化Bean @Repository 使用在dao层类上用于实例化Bean @Autowired 使用在字...

2020-01-16 11:24:58 235

原创 java基础加强

基础加强 1. ==和 equals()的区别? 2. 方法重写(Overloading)和方法重载(Overwrite)的区别? 3. 描述遇到过的异常有哪些? ==用于比较基本数据类型, 比较变量值是否相等 equals()方法:是用来比较两个对象是否相等,即实际比较的是两个...

2020-01-16 11:24:12 61

原创 简单的了解web

1. web概念概述 * JavaWeb: * 使用Java语言开发基于互联网的项目 * 软件架构: 1. C/S: Client/Server 客户端/服务器端 * 在用户本地有一个客户端程序,在远程有一个服务器端程序 2. B/S: Browser...

2020-01-16 11:22:41 116

原创 Java 单例设计模式 常见4种

Java 单例设计模式 常见4种适合功能场景主要特点饿汉式单例 Eager loading(立即加载方式)懒汉式单例 Lazy Loading(延迟加载方式)枚举单例ConcurrentHashMap容器单例适合功能场景配置文件读写对象, 数据库连接池, Spring的 IOC容器 ApplicationContext, Windows的任务管理/回收站等主要特点单例类只能实例...

2020-01-15 15:30:36 74

原创 tomcat安装启动配置

软件的架构:BS和CS Web介绍 JavaEE规范 模拟一个Tomcat Tomcat的安装、配置 Tomcat的启动与关闭 Tomcat的目录结构 Tomcat启动时常见的问题 IDEA绑定tomcat 1.软件的架构:BS和CS CS介绍 CS(Clie...

2020-01-15 15:20:43 203

原创 HashMap源码追踪

1.HashMap简介 HashMap作为开发中使用频率比较高的容器类,对HashMap底层原理的理解。有利我们写出质量更高的代码,提升系统的性能。 2.从类的层次看HashMap HashMap实现Map接口,属于集合框架中Map的一种实现,主要使用key和value存储数据。存储的元素key是不可以重复,重复的情况下,进行覆盖。 Hash...

2020-01-15 15:17:47 69

原创 java版的7种单例模式

一:懒汉,线程不安全 这种写法lazy loading很明显,但是致命的是在多线程不能正常工作。 public class Singleton{ private static Singleton instance; private Singleton(){}; public static Singleton...

2020-01-15 15:16:50 85

原创 new 和 newInstance 的区别

初始化一个类,生成一个实例的时候;newInstance() 和 new 有什么区别?用newInstance与用new是区别的,区别在于创建对象的方式不一样,前者是使用类加载机制,那么为什么会有两种创建对象方式?这个就要从可伸缩、可扩展,可重用等软件思想上解释了。Java中工厂模式经常使用newInstance来创建对象,因此从为什么要使用工厂模式上也可以找到具体答案。例如:Cl...

2020-01-15 15:16:03 144

原创 SOA架构和微服务架构的区别是什么?

1.SOA架构和微服务架构的区别 首先SOA和微服务架构一个层面的东西,而对于ESB和微服务网关是一个层面的东西,一个谈到是架构风格和方法,一个谈的是实现工具或组件。 1.SOA(Service Oriented Architecture)“面向服务的架构”:他是一种设计方法,其中包含多个...

2020-01-15 15:15:15 484

原创 git常用命令总结

Git常用命令总结git init 在本地新建一个repo,进入一个项目目录,执行git init,会初始化一个repo,并在当前文件夹下创建一个.git文件夹.git clone 获取一个url对应的远程Git repo, 创建一个local copy. 一般的格式是git clone [url]. clone下来的repo会以url最后一个斜线后面的...

2020-01-15 15:13:12 99

转载 Elasticsearch-基础介绍及索引原理分析

最近在参与一个基于Elasticsearch作为底层数据框架提供大数据量(亿级)的实时统计查询的方案设计工作,花了些时间学习Elasticsearch的基础理论知识,整理了一下,希望能对Elasticsearch感兴趣/想了解的同学有所帮助。 同时也希望有发现内容不正确或者有疑问的地方,望指明,一起探讨,学习,进步。 介绍 E...

2020-01-15 15:12:27 122

转载 ElasticSearch常见经典面试题

1.为什么要使用Elasticsearch? ​   因为在我们商城中的数据,将来会非常多,所以采用以往的模糊查询,模糊查询前置配置,会放弃索引,导致商品查询是全表扫面,在百万级别的数据库中,效率非常低下,而我们使用ES做一个全文索引,我们将经常查询的商品的某些字段,比如说商品名,描述、价格还有id这些字段我们放入我们索引库里,可以提高查询速度。 ...

2020-01-15 15:11:13 169

原创 postman模拟post请求的四种请求体

post类型的body中可以存放任意的内容格式,浏览器可以根据请求头中指定的content-type类型对请求体进行解析。下面介绍postman如何对四种典型的请求体进行模拟。一 form-data即multipart/form-data,它将表单的数据组织成Key-Value形式,用分隔符boundary(boundary可任意设置)处理成一条消息。由于有boundary隔离,所以既可...

2020-01-15 15:10:03 607

转载 flask中使用jsonify和json.dumps的区别

flask提供了jsonify函数供用户处理返回的序列化json数据,而python自带的json库中也有dumps方法可以序列化json对象,那么在flask的视图函数中return它们会有什么不同之处呢?想必开始很多人和我一样搞不清楚,只知道既然框架提供了方法就用,肯定不会错。但作为开发人员,我们需要弄清楚开发过程中各种实现方式的特点和区别,这样在我们面对不同的需求时才能做出相对合理的选择...

2020-01-13 10:42:00 152

原创 python3 拼接字符串的7种方法

python3.x拼接字符串一般有以下几种方法: 1. 直接通过(+)操作符拼接 s = 'Hello'+' '+'World'+'!' print(s) 输出结果:Hello World! 使用这种方式进行字符串连接的操作效率低下,因为python中使用 + 拼接两个字符串时会生成一个新的字符串,生成新的字符串就需...

2020-01-13 10:39:22 190

原创 Docker的基本命令(二)

docker的基本命令格式:#基本格式systemctl [参数] docker#参数详解: start 开启服务 stop 关闭 restart 重启 status 状态删除docker命令:$sudo apt-get purge docker-ce -y$sudo rm -rf /etc/do...

2020-01-13 10:32:48 113

原创 Python中的内置函数 zip用法

Python中的内置函数 zip用法语法: zip(iter1 [,iter2 [...]])zip() 函数将可迭代对象作为参数,将每个对象中对应的元素打包成一个个元组,然后返回由这些元组组成的对象。我们可以使用 list() 转换来输出列表。注意:Python2中 zip()返回的是一个列表如果各个可迭代对象的元素个数不一致,则返回长度与最短的对象相同* 相当于是解压操作,返回的是多个...

2020-01-13 10:25:35 292

原创 flask中经典错误 working outside application context

在没有获取到应用上下文current_app的情况下,进行了current_app上下文操作,会报错working outside application contex。current_app类型是LocalProxy,像全局变量一样工作,但只能在处理请求期间且在处理它的线程中访问。有两种方式来创建应用上下文。第一种当一个请求上下文被压栈时, 一个应用上下文会被一起创建。第二种是显式地调用a...

2020-01-13 10:19:19 1625

原创 数据库分库分表

分库分表的中间件比较常见的包括:cobar、TDDL、atlas、sharding-jdbc、mycatcobar:阿里b2b团队开发和开源的,属于proxy层方案。早些年还可以用,但是最近几年都没更新了,基本没啥人用,差不多算是被抛弃的状态吧。而且不支持读写分离、存储过程、跨库join和分页等操作。TDDL:淘宝团队开发的,属于client层方案。不支持join、多表查询等语法,就是基本的...

2020-01-13 10:15:14 180

原创 ubtuntu18.04安装虚拟环境

在使用ubuntu18.04搭建虚拟环境时,按照16.04的方法:一.安装虚拟命令:pip install virtualenvpip install virtualenvwrapper二.安装完虚拟环境后,提示找不到mkvirtualenv命令,须配置环境变量:# 1、创建目录用来存放虚拟环境mkdir $HOME/.virtualenvs# 2、打开~/.bashrc文件,并添加...

2020-01-13 10:11:25 267

原创 python的lambda的语法

[Python]纯文本查看复制代码? 1 g = lambda x:x+1 看一下执行的结果:g(1)>>>2g(2)>>>3所以可以这样认为,lambda作为一个表达式,定义了一个匿名函数,上例的代码x为入口参数,x+1为函数体,用函数来表示为:[Pyt...

2020-01-13 10:06:13 146

原创 Docker的核心命令1(三)

Docker镜像的搜索,查看,获取Docker镜像是什么?​镜像是一个Docker的可执行文件,其中包括运行应用程序所需的所有代码内容、依赖库、环境变量和配置文件等。通过镜像可以创建一个或多个容器。搜索镜像[Python]纯文本查看复制代码? 01 02 03 04 05 06 07 08...

2020-01-13 10:01:48 69

原创 Java多线程之间的通信

java多线程之间的通信 要实现多个线程之间的协同,如线程执行先后顺序、获取某个线程的执行结果等等。 涉及到线程之间的相互通信,分为下面四类: 1)文件共享 2)网络共享 3)变量共享 4)JDK提供的线程协调API 细分为:suspend/resume、wait/notify、park/unpark ...

2020-01-12 14:42:43 427

原创 面试Java基础之ArrayList和LinkedList的区别

前言 我们在面试的时候,经常遇到面试官问的Java基础问题,今天记录一个经常被问到的问题————ArrayList和LinkedList的区别。 二者区别 我们先说结论,然后再从源码角度去看具体实现。 前者底层是动态数组实现;后者底层是链表实现。 随机访问数据:前者快,后者慢。 插入和删除(非末尾...

2020-01-12 14:41:35 68

原创 多线程的一些需要注意的知识点

一.锁的划分 从机制来说,锁有6种。 1.自旋锁 是指当一个线程在获取锁的时候,如果锁已经被其他线程获取,那么该线程将循环等待,然后不断的判断锁是否能够被成功获取,直到获取锁才会退出循环。 2.乐观锁 假定没有冲突,在修改数据时候如果发现数据和之前获取的不一样,则读取最新数据,修改后重试。 3.悲观锁 假定...

2020-01-12 14:40:52 135

原创 Java中几种排序算法

1、冒泡排序算法 通过多次比较(相邻两个数)和交换来实现排序 public class bubble { public static void bubbleSort(int[] a) { int temp; for (int i = 1; i &l...

2020-01-12 14:40:11 114

原创 注解&junit测试

# 注解的概念 我们知道注释是程序员用文字描述程序。给其他人看的,而注解是说明程序,给计算机看的 定义:注解(Annotation),也叫元数据。一种代码级别的说明。它是JDK1.5及以后版本引入的一个特性,与类、接口、枚举是在同一个层次。它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明,注释。 概念: * JDK1.5之后的新特性...

2020-01-12 14:39:00 222

原创 web要点低配版

xml的组成元素 Xml文件的组成部分包括:文档声明、元素、元素的属性、注释、CDATA区、特殊字符、处理指令(PI:Processing Instruction)。 文档声明:必须在首行首列,属性有version(必须)、encoding、standalone; 元素:指从开始标签到结束标签的部分; 属性:元素可以在开始标签中定义属性,属性...

2020-01-12 14:35:10 85

原创 web核心

JSP: JSP的脚本:JSP定义Java代码的方式: 1. <%代码 %>:定义的java代码,在service方法中。service方法中可以定义什么,该脚本中就可以定义什么。 2. <%! 代码 %>:定义的java代码,在jsp转换后的java类的成员位置。 3. <%= 代码 %>:定义的ja...

2020-01-12 14:31:45 163

原创 Redis的操作命令

命令操作 1. redis的数据结构: * redis存储的是:key,value格式的数据,其中key都是字符串,value有5种不同的数据结构 * value的数据结构: 1) 字...

2020-01-12 14:31:09 88

原创 排序

冒泡 for (int j = 0; j < a.length - i; j++) { if (a[j] > a[j + 1]) { //交换相邻两个数 ...

2020-01-12 14:30:15 115

原创 springmvc拦截器和异常处理

SpringMVC的文件上传 1-SpringMVC的请求-文件上传-客户端表单实现(应用) 文件上传客户端表单需要满足: 表单项type=“file” 表单的提交方式是post 表单的enctype属性是多部分表单形式,及enctype=“multipart/form-data” <form actio...

2020-01-12 14:28:09 141

原创 Linux crontab 实现秒级定时任务

1 crontab 的延时:原理:通过延时方法 sleep N来实现每N秒执行。 crontab -e 输入以下语句,然后 :wq 保存退出。 [url=][/url] * * * * * /usr/bin/curl http://www.test.com* * * * *sleep5; /usr/b...

2020-01-11 18:06:08 247

空空如也

空空如也

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

TA关注的人

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