- 博客(29)
- 资源 (1)
- 收藏
- 关注
转载 搭建 Jenkins
一、环境准备1 安装JDKhttps://blog.youkuaiyun.com/cat_pp/article/details/80075567?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnP
2020-07-03 10:46:44
183
原创 Rabbitmq服务器的搭建
Rabbitmq服务器的搭建1、安装Erlang#yum install erlang2、安装Rabbitmq-server#yum install rabbitmq-server3、配置Rabbitmq-server1)将rabbitmq的rabbitmq.config.example文件内容替换/etc/rabbitmq/rabbitmq.config2)编辑rabbitmq配置文件,开启远程访问将配置文件中"%% {loopback_users, []},",这一行的逗号去掉3)开
2020-05-11 17:36:45
500
原创 深入理解 Java 并发之 synchronized 实现原理
如果某一个资源被多个线程共享,为了避免因为资源抢占导致资源数据错乱,我么需要对锁进行同步,那么synchronized就是是西安线程同步的关键字。一、synchronized的特性1.1原子性原子性就是指一个操作或者多个操作,要么全部执行并且执行的过程不会被任何因素打断,要不就都不执行。被synchronized修饰的类或者对象的所有操作都是原子性的,因为在执行操作之前必须先获得类或者对象的锁,直到执行完才能释放,并且在执行过程中不能被打断,即保证了原子性。1.2可见性可见性就是指多个线程访问一
2020-05-11 15:55:18
288
原创 Java实现多线程的方式以及三种方式的区别
实现多线程的方式继承Thread类,重写run函数实现Runnable接口实现Callable接口三种方式的区别实现Runnable接口可以避免Java单继承特性而带来的局限;增强程序的健壮性,代码能够被多个线程共享,代码与数据是独立的;适合多个相同程序代码的线程去处理同一资源的情况。继承Thread类和实现Runnable方法启动线程都是使用start方法,然后JVM虚拟机将此线程放到就绪队列中,如果有处理机可用,则执行run方法。实现Callable接口要实现call方法,并且线程执
2020-05-10 17:56:18
204
原创 Java多线程之ThreadLocal原理详解
什么是ThreadLocal?ThreadLocal是一种避免多线程访问出现线程不安全的方法,当我们创建一个变量后,**如果每个线程对其访问的时候都是线程自己的变量,**这样就可以避免线程不安全问题,这就是ThreadLocal所做的。线程隔离特性线程隔离特性,只有在线程内才能获取到对应的值,线程外不能访问。(1)Synchronized是通过线程等待,牺牲时间来解决访问冲突,用于线程间数据共享(2)ThreadLocal是通过每个线程单独一份存储空间,牺牲空间来解决冲突,用于线程间的数据隔离T
2020-05-09 16:37:54
242
原创 Kafka、ActiveMQ、RabbitMQ、RocketMQ 都有什么区别?
对于吞吐量来说kafka和RocketMQ支撑高吞吐,ActiveMQ和RabbitMQ比他们低一个数量级。对于延迟量来说RabbitMQ是最低的。1.从社区活跃度按照目前网络上的资料,RabbitMQ 、activeMQ 、RocketMQ 三者中,综合来看,RabbitMQ 是首选。2.持久化消息比较ActiveMq 和RabbitMq 都支持。持久化消息主要是指我们机器在不可抗力因素...
2020-05-01 20:00:00
501
1
原创 用消息队列都有什么优点和缺点?
优点:在特殊情况下的有其对应的好处是解耦,异步,削峰缺点主要有以下几点:1)系统可用性降低,系统引入的外部依赖越多,越容易挂掉,MQ挂了之后导致整个系统崩溃。2)系统复杂度提高,硬生生加个MQ,怎么保证消费没有重复消费?怎么出来消费数据没有丢失?怎么保证消息传递的顺序性,一致性等问题?3)一致性问题,A系统处理完后直接将返回成功了,那么消费者B,C,D三个系统中,只有B,C系统写入库中成功...
2020-05-01 19:49:18
428
原创 什么场景使用了mq?直接掉接口不行吗?
主要是:解耦、异步、削峰。(1) 解耦: 例如,生产系统A系统发送数据到B,C,D三个系统中,通过调用接口发送。如果E系统也需要这个消息呢?那如果C系统不需要这个消息了呢?A系统与其他的系统产生严重的耦合。如果使用MQ,A系统产生一条数据,发送到MQ中,哪个系统需要数据自己到MQ里面去消费。如果新系统需要数据直接从MQ里面消费即可;当某个系统不需要这条数据了,就取消读数据的消费即可。这样下来的话...
2020-05-01 19:41:35
2781
原创 MQ面试常问的问题
1:什么场景使用了mq?直接掉接口不行吗?2:用消息队列都有什么优点和缺点?3:Kafka、ActiveMQ、RabbitMQ、RocketMQ 都有什么区别?4:那你们是如何保证消息队列的高可用的?5:如何保证消息不被重复消费啊?如何保证消费的时候是幂等的啊?6:如何保证消息的可靠性传输啊?要是消息丢失了怎么办啊?7:那如何保证消息的顺序性?8:如何解决消息队列的延时以及过期失效问...
2020-05-01 19:21:47
184
原创 JAVA中CAS-ABA的问题解决方案AtomicStampedReference
什么是CAS?CAS即对比交换,它在保证数据原子性的前提下尽可能的减少了锁的使用ABA问题线程1准备用CAS修改变量值A,在此之前,其它线程将变量的值由A替换为B,又由B替换为A,然后线程1执行CAS时发现变量的值仍然为A,所以CAS成功。但实际上这时的现场已经和最初不同了。例子 private static void atomicIntegerABA() { Thr...
2020-04-23 19:38:47
168
原创 深入理解CAS算法原理
1、什么是CAS?CAS:Compare and Swap,即比较再交换。jdk5增加了并发包java.util.concurrent.*,其下面的类使用CAS算法实现了区别于synchronouse同步锁的一种乐观锁。JDK 5之前Java语言是靠synchronized关键字保证同步的,这是一种独占锁,也是是悲观锁。2、CAS算法理解CAS是一种无锁算法,CAS中有3个操作数,内存值...
2020-04-23 19:29:39
205
转载 jdk1.8的hashmap真的是大于8就转换成红黑树,小于6就变成链表吗?????
最近研究hashmap源码的时候,会结合网上的一些博客来促进理解。而关于红黑树和链表相互转换这一块,大部分的文章都会这样描述:hashmap中定义了两个常量: /** * The bin count threshold for using a tree rather than list for a * bin. Bins are converted to trees whe...
2020-04-23 12:00:31
6161
4
原创 深入理解HashMap
HashMapHashMap底层数据结构是一个数组,数组中的每个元素又是一个链表。每次添加一个对象就会产生一个链表对象,Map中的每个Entry就是数组中的一个元素(Map.Entry就是一个<key,value>),它具有当前元素指向下一个元素的引用,构成了链表。(HashMap底层是基于数组+链表组成的),不过在jdk1.7和1.8中的实现有些差别都是线程不安全的。BASE 1...
2020-04-17 17:47:00
147
转载 Intellij IDEA springboot 找不到或无法加载主类
1、File – > Project Structure2、检查Artifacts再试试吧!原文链接: https://blog.youkuaiyun.com/hanwenyi520/article/details/81332060
2020-04-06 23:43:57
326
原创 IDEA快捷键
Ctrl+Shift + Enter,语句完成“!”,否定完成,输入表达式时按 “!”键Ctrl+E,最近的文件Ctrl+Shift+E,最近更改的文件Shift+Click,可以关闭文件Ctrl+[ OR ],可以跑到大括号的开头与结尾Ctrl+F12,可以显示当前文件的结构Ctrl+F7,可以查询当前元素在当前文件中的引用,然后按 F3 可以选择Ctrl+N,可以快速打开类C...
2020-04-06 23:10:12
79
转载 Git常用命令大全,迅速提升你的Git水平
初始化本地git仓库(创建新仓库)git init配置用户名git config --global user.name “xxx”配置邮件git config --global user.email “xxx@xxx.com”git status等命令自动着色git config --global color.ui truegit config --global color.sta...
2020-04-06 23:06:25
130
原创 Spring boot 读取配置文件(application.yml)中的属性值
1、引入依赖<!-- 支持 @ConfigurationProperties 注解 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</...
2020-04-01 01:52:22
928
转载 springboot自动配置是如何实现的?
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...
2020-03-31 17:32:26
423
转载 安全组概述
安全组是一种虚拟防火墙,具备状态检测和数据包过滤功能,用于在云端划分安全域。您可以通过配置安全组规则,允许或禁止安全组内的ECS实例对公网或私网的访问。安全组特点 {#section_9by_21j_pgl .section}安全组由同一个地域内具有相同安全保护需求并相互信任的ECS实例组成。安全组具有以下功能特点:在创建ECS实例时必须指定安全组,每台ECS实例至少属于一个安全组。同一安...
2020-03-31 15:35:52
3380
转载 MySQL----mysql_secure_installation 安全配置向导
安装完mysql-server 会提示可以运行mysql_secure_installation。运行mysql_secure_installation会执行几个设置:–为root用户设置密码–删除匿名账号–取消root用户远程登录–删除test库和对test库的访问权限–刷新授权表使修改生效通过这几项的设置能够提高mysql库的安全。建议生产环境中mysql安装这完成后一定要运行一...
2020-03-30 18:35:55
233
原创 Mybatis Generator配置详解
Mybatis Generator配置详解一、简介mybatis-geneator是一款mybatis自动代码生成工具,可以通过配置,快速生成mapper和xml文件。二、配置方法在项目的pom文件中添加插件配置<plugin> <groupId>org.mybatis.generator</groupId> <artifactI...
2020-03-23 18:07:43
199
Mybatis Generator配置详解.md
2020-03-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人