![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 72
Brandon.Mi
这个作者很懒,什么都没留下…
展开
-
seata 1.4安装与配置
1. 下载:https://github.com/seata/seata/releases解压,注意看下里面有个README-zh.md,相关的一些脚本可以在这个文件的链接找到,因为不同的seata版本,脚本可能有差异,需要注意下。我这里把1.4.0的这个文件内容补充在下面:脚本说明client存放用于客户端的配置和SQLat: AT模式下的 undo_log 建表语句conf: 客户端的配置文件saga: SAGA 模式下所需表的建表语句spring: SpringBoot 应用支持原创 2021-01-25 16:02:27 · 3460 阅读 · 3 评论 -
钉钉机器人开发
钉钉机器人开发文档API一,先创建一个钉钉群二,添加自定义机器人三,安全设置(3选1)四, 复制webhook作为发送通知的url剩下的就是在代码里实现了因为要发送网络请求 我这边使用的是hutool工具添加maven<!--糊涂工具--><dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId>原创 2021-01-25 16:01:57 · 2035 阅读 · 0 评论 -
Kafka优化
一 , broker优化:优化处理消息的最大线程数 默认是3 可以调成CPU数+1broker处理磁盘IO线程数 CUP数*2调整log的文件刷盘策略 10000条或者1秒日志保存策略调整为72小时 不建议过多副本机制调整为2-3根据业务量调整合适的partition数量二,Producer优化:调整未发送出去消息的缓冲区大小默认发送不压缩,可以配置合适的压缩方式(Snappy)三, Consumer优化:1.启动consumer的线程数适当的增原创 2021-01-25 16:01:20 · 379 阅读 · 0 评论 -
nacos集群部署
Nacos 致力于发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,快速实现动态服务发现、服务配置、服务元数据及流量管理官方链接: https://nacos.io/zh-cn/docs/what-is-nacos.html下载编译好的压缩包:https://github.com/alibaba/nacos/releases一、Nacos环境搭建(单节点)上传资源包至Linux目录解压至/usr/local/目录tar -zxvf nacos-server-1.2.1.tar.gz原创 2021-01-25 16:00:48 · 150 阅读 · 0 评论 -
SpringBoot整合kafka集群
本文整合基于Springboot2.0+,kafka版本kafka_2.12-2.3.0,使用org.springframework.kafka来做的整合项目目录结构pom.xml依赖<dependency> <groupId>org.springframework.kafka</groupId> <artifactId>spring-kafka</artifactId> <version>2.2.6.原创 2021-01-25 16:00:18 · 1684 阅读 · 0 评论 -
SpringBoot整合ES集群
本文整合基于Springboot2.0+,es版本6.2.2,使用spring-boot-starter-data-elasticsearch来做的整合demo项目结构pom.xml 引入依赖<?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原创 2021-01-25 15:59:48 · 5439 阅读 · 0 评论 -
ElasticSearch读写底层原理及性能调优
##一,读写底层原理Elasticsearch写人数据的过程1)客户端选择一个node发送请求过去,这个node就是coordinating node(协调节点)2)coordinating node,对document进行路由,将请求转发给对应的node(有primary shard)3)实际的node上的primary shard处理请求,然后将数据同步到replica node4)coordinating node,如果发现primary node和所有replica node都搞定之后,就原创 2021-01-25 15:58:32 · 205 阅读 · 0 评论 -
Java自定义注解原理及实现
本章主要内容:1.了解注解原理,2,自定义注解(根据实际应用自定义注解打印每个接口的请求日志)一, 了解注解原理元注解元注解的作用就是注解其他注解,一般我们使用自定义注解时,就需要用元注解来标注我们自己的注解,一共有以下四个元注解1.@Target: 说明了Annotation被修饰的范围,可被用于 packages、types(类、接口、枚举、Annotation类型)、类型成员(方法、构造方法、成员变量、枚举值)、方法参数和本地变量(如循环变量、catch参数)。在Annotation类.原创 2021-01-25 15:57:59 · 755 阅读 · 0 评论 -
ConcurrentHashMap底层实现原理((JDK1.7&1.8))
目录前言ConcurrentHashMap (JDK1.7的实现)初始化put操作get操作size操作ConcurrentHashMap (JDK1.8的实现)NodeTreeNodeTreeBinput操作get操作size操作总结与思考前言我们都知道HashMap在多线程情况下,在put的时候,插入的元素超过了容量(由负载因子决定)的范围就会触发扩容操作,就是rehash,这个会重新将原...原创 2019-06-18 17:10:18 · 13248 阅读 · 6 评论 -
MyBatis中$和#的区别
动态 SQL 是 mybatis 的强大特性之一,也是它优于其他 ORM 框架的一个重要原因。mybatis 在对 sql 语句进行预编译之前,会对 sql 进行动态解析,解析为一个 BoundSql 对象,也是在此处对动态 SQL 进行处理的。在动态 SQL 解析阶段, #{ } 和 会有不同的表现1.都可以获取对象中的属性值,{ } 会有不同的表现1.都可以获取对象中的属性值,会有不同的表现...原创 2019-04-13 23:15:23 · 120 阅读 · 0 评论 -
java反射机制
####一、概述Java反射机制定义Java反射机制是在运行状态中,对于任意一个类,都能够知道这个类中的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。枚举除外** 反射机制的功能**在运行时判断任意一个对象所属的类。在运行时构造任意一个类的对象。在运行时判断任意一个类所具...原创 2019-04-13 23:13:38 · 93 阅读 · 0 评论 -
SpringMVC执行流程及工作原理
图解SpringMVC执行流程:SpringMVC执行流程:1.用户发送请求至前端控制器DispatcherServlet2.DispatcherServlet收到请求调用处理器映射器HandlerMapping。3.处理器映射器根据请求url找到具体的处理器,生成处理器执行链HandlerExecutionChain(包括处理器对象和处理器拦截器)一并返回给DispatcherServ...原创 2019-01-02 14:12:04 · 3353 阅读 · 0 评论 -
SpringMVC开发流程
要点SpringMVC简介搭建环境入门程序全注解J2EE三层使用的注解使用步骤对静态资源的处理传参方式原始方式request.getParameter()方法形参与前台参数同名对象传参地址栏传参中文乱码处理传值方式通过request.setAttribute()addObject()的方式直接返回对象配置视图解析器forward方式red...原创 2019-01-02 14:09:16 · 1135 阅读 · 0 评论 -
jxl导入/导出Excel
Aboutjxl is a pure java 5 super-project that includes Enclosure, Peermi, Enshell, and Xlp.jxl && POIjxl是一个开源的Java Excel API项目,通过Jxl,Java可以很方便的操作微软的Excel文档。除了Jxl之外,还有Apache的一个POI项目,也可以操作E...原创 2019-01-02 14:04:41 · 632 阅读 · 0 评论 -
JSP工作原理及执行流程
**JSP:**全称是Java Server Pages,它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术。JSP的本质是servlet, 通过response的printWriter返回,response的getOutputStream只能调用一次,返回流就不能返回页面刷新。#####一、JSP工作原理1.当一个JSP文件第一次被请求的时候,JSP引擎(本身也...原创 2018-12-28 14:19:00 · 5922 阅读 · 0 评论 -
数据结构(Map)
HsdhMap结构特点 1、table是一个Entry[]数组类型,而Entry实际上就是一个单向链表。哈希表的”key-value键值对”都是存储在Entry数组中的。static class Entry<K,V> implements Map.Entry<K,V> {final K key;V value;Entry<K,V> next;int hash;}2、size是Has原创 2017-06-17 01:18:28 · 275 阅读 · 0 评论 -
MySQL数据库的优化
我们究竟应该如何对MySQL数据库进行优化?下面我就从MySQL对硬件的选择、MySQL的安装、my.cnf的优化、MySQL如何进行架构设计及数据切分等原创 2017-05-17 01:34:24 · 256 阅读 · 0 评论 -
SpringBoot从入门到高级
SpringBoot从入门到高级原创 2017-09-12 12:05:54 · 445 阅读 · 0 评论 -
Lucene&全文检索
目录结构: 1.全文检索 2.Lucene入门 3.Lucene进阶全文检索一, 生活中的搜索: 1.Windows系统中的有搜索功能:打开“我的电脑”,按“F3”就可以使用查找的功能,查找指定的文件或文件夹。搜索的范围是整个电脑中的文件资源。2.Eclipse中的帮助子系统:点击HelpHelp Contents,可以查找出相关的帮助信息。搜索的范围是Eclipse的所有原创 2017-10-12 16:39:18 · 9385 阅读 · 0 评论 -
SpringBoot中使用@Scheduled创建定时任务
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl原创 2017-05-17 01:17:58 · 272 阅读 · 0 评论 -
Spring Boot使用Redis进行消息的发布与订阅
Redis 不仅提供一个NoSQL数据库,同时还提供了一套消息系统。下面我将Spring Boot使用Redis进行消息的发布与订阅具体的流程分享给大家首先引入依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starte...原创 2018-11-23 15:01:29 · 3308 阅读 · 0 评论 -
Kafka技术内幕
###第一部分:初步了解KafkaApache Kafka是一个分布式流媒体平台。这到底是什么意思?流媒体平台具有三个关键功能:发布和订阅记录流,类似于消息队列或企业消息系统。以容错的持久方式存储记录流。记录发生时的处理流。卡夫卡通常用于两类广泛的应用:1.建立实时流数据管道,在系统或应用之间可靠地获取数据2.建立对数据流进行转换或反应的实时流应用程序为了理解卡夫卡是如何做...原创 2018-11-23 15:03:55 · 451 阅读 · 1 评论 -
JPA常见注解及使用
######首先了解几个概念Spring Data:一个用于简化数据库访问,并支持云服务的开源框架,根据JPA规范封装的一套JPA应用框架。主要目标:是使得构建基于 Spring 框架应用对数据的访问变得方便快捷,**JPA:**全称Java Persistence API,是sun提出的一个对象持久化规范pom.xml依赖 &lt;!--spring data jpa--&gt; ...原创 2018-11-23 15:05:40 · 1428 阅读 · 0 评论 -
Spring AOP详解
AOPAOP(Aspect Oriented Programming),即面向切面编程,它利用一种称为"横切"的技术,剖解开封装的对象内部,并将那些影响了多个类的公共行为封装到一个可重用模块,并将其命名为"Aspect",即切面。所谓"切面",简单说就是那些与业务无关,却为业务模块所共同调用的逻辑或责任封装起来,便于减少系统的重复代码,降低模块之间的耦合度,并有利于未来的可操作性和可维护性。使...原创 2018-11-23 15:07:12 · 169 阅读 · 0 评论 -
Shiro入门教程
Shiro是一个强大的简单易用的Java安全框架,主要用来更便捷的认证,授权,加密,会话管理。Shiro首要的和最重要的目标就是容易使用并且容易理解。Shiro的特性Shiro是一个有许多特性的全面的安全框架,下面这幅图可以了解Shiro的特性:Authentication:身份认证/登录,验证用户是不是拥有相应的身份。Authorization:授权,即权限验证,验证某个已认证的...原创 2018-11-29 01:25:39 · 109 阅读 · 0 评论 -
SpringBoot日志框架logback
简单日志配置logback的介绍及配置logback的使用logback.xml配置示例#####一.简单日志配置spring boot内部使用Commons Logging来记录日志,但也保留外部接口可以让一些日志框架来进行实现,例如Java Util Logging,Log4J2还有Logback。如果你想用某一种日志框架来进行实现的话,就必须先配置,默认情况下,spring b...原创 2018-12-28 14:16:17 · 358 阅读 · 0 评论 -
SpringBoot读取配置数据的几种方式
#####SpringBoot读取配置数据的几种方式方式一: 我们通过@Value("${spring.datasource.url}")这样的方式读取PropertyPlaceholderConfigurer.properties配置数据集合,本种方式是可以适应各种应用场景,推荐使用本方式读取配置文件@Componentpublic class DbConfig { @Valu...原创 2018-12-28 14:18:01 · 3303 阅读 · 0 评论 -
java生产者与消费者
一,共享资源 使用sleep()观察数据紊乱 注意:以下几份代码其中生产者(Producer.java),消费者(Consumer.java),和测试类(TestDemo.java)都完全一样主要对共享资源文件(Resource.java)操作Resource.java共享资源//共享资源对象public class Resource {private String name;priva原创 2017-05-19 02:50:08 · 278 阅读 · 0 评论