104-SpringBoot基础3-配置原理 4. 自动配置原理使用Spring Boot之后,一个整合了SpringMVC的WEB工程开发,变的无比简单,那些繁杂的配置都消失不见了,这是如何做到的? 一切魔力的开始,都是从我们的main函数来的,所以我们再次来看下启动类: 123456789import org.springframework.boot.SpringApplication;import org.springframework 2020-02-02 Java #Java
104-SpringBoot基础5-整合其他框架 1、整合 SpringMVC虽然默认配置已经可以使用SpringMVC了,不过我们有时候需要进行自定义配置。 可以在 application.yml 文件中配置日志级别控制: 1234logging: level: com.itheima: debug org.springframework: info 1.1 修改端口查看SpringBoot的全局属性可知, 2020-02-02 Java #Java
104-SpringBoot基础6-项目部署 项目打包 添加项目的pom.xml插件;在pom.xml要显式的加入插件 spring-boot-maven-plugin,否则无法产生 jar 清单文件,导致打出来的 jar 无法使用命令运行; 123456789<build> <plugins> <!-- 打jar包时如果不配置该插件,打出来的jar包没有清单文件 --> < 2020-02-02 Java #Java
104-SpringBoot基础7-插件安装 在应用spring boot工程的时候;一般情况下都需要创建启动引导类Application.java和application.yml配置文件,而且内容都是一样的;为了便捷可以安装一个IDEA的插件 JBLSpringBootAppGen 在项目上右击之后可以自动生成启动引导类 Application.java 和 application.yml 配置文件。 安装插件打开IDEA的设置界面(按 2020-02-02 Java #Java
105-RabbitMQ 1 消息队列MQ概述MQ全称为Message Queue,消息队列是应用程序和应用程序之间的通信方法。 RabbitMQ是一个Erlang开发的AMQP(Advanced Message Queuing Protocol )的开源实现。 1.1 为什么使用MQ在项目中,可将一些无需即时返回且耗时的操作提取出来,进行异步处理,而这种异步处理的方式大大的节省了服务器的请求响应时间,从而提高了系统的吞吐 2020-02-02 Java #Java
106-RabbitMQ高级 1 RabbitMQ 高级特性基础案例环境搭建:目标:使用路由模式,基于SpringMVC中controller,生产者通过RabbitTemplate发送消息给消费者! 实现步骤: 创建rabbit-parent空的父工程 创建producer-publisher-confirm,Maven工程模块,用于演示生产者确认 配置消息队列 创建消息队列order.A 创建交换机order_excha 2020-02-02 Java #Java
107-SpringCloud 一、系统架构演变之路(回顾) 1.1 单一应用架构当网站流量很小时,只需要一个应用,所有功能部署在一起,减少部署节点成本的框架称之为集中式框架。此时,用于简化增删改查工作量的数据访问框架(ORM)是影响项目开发的关键。 1.2 垂直应用架构当访问量逐渐增大,单一应用增加机器带来的加速度越来越小,将应用拆成互不相干的几个应用,以提升效率。此时,用于加速前端页面开发的Web框架(MVC)是关键。 1. 2020-02-02 Java #Java
108-SpringCloud SpringCloud 总架构图 一、远程调用 Spring Cloud Feign前面学习中,使用RestTemplate大大简化了远程调用的代码: 12String baseUrl = "http://user-service/user/findById?id=1"+ id;User user = restTemplate.getForObject(baseUrl, User.class) 2020-02-02 Java #Java
109-ElasticSearch 第一章 ElasticSearch简介1.1 什么是ElasticSearchElaticsearch,简称为es,es是一个开源的高扩展的分布式全文检索引擎,它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理PB级别的数据。es也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的RESTful API来隐藏Lucene的复杂 2020-02-02 Java #Java
110-ElasticSearch 第一章 ElasticSearch编程操作1.1 创建工程,导入坐标,pom.xml坐标12345678910111213141516171819202122232425262728293031323334353637<dependencies> <dependency> <groupId>org.elasticsearch</grou 2020-02-02 Java #Java
31-markdown 语法 .md 是 markdown 文件的文件名后缀。markdown 是一种快速标记、快速排版语言,现在很多前段项目中的说明文件 readme 等都是用markdown文件编写的,而且很多企业也在在鼓励使用这种编辑方式。 1、基本符号 * - +. >基本上大部分的markdown标记都是基于这几个符号或组合,需要注意的是,如果以基本符号开头的标记,基本符号后都有一个 空格 用于分割标记符和内容 2020-01-01 markdown #markdown
分布式算法之 hash 算法 面试题某个业务有1~2亿条数据需要缓存,请问如何设计这个存储案例? 单机单台100%不可能,肯定是分布式存储,用redis如何落地? 上述问题阿里P6~P7工程案例和场景设计类必考题目,一般业界有3种解决方案 哈希取余分区 一致性哈希算法分区 哈希槽分区 1、哈希取余 hashcode % size:hash 算法是对 key 进行 hash 运算后取值,然后对节点的数量取模。接着将 key 2020-01-01 算法 #算法
Java 命令 Oracle官方文档链接 1. java命令简介java命令是用来启动一个Java程序的。 2. 命令格式123java [options] class [arguments]java [options] -jar file.jar [arguments] options:Command-line options. See Options. class:The name of the clas 2019-03-17 Java #Java
windows 安装多个版本 java Java安装下载通过官方网站下载JDK,不同的操作系统,需要下载对应版本的JDK: 官网 :http://www.oracle.com 官网最新版本:https://www.oracle.com/java/technologies/downloads/ 官网历史版本:https://www.oracle.com/cn/java/technologies/javase/javase8u 2019-03-17 Java #Java
Python 第三方模块之 APScheduler - 定时任务 介绍APScheduler的全称是Advanced Python Scheduler。它是一个轻量级的 Python 定时任务调度框架。APScheduler 支持三种调度任务:固定时间间隔,固定时间点(日期),Linux 下的 Crontab 命令。同时,它还支持异步执行、后台执行调度任务。 APScheduler基于Quartz的一个Python定时任务框架,实现了Quartz的所有功能,使用 2016-08-03 Python > Python 第三方模块 #Python #Python 第三方模块
Python 第三方模块之 Celery - 分布式任务队列 Celery简单介绍Celery 是一个基于 Python 开发的分布式异步消息任务队列,通过它可以轻松的实现任务的异步处理,如果你的业务场景中需要用到异步任务,就可以考虑使用 Celery,举几个实例场景: 你想对100台机器执行一条批量命令,可能会花很长时间 ,但你不想让你的程序等着结果返回,而是给你返回一个任务ID,你过一段时间只需要拿着这个任务id就可以拿到任务执行结果,在任务执行ing 2016-08-03 Python > Python 第三方模块 #Python #Python 第三方模块
Python 第三方模块之 DButils - 数据库连接池 使用pymysql来连接数据库时,单线程应用完全没有问题,但如果涉及到多线程应用那么就需要加锁,一旦加锁那么连接势必就会排队等待,当请求比较多时,性能就会降低了。所以我们需要使用 DButils 模块 DBUtils是Python的一个用于实现数据库连接池的模块。并允许对非线程安全的数据库接口进行线程安全包装。DBUtils来自Webware for Python。 DBUtils提供两种外部接 2016-08-03 Python > Python 第三方模块 #Python #Python 第三方模块
Python 第三方模块之 ElementTree(ET)- 解析XML文件 ElementTree是Python常用的处理XML文件的类。下面将介绍使用ElementTree解析、查找、修改XML的方法。 1、引用方法1import xml.etree.ElementTree as ET 2、一个XML例子下面所有的操作都将下面这段XML为例,我们将它保存为sample.xml。 1234567891011121314151617181920212223<?xm 2016-08-03 Python > Python 第三方模块 #Python #Python 第三方模块
Python 第三方模块之 Gevent - 协程 官网:https://www.gevent.org/ 1、gevent 简介背景介绍在现代的软件开发中,异步编程模式因其在处理 I/O 密集型任务时的高效率而越来越受到重视。Python 作为一种动态、解释型的高级编程语言,其原生的异步编程支持相对较弱。 然而,gevent 库的出现,为 Python 带来了一种全新的异步编程方式。 gevent 是一个基于协程的并发库,它基于 2016-08-03 Python > Python 第三方模块 #Python #Python 第三方模块
Python 第三方模块之 Gevent - 协程(官方) 文档:http://sdiehl.github.io/gevent-tutorial/#contributors github:https://github.com/sdiehl/gevent-tutorial github:https://github.com/panguangyu/gevent-tutorial-chinese 核心Greenletsgevent 中使用的主要模式是 G 2016-08-03 Python > Python 第三方模块 #Python #Python 第三方模块