- 博客(24)
- 问答 (3)
- 收藏
- 关注
原创 Seata+Nacos 配置
Seata 分布式事务 + Nacos注册配置中心Seata client采用AT 事务模式Seata server侧采用数据库模式seata官网: https://seata.io/zh-cn/blog/download.html预备工作确保后台已经启动 Nacos 服务。如果您尚且不熟悉 Nacos 的基本使用的话,可先行参考 Nacos 快速入门。建议使用 Nacos 1.2.0 及以上的版本。获取server服务gitee: https://gitee.com/sea
2021-04-26 14:32:38
5192
原创 Gateway+Swagger2配置聚合文档
Spring Cloud Gateway网关模块聚合各微服务的Swagger接口文档效果如下图:相关pom依赖 <!-- 网关路由代理 (仅网关)--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-gateway</arti
2021-04-25 16:23:58
1922
原创 SpringBoot中@ConditionalOnProperty来控制Bean注册是否生效
@ConditionalOnProperty这是一个springboot自动化配置的注解,它可以作用于接口、类、枚举、注解、方法之上,以实现不同配置注册不同的Bean.源码@Retention(RetentionPolicy.RUNTIME)@Target({ ElementType.TYPE, ElementType.METHOD })@Documented//组合了OnPropertyCondition,检查属性是否在环境中定义。//关于OnPropertyCondition详细内容可以参
2020-09-30 10:54:03
1663
原创 springboot事件推送
案例:用户注册成功之后往往会有额外的反复修改的不影响注册事件的事件,比如:发送短信/邮件/积分/优惠券等.上面这四种事件因注册事件的成功而发生,但是事件本身的成功与否不应该影响注册事件本身,而且这些事件在项目的整个周期中存在反复添加修改删除,所以这些事件与注册事件不应该耦合在一起.解决上面的问题除了采用MQ的方式外,spring提供了一种广播-监听的方式来实现.当注册事件成功之后,广播一天消息:xxx注册成功;众多监听者听到这条广播时,对这条广播有兴趣的会立刻回应,给XXX一张优惠券/给XXX200积分;
2020-06-29 10:54:41
687
原创 实战Java高并发程序设计(2)-Java并发基础
Java并发基础进程与线程的概念和关系线程的生命周期新建线程的四种方式(一)继承Thread类创建线程(二)实现Runnable接口创建线程(三)使用Callable和Future创建线程(四)使用线程池例如用Executor框架进程与线程的概念和关系进程是线程的容器线程的生命周期初始(NEW):新创建了一个线程对象,但还没有调用start()方法。运行(RUNNABLE):Java线程中将就绪(ready)和运行中(running)两种状态笼统的称为“运行”线程对象创建后,调用了该对象
2020-06-24 15:46:52
309
原创 实战Java高并发程序设计(1)-基础知识
概念:同步和异步并发和串行都可以表示多个任务一起执行并发偏重于交替执行并行是真正意义上的同时执行一个CPU在同一时间内只能执行一条命令,因此单核CPU只有并发,多核才会出现真实的并行临界区:被共享的数据,可以被多个线程使用,但每一次只能有一个线程使用阻塞和非阻塞:指多线程之间的相互影响阻塞:一个线程占用临界区资源,其他所有需要这个资源的线程会挂起等待资源释放,非阻塞:死锁/饥饿/活锁都属于线程活跃性问题死锁:线程之间相互阻塞相互等待饥饿:因为种种原因无法获得资源
2020-06-22 17:59:43
251
原创 记录-MySQL
如果字符集采用的是 gbk(汉字编码字符集),直接在查询语句后边添加 ORDER BY xxx如果字符集采用的是 utf8(万国码),需要先对字段进行转码然后排序:ORDER BY convert(xxx using gbk)
2020-06-10 16:25:40
128
原创 记录-JVM内存模型
Java虚拟机是整个Java平台的基石,是Java技术用以实现硬件无关与操作系统无关的关键部分,是Java语言生成出极小体积的编译代码的运行平台,是保障用户机器免于恶意代码损害的屏障。Java虚拟机可以看做一 台抽象的计算机。如同真实的计算机那样,它有自己的指令集以及各种运行时内存区域。使用虚拟机来实现一门程序设计语言是相当常见的,业界中流传最为久远的虚拟机可能是UCSDPascal的P一Code虚拟机。Java虚拟机并不局限于特定的实现技术、主机硬件和操作系统。Java虚拟机也不局限于特定的代码执..
2020-06-02 17:50:53
216
原创 记录-HashMap
1.7和1.8的区别1.数据结构不一样,1.7采用数组+链表,1.8采用数组+链表+红黑树1.8中当链表长度超过阈值8时自动把链表转换为红黑树.个数多时链表的查询成本大于红黑树,能提高发放效率.之所以转树阈值是8,是因为红黑树占用的内存大于链表(一个数据点相当于两倍常规节点大小),而且单个桶内元素超过8个的概率比较小.之所以转换阈值是6,是因为需要避免在链表和红黑树直接频繁转换2.链...
2020-04-26 14:22:02
149
原创 记录-SpringBoot相关
Spring:spring是一个框架,包含spring framwork,spring boot,spring cloud等.核心特性是ioc(控制反转)和aop(面向切面编程).IOC.依赖对象的创建不是由调用者完成,而是有IOC容器完成并注入到调用者.容器在对象初始化时不等对象请求就主动将依赖传递给它.AOP.是对OOP(面向对象)的一种补充,用于处理一些具有横切性质的服务。常常用于日...
2020-04-23 09:17:35
156
原创 JAXB注解及xml相关操作
简单介绍@XmlRootElement指定根节点,name指定根节点名称,nameSpace指定命名空间。@XmlAccessorType用于指定由java对象生成xml文件时对java对象属性的访问方式。常与@XmlRootElement、@XmlType一起使用。它的属性值是XmlAccessType的4个枚举值,分别为: XmlAccessType.FIELD:java对象中的所有...
2020-04-16 16:28:14
640
原创 替换jar包中的class文件并重新打包
适用于无源码jar或涉及切换环境参数及不确定影响的情况下,减少对原jar的修改一定要备份,一定要备份,一定要备份1.将原jar包下载到本地目录/Users/user/fsdownload/aa.jar2.将原jar包解压缩–原解压文件/Users/user/fsdownload/aa3.通过反编译或Java -cp 命令或idea等工具获得目标class文件4.用目标class文件替...
2020-04-16 14:57:24
3445
原创 idea自定义注释模板
自定义方法注释位置 setting > Live Template > add Live Templateabbreviation: *description:描述template text**(这里必须这样,要不然拿不到值) * 功能描述: * $param$ * @return $return$ * * @author 固定名字或$user$ * @dat...
2020-04-06 15:07:47
518
原创 idea 类正常但是import错误
无用的包可使用快捷键Ctrl+Alt+O来清除File -> Invalidate Caches/Restart 清理缓存
2019-11-05 16:07:32
8160
3
原创 MyBatis + MyBatisPlus 中遇到的一些坑
坑叨叨坑一:MyBatisPlus分页不生效坑二:一对多关联查询查询总条数错误叨叨MyBatis是很常用的持久层框架,MyBatisPlus是一个 MyBatis 的增强工具.在实际工作中这两者就像是咖啡伴侣一样如影随形.但是总会遇到这样或那样的问题,可能是一个失误,也可能是踩了个坑坑一:MyBatisPlus分页不生效自己没开启分页插件,是谁更坑呢? @Configuration ...
2019-08-13 10:40:59
6167
原创 记一次修改MySQL数据库编码集的快捷语句
#需要把生成的语句复制并执行#生成修改指定数据库中全部表的字符集的语句select CONCAT(‘ALTER TABLE ‘,table_name,’ DEFAULT CHARACTER SET 字符集 COLLATE 排序规则;’)from information_schema.tables where table_schema=‘数据库’;#查看指定数据库中表的全部属性按字符集排序...
2019-08-02 09:21:42
271
原创 Elasticsearch系列--安装
第一步下载ElasticSearch官网ElasticSearch下载页面PS:安装时多种多样,试过yum可能是我操作有问题三次没安对,wget之后下载tar试了两次都是下载一半就失败了,最后还是在PC上下载的tar包在上传到linux上才正式完成了下载功能.解压缩刚才下载的压缩包 tar -xzf elasticsearch-7.2.0-linux-x86_64.tar.gz;PS:如...
2019-07-25 16:29:31
1867
转载 Elasticsearch系列之基础概念
ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。ElasticSearch用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。基础概念集群(cluster):由一个或多个...
2019-07-23 15:00:40
139
原创 简单介绍如何使用EXPLAIN对mysql中查询语句进行分析和总结的一些mysql优化建议
简单介绍了如何使用EXPLAIN对mysql中查询语句进行分析和总结的一些mysql优化建议
2019-06-23 16:01:18
260
原创 记录-java设计模式之代理模式
定义对其他对象提供一种代理以控制对这个对象的访问。代理模式的思想是为了提供额外的处理或者不同的操作而在实际对象与调用者之间插入一个代理对象。这些额外的操作通常需要与实际对象进行通信。(源自百度百科)代理分为静态代理和动态代理静态代理是指在编程过程中已经预先绑定了代理和被代理关系。优点:通过代理能保证被代理对象的通用性,保证被代理对象的简洁。缺点:当被代理对象发生变动,比如新增...
2019-06-13 16:44:43
91
原创 关于SpringBoot启动后自动关闭的问题
从http://start.spring.io/ 构建的Springboot新项目,在本地启动之后自动关闭。当时的信息没有截图,大概意思是:不会出现错误信息,会明确提示项目已启动包含启动时间和jvm启动时间,接下来会出现几个线程日志,这几个日志描述的是Closing Springboot信息、shutdown 信息、Unregistering JMX等大概5条左右。总结一下自己找到的...
2019-06-12 12:21:19
28930
6
原创 记录-JAVA设计模式之单例模式
JAVA设计模式之单例模式定义特点单例与静态类(纯静态方法和静态属性组成的类)应用场景写法饿汉式懒汉式内部类枚举定义单例模式最初的定义出现于《设计模式》(艾迪生维斯理, 1994):“保证一个类仅有一个实例,并提供一个访问它的全局访问点。”Java中单例模式定义:“一个类有且仅有一个实例,并且自行实例化向整个系统提供。”特点单例类只有一个实例对象;该单例对象必须由单例类自行创建;单...
2019-06-10 13:42:17
160
原创 Git 2.21.0安装教程
Git 2.21.0安装教程获取安装包第一步 直接下一步第二步 选择安装位置第三步 组件 推荐选择默认组件,桌面图标看个人。第四步 创建开始菜单目录第五步 选择git使用的编辑器从上往下依次是Nano,Vim ,Notepad++ ,Visual Studio Code,Visual Studio Code insiders,Sublime Text,atom,以上选项点击蓝...
2019-04-18 12:01:01
7596
空空如也
请教:为什么final修饰方法会导致依赖注入为null?
2021-05-24
微服务项目结构选择问题
2021-04-25
macos远程windows桌面 无法使用alt键并且无法输入中文?
2020-03-25
TA创建的收藏夹 TA关注的收藏夹
TA关注的人