整除及其特性 整除及其特性 整除的判定 分类判定方法示例 能被3整除各位数字之和是3的倍数7725,各位数字之和是21,21是3的倍数,所以7725能被3整除 能被9整除各位数字之和是9的倍数6084,各位数字之和是18,18是9的倍数,所以6084能被9整除 能被7整除末三位数字与剩下的数之差能被7整除1005928,末三位数字为1005,1005-928 = 77,77能被7整除,所以1005928能被7整除 能被11整除奇位数字之和与偶位数字之和的差能被11整除1331,奇位数字之和为4,偶位数字之和为4,相差为0,0可以被11整除,所以1331可以被11整除 能被6整除能同时被2和3整除2334,既可以被2整除也可以被3整除,所以2334能被6整除 除此之外,我们在判定选项数据的整除性时,经常会用到整除性的可传递性和可加减性 可传递性:如果数a能被数b整除,数b能被数c整除,则数a能被数c整除。 【示例1】42能被14整除,14能被7整除,42能被7整除。 可加减性:如果数a能被数c整除,数b能被数c整除,则(a+b)、(a-b)均能被数c整除。 【示例2】30.... 数量关系 -- 数学运算 公务员
数列形式数字推理 多级数列 等差数列 数列从第二项开始,每一项与它前面一项的差等于一个常数,这个常数称为等差数列的公差。 (1)等差数列基本形式:通过一次作差得到等差数列,称原数列为二级等差数列,通过两次作差得到等差数列,称原数列为三级等差数列。 【例】1,6,15,28,( ),66 (2)等差数列变式:数列相邻两项作差(或两次作差),得到一个简单变化的数列。 【例】67,49,55,37,43,25,( ) 特征归纳 ①等差数列主要以分析整体趋势以及个别数列项特征为主。 ②基本等差数列各数项特征不明显,一般含有0或者质数。 ③数列整体递增、递减或者增减交替,都有可能是等差数列及其变式。 ④增减无序的数列作差后一般不具有规律性,这种数列一般不是等差数列。 PS:三级等差数列的变式很少,但三级等差数列很多,在二级差无规律的情况下要坚持作差。 等比数列 数列从第二项开始,每一项与它前面一项的比值等于同一个非零常数,这个非零常数成为这个等比数列的公比。 (1)等比数列基本形式:通过一次作商得到等比数列,称原数列为二级等比数列;通过两次作商得到等比数列,称原数列为三级等比数列。 .... 数量关系 -- 数字推理 公务员
选词填空 分析对应关系 解释说明关系 解释说明关系指的是文段中的某些词句对空缺处所填词语的含义进行解释说明 类型标志词或标点符号 含有指代义的词语这、那、此、这些、这样 表同义互换的词语也就是说、或者说、即、无异于 表概括、归纳、总结说明的词语可见、因此、因而、所以 表举例论证的词语也是如此、即是例证、譬如 表解释说明的标点符号冒号、破折号 反义关系 反义关系指的是文段中的某些词句从反面或对立面对空缺处所填词语的含义进行了提示。可以通过找出句中相应词语的反义词或者分句语义相对的词语来解题 类型含义标志词 转折词转折前后意相反虽然······但是······,却,反而,然而,而,其实 否定词肯一否一意相对是······不是······,不是······而是······,并非,不能,不会 选择词二者选一意相斥是······还是······,与其······不如······,或 变化词今昔对比意相别从······到······,过去······现在······,直到 相对词前后相对意不同一些(类)······另一些(类)······,少数······大多数····.... 言语理解及表达 公务员
1、SpringBoot特点 1.1、依赖管理 父项目做依赖管理 依赖管理 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.3.4.RELEASE</version> </parent> 他的父项目 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-dependencies</artifactId> <version>2.3.4.RELEASE</version> </parent> 几乎声明了所有开发中常用的依赖的版本号,自动版本仲裁机制 开发导入starter场景启动器 1. 见到很多 spring-.... Spring Boot2自动配置 SpringBoot2
01、Spring与SpringBoot 1、Spring能做什么 1.1、Spring的能力 1.2、Spring的生态 https://spring.io/projects/spring-boot 覆盖了: web开发 数据访问 安全控制 分布式 消息服务 移动开发 批处理 ...... 1.3、Spring5重大升级 1.3.1、响应式编程 1.3.2、内部源码设计 基于Java8的一些新特性,如:接口默认实现。重新设计源码架构。 2、为什么用SpringBoot Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can "just run". 能快速创建出生产级别的Spring应用 2.1、SpringBoot优点 Create stand-alone Spring applications 创建独立Spring应用 Embed Tomcat, Jetty or Undertow directly (no n.... Spring Boot2 SpringBoot2
依赖 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.2.1.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <properties> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifact.... Spring Security SpringSecurity
热部署 <!-- 开启热部署 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional> </dependency> 1.setting中compiler开启 Build project automatically 2.Ctrl+Alt+Shift+? -> 点击Registry -> 打开Compiler.automake.allow.when.app.running 监控管理 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> <.... Spring Boot热部署、监控管理 SpringBoot
Spring Boot与dubbo ZooKeeper ZooKeeper 是一个分布式的,开放源码的分布式应用程序协调服务。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。 Dubbo Dubbo是Alibaba开源的分布式服务框架,它最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解耦合(或者最大限度地松耦合)。从服务模型的角度来看,Dubbo采用的是一种非常简单的模型,要么是提供方提供服务,要么是消费方消费服务,所以基于这一点可以抽象出服务提供方(Provider)和服务消费方(Consumer)两个角色。 docker下载zookeeper 启动zookeeper docker run --name some-zookeeper -p 2181:2181 --restart always -d zookeeper 导入依赖 <!-- Dubbo Spring Boot Starter --> <dependency> <groupId>org.apache.dubbo.... Spring Boot与分布式 SpringBoot
“认证”(Authentication),是建立一个他声明的主体的过程(一个“主体”一般是指用户,设备或一些可以在你的应用程序中执行动作的其他系统)。 “授权”(Authorization)指确定一个主体是否允许在你的应用程序执行一个动作的过程。为了抵达需要授权的店,主体的身份已经有认证过程建立。 SpringSecurity与SpringMVC 依赖 <dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-taglibs</artifactId> <version>5.1.5.RELEASE</version> </dependency> <dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-conf.... Spring Boot与安全 SpringBoot
异步任务 @EnableAsync //开启异步注解 public class SpringbootdemoApplication { @Async //异步方法 public void async() { try { Thread.sleep(3000); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println("处理中"); } 定时任务 Spring为我们提供了异步执行任务调度的方式,提供TaskExecutor 、TaskScheduler 接口。 两个注解:@EnableScheduling、@Scheduled cron表达式: 字段允许值允许的特殊字符 秒0-59, - * / 分0-59, - * / 小时0-23, - * / 日期1-31, - * ? / L W C 月份1-12, - * / 星期0-7或SUN-SAT 0,7是SUN, - * ? / L C # 特殊字符代表含义 ,枚举 -区间 *任意 /步长 ?日/星期冲突匹配 L最后.... Spring Boot与任务 SpringBoot
Elasticsearch是一个分布式搜索服务,提供Restful API,底层基于Lucene,采用多shard(分片)的方式保证数据安全,并且提供自动resharding的功能,github等大型的站点也是采用了ElasticSearch作为其搜索服务, 安装 dokcer pull elasticsearch docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -p 9200:9200 -p 9300:9300 --name 容器名称 镜像id -e设置了内存大小,防止测试环境内存不够导致启动失败,9200是默认端口 -e "discovery.type=single-node"单节点部署 Elasticsearch: 权威指南 https://www.elastic.co/guide/cn/elasticsearch/guide/2.x/index-doc.html 存储数据到 Elasticsearch 的行为叫做 索引 一个 Elasticsearch 集群可以 包含多个 索引 ,相应的每个索引可以包含多个 类型 。 这些不同.... Spring Boot与检索 SpringBoot
大多应用中,可通过消息服务中间件来提升系统异步通信、扩展解耦能力 消息服务中两个重要概念: 消息代理(message broker)和目的地(destination) 当消息发送者发送消息以后,将由消息代理接管,消息代理保证消息传递到指定目的地。 消息队列主要有两种形式的目的地 队列(queue):点对点消息通信(point-to-point) 主题(topic):发布(publish)/订阅(subscribe)消息通信 点对点式: 消息发送者发送消息,消息代理将其放入一个队列中,消息接收者从队列中获取消息内容,消息读取后被移出队列 消息只有唯一的发送者和接受者,但并不是说只能有一个接收者 发布订阅式: 发送者(发布者)发送消息到主题,多个接收者(订阅者)监听(订阅)这个主题,那么就会在消息到达时同时收到消息 消息规范 (1)JMS(Java Message Service)JAVA消息服务: 基于JVM消息代理的规范。ActiveMQ、HornetMQ是JMS实现 (2)AMQP(Advanced Message Queuing Protocol) 高级消息队列协议,.... Spring Boot与消息 SpringBoot
JSR107 Java Caching定义了5个核心接口,分别是CachingProvider, CacheManager, Cache, Entry 和 Expiry。 CachingProvider定义了创建、配置、获取、管理和控制多个CacheManager。一个应用可以在运行期访问多个CachingProvider。 CacheManager定义了创建、配置、获取、管理和控制多个唯一命名的Cache,这些Cache存在于CacheManager的上下文中。一个CacheManager仅被一个CachingProvider所拥有。 Cache是一个类似Map的数据结构并临时存储以Key为索引的值。一个Cache仅被一个CacheManager所拥有。 Entry是一个存储在Cache中的key-value对。 Expiry 每一个存储在Cache中的条目有一个定义的有效期。一旦超过这个时间,条目为过期的状态。一旦过期,条目将不可访问、更新和删除。缓存有效期可以通过ExpiryPolicy设置。 JSR-107规范 提取码:uAjL Spring缓存抽象 Cache缓存接.... Spring Boot与缓存 SpringBoot
几个重要的事件回调机制 配置在 META-INF/spring.factories ApplicationContextInitializer SpringApplicationRunListener 只需要放在 IoC 容器中 ApplicationRunner CommandLineRunner 启动流程: 1、创建 SpringApplication 对象 initialize(sources); private void initialize(Object[] sources) { //保存主配置类 if (sources != null && sources.length > 0) { this.sources.addAll(Arrays.asList(sources)); } //判断当前是否一个web应用 this.webEnvironment = deduceWebEnvironment(); //从类路径下找到META-INF/spring.factories配置的所有ApplicationContextInitializer;然后保存起来 se.... Spring Boot启动配置原理 SpringBoot
JDBC <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> 错误 java.sql.SQLException: The server time zone value '�й���ʱ��' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configu.... Spring Boot与数据访问 SpringBoot
1、简介 使用SpringBoot; 1)、创建SpringBoot应用,选中我们需要的模块; 2)、SpringBoot已经默认将这些场景配置好了,只需要在配置文件中指定少量配置就可以运行起来 3)、自己编写业务代码; 自动配置原理? 这个场景SpringBoot帮我们配置了什么?能不能修改?能修改哪些配置?能不能扩展?xxx xxxxAutoConfiguration:帮我们给容器中自动配置组件; xxxxProperties:配置类来封装配置文件的内容; 2、SpringBoot对静态资源的映射规则; @ConfigurationProperties(prefix = "spring.resources", ignoreUnknownFields = false) public class ResourceProperties implements ResourceLoaderAware { //可以设置和静态资源有关的参数,缓存时间等 WebMvcAuotConfiguration: @Override public void addResourceHandlers(Res.... Spring Boot与Web SpringBoot
市面上的日志框架:JUL、JCL、Jboss-logging、logback、log4j、log4j2、slf4j... | 日志门面 (日志的抽象层) | 日志实现 | | - | - | | JCL(Jakarta Commons Logging) SLF4j(Simple Logging Facade for Java) jboss-logging | Log4j JUL(java.util.logging) Log4j2 Logback | 左边选一个门面(抽象层)、右边来选一个实现; 日志门面: SLF4J; 日志实现:Logback; SpringBoot:底层是 Spring 框架,Spring 框架默认是用 JCL; SpringBoot 选用 SLF4j 和 logback SLF4j 的使用 如何在系统中使用 SLF4j 开发时,日志记录方法的调用,不应该调用日志类的实现类,而是调用日志抽象层的方法 给系统里面导入 slf4j 的 jar 和 logback 的实现 jar import org.slf4j.Logger; import org.slf4j.Logg.... Spring Boot与日志 SpringBoot
配置文件 SpringBoot 使用一个全局的配置文件,配置文件名是固定的;用来修改SpringBoot自动配置的默认值 application.properties 跟 yml 文件类似,二者选择其一使用 person.age=20 #map的配置形式,每个键值对分开配置 person.map.k1=v1 person.map.k2=v2 #list的配置形式,每个元素用逗号隔开 person.list=a,b,c #对象的配置形式,对象中的每个属性分开赋值 person.dog.name=dog person.dog.age=10 application.yml YAML(YAML Ain't Markup Language) 标记语言: 以前的配置文件大多都是 XML 文件 YAML:以数据为中心,比 JSON、XML 等更适合做配置文件 server: port: 8081 基本语法 k: v:表示一对键值对(值前面必须有一个空格),以空格的缩进来控制层级关系,只要是左对齐的一列数据都是同一个层级的 server: port: 8081 path: /hello 属性和值.... Spring Boot之配置 SpringBoot
示例 依赖 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.3.6.RELEASE</version> <relati.... Spring Boot入门 Java
BeanFactoryPostProcessor BeanFactoryPostProcessor:BeanFactory的后置处理器,在BeanFactory标准初始化之后调用,所有的Bean定义已经保存加载到BeanFactory,但是Bean的实例还未创建 执行时机: (1)IOC创建容器对象 (2)invokeBeanFactoryPostProcessors(beanFactory) -- 执行BeanFactoryProcessor 如何找到所有的BeanFactoryProcessor? 直接在BeanFactory中找到所有类型是BeanFactoryPostProcessor的组件,并执行他们的方法 在初始化创建其他组件之前执行 @Component public class MyBeanFactoryPostProcessor implements BeanFactoryPostProcessor { public void postProcessBeanFactory(ConfigurableListableBeanFactory configurableLi.... Spring注解驱动开发拓展 Spring
简单使用 1.导入相关依赖 <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>4.2.6.RELEASE</version> </dependency> 2.配置数据源、JdbcTemplate(Spring提供的简化数据库操作工具) @Bean public DataSource dataSource() throws PropertyVetoException { ComboPooledDataSource dataSource = new ComboPooledDataSource(); dataSource.setUser("root"); dataSource.setPassword("458974tl"); dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/test?useSSL=f.... Spring注解驱动开发之声明式事务 Java