- 博客(140)
- 资源 (4)
- 收藏
- 关注
原创 Nexus
NexusNexus基本介绍下载链接http://www.sonatype.org/nexus/linux安装Nexus的安装步骤Nexus和Maven的联合使用pom.xml文件指定仓库:settings.xml中配置指定的仓库:Nexus基本介绍Nexus即私服,个人或者公司管理项目以及jar包的一种私有服务器;安装过程非常简单。下载链接http://www.sonatype.org/nexus/Nexus下载链接:http://www.sonatype.org/nexus/linux安装Ne
2021-04-01 21:28:43
270
原创 Jenkins
JenKinsJenkins基本介绍支持线上ShowDoc支持部署到自己的服务器上可以直接调用接口获取数据(BaaS后端即服务)常用功能编辑建议ShowDoc(采用Markdown编辑器)文档更多效果Jenkins基本介绍Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。支持线上ShowDoc自己不想部署,可以使用线上的ShowDoc 链接:http://www.showdoc.cc支持部署到自
2021-03-24 18:30:46
269
原创 ShowDoc
ShowDocShowDoc基本介绍支持线上ShowDoc支持部署到自己的服务器上可以直接调用接口获取数据(BaaS后端即服务对外暴露)如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入ShowDoc基本介绍ShowDoc就是一个非常适合IT团队的在线文档分享工具,它可以
2021-03-18 18:08:14
825
原创 2021年Java基础面试题总结
1、事务管理(ACID)原子性(Atomicity)原子性是指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生。一致性(Consistency)事务前后数据的完整性必须保持一致。隔离性(Isolation)事务的隔离性是多个用户并发访问数据库时,数据库为每一个用户开启的事务,不能被其他事务的操作数据所干扰,多个并发事务之间要相互隔离。持久性(Durability)持久性是指一个事务一旦被提交,它对数据库的改变就是永久性的,接下来即时数据库发生故障也不应该对其
2021-01-02 19:14:18
1814
原创 2020总结
布隆过滤机 就理解为 算法 过滤就行了点对点:消息发送客户端与接收客户端没有时间上的依赖,发送客户端可以在任何时刻发送信息到Queue,而不需要知道接收客户端是不是在运行发布/订阅 方式(又称之为广播模式):可能存在多个接收客户端,并且接收端客户端与发送客户端存在时间上的依赖。一个接收端只能接收他创建以后发送客户端发送的信息。发送消息的基本步骤(1)、创建连接使用的工厂类JMS ConnectionFactory(2)、使用管理对象JMS Connectio...
2020-12-30 14:36:33
102
原创 Java中多线程并发处理方式详解
synchronized关键字主要解决多线程共享数据同步问题。ThreadLocal使用场合主要解决多线程中数据因并发产生不一致问题。ThreadLocal和Synchonized都用于解决多线程并发访问。但是ThreadLocal与synchronized有本质的区别:synchronized是利用锁的机制,使变量或代码块在某一时该只能被一个线程访问。而ThreadLocal为每一个线程都提供了变量的副本,使得每个线程在某一时间访问到的并不是同一个对象,这样就隔离了多个线程对数据的数据..
2020-07-21 08:28:39
826
原创 冒泡排序和选择排序代码最简
冒泡排序int[] arr = {3,1,6,8,0}; // 定义一个flag,用来记录上一轮是否有元素进行交换, // 如果上一轮没有元素进行交换,说明已经排序完成,停止排序(优化) boolean flag; for (int i = 0; i < arr.length - 1; i++) {//外层控制的是比较的轮数 //每轮初始flag为true flag = true;...
2020-07-21 08:14:48
215
原创 描述软件生命周期
软件生命周期(Software Life Cycle,SLC)是软件的产生直到报废或停止使用的生命周期。软件生命周期内有问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段,也有将以上阶段的活动组合在内的迭代阶段,即迭代作为生命周期的阶段。...
2020-07-21 08:09:20
407
原创 Eureka和Zookeeper区别简化
遵循原则不同尤里卡遵循AP原则,动物园管理员遵循CP原则,C:强一致性,A:可用性,P:分区容错性著名的CAP理论中提出,一个分布式系统不可能同时满足C(一致性)A(可用性)P(分区容错性),由于分区容错性p是分布式系统中必须保证,因此只能在a和ç之间权衡...
2020-07-21 08:06:16
170
原创 面向对象编程和面向接口编程
面向对象思想的核心之一,就是模拟真实世界,把真实世界中的事物抽象成类,整个程序靠各个类的实例互相通信、互相协作完成系统功能,这非常符合真实世界的运行状况,也是面向对象思想的精髓。那么什么是面向接口编程呢?我个人的定义是:在系统分析和架构中,分清层次和依赖关系,每个层次不是直接向其上层提供服务(即不是直接实例化在上层中),而是通过定义一组接口,仅向上层暴露其接口功能,上层对于下层仅仅是接口依赖,而不依赖具体类。...
2020-07-21 07:47:40
351
原创 HashMap的实现原理在JDK1.7和1.8的区别
相对于JDK1.7,HashMap处理hash冲突时,会首先存放在链表中去,但是一旦链表中的数据较多(即>8个)之后,就会转用红黑树来进行存储,优化存储速度。其默认的大小是16,一旦>0.75*16之后,就会调用resize()进行扩容,扩容非常耗时,所以如果需要保存较多的话,最好在创建一开始就制定好HashMap的初始容量。当链表元素个数大于8的时候,就会转换为红黑树;当红黑树元素个数小于6的时候,就会转换回链表。链表元素小于等于8时,无论是查询速度还是增删速度都是最合适的,大..
2020-07-21 06:46:06
215
原创 分布式的Cap原则
什么叫做capCap分别指分区容错性,一致性,可用性G1 和 G2 是两台跨区的服务器。G1 向 G2 发送一条消息,G2 可能无法收到。系统设计的时候,必须考虑到这种情况。一般来说,分区容错无法避免。一致性一致性的意思是,写操作之后的读操作,必须返回该修改后的值。可用性可用性意思是只要收到用户的请求,服务器就必须给出回应。...
2020-07-21 06:23:55
146
原创 SpringCloud的分布式锁和分布式事务
基于 Redis 的分布式锁利用 SETNX 和 SETEX基本命令主要有:SETNX(SET If Not Exists):当且仅当 Key 不存在时,则可以设置,否则不做任何动作。SETEX:可以设置超时时间其原理为:通过 SETNX 设置 Key-Value 来获得锁,随即进入死循环,每次循环判断,如果存在 Key 则继续循环,如果不存在 Key,则跳出循环,当前任务执行完成后,删除 Key 以释放锁。这种方式可能会导致死锁,为了避免这种情况,需要设置超时时间。通过数据库实现分布
2020-07-20 13:26:55
701
原创 MySQL的四种事务隔离级别
一、事务的基本要素(ACID) 1、原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节。事务执行过程中出错,会回滚到事务开始前的状态,所有的操作就像没有发生一样。也就是说事务是一个不可分割的整体,就像化学中学过的原子,是物质构成的基本单位。 2、一致性(Consistency):事务开始前和结束后,数据库的完整性约束没有被破坏 。比如A向B转账,不可能A扣了钱,B却没收到。 3、隔离性(Isolation):同一时间,只允许一个事务...
2020-07-20 13:10:24
116
原创 SpringCloud服务器雪崩效应
spring-cloud服务器雪崩效应 在微服务架构中,根据业务来拆分成一个个的服务,服务与服务之间可以相互调用(RPC),在Spring Cloud可以用RestTemplate+Ribbon和Feign来调用。为了保证其高可用,单个服务通常会集群部署。由于网络原因或者自身的原因,服务并不能保证100%可用,如果单个服务出现问题,调用这个服务就会出现线程阻塞,此时若有大量的请求涌入,Servlet容器的线程资源会被消耗完毕,导致服务瘫痪。服务与服务之间的依赖性,故障会传播,会对整个微服务系统造成灾难性
2020-07-20 12:29:08
396
原创 SpringBoot启动原理 详解
一、SpringBootApplication背后的秘密@SpringBootApplication注解是Spring Boot的核心注解,它其实是一个组合注解: 1 @Target(ElementType.TYPE) 2 @Retention(RetentionPolicy.RUNTIME) 3 @Documented 4 @Inherited 5 @SpringBootConfiguration 6 @EnableAutoConfiguration 7 @ComponentScan
2020-07-20 10:43:14
193
原创 乐观锁与悲观锁详解与使用场景
乐观锁对应于生活中乐观的人总是想着事情往好的方向发展,悲观锁对应于生活中悲观的人总是想着事情往坏的方向发展。这两种人各有优缺点,不能不以场景而定说一种人好于另外一种人。悲观锁总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁(共享资源每次只给一个线程使用,其它线程阻塞,用完后再把资源转让给其它线程)。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。Java中synch.
2020-07-20 10:08:15
172
原创 mybatis缓存机制详解缓存方式
缓存是一般的ORM(mybatis属于半自动化ORM框架) 框架都会提供的功能,目的就是提升查询的效率和减少数据库的压力。跟Hibernate 一样,MyBatis 也有一级缓存和二级缓存,并且预留了集成第三方缓存的接口。缓存体系结构: 所有的缓存实现类总体上可分为三类:基本缓存、淘汰算法缓存、装饰器缓存。一级缓存(本地缓存):一级缓存也叫本地缓存,MyBatis 的一级缓存是在会话(SqlSession)层面进行缓存的。二级缓存:二级缓存是用来解决一级缓存不能跨会话共享的问题的,
2020-07-20 09:50:57
200
原创 mysql缓存机制详解
mysql缓存机制就是缓存sql 文本及缓存结果,用KV形式保存再服务器内存中,如果运行相同的sql,服务器直接从缓存中去获取结果,不需要在再去解析、优化、执行sql。 如果这个表修改了,那么使用这个表中的所有缓存将不再有效,查询缓存值得相关条目将被清空。表中得任何改变是值表中任何数据或者是结构的改变,包括insert,update,delete,truncate,alter table,drop table或者是drop database 包括那些映射到改变了的表的使用merge表的查询,显然,者对于频繁
2020-07-20 09:10:41
190
原创 hashmap与hashtable的区别详解
最主要的区别在于Hashtable是线程安全5261,而HashMap则非线程安全。Hashtable的实现方法里面都添加了1653synchronized关键字来确保线程同步,因此相对而言HashMap性能会高一些,我们平时使用时若无特殊需求建议使用HashMap,在多线程环境下若使用HashMap需要使用Collections.synchronizedMap()方法来获取一个线程安全的集合(Collections.synchronizedMap()实现原理是Collections定义了一个Synch
2020-07-20 08:55:00
144
原创 GC回收机制详解
应用程序对资源(内存使用)管理的方式,常见的一般有如下几种:1、手动管理:C,C++2、计数管理:COM3、自动管理:.NET,Java,PHP,GO…但是,手动管理和计数管理的复杂性很容易产生以下典型问题:1.程序员忘记去释放内存2.应用程序访问已经释放的内存三、GC如何工作:GC的工作流程主要分为如下几个步骤:1、标记(Mark)---GC的根节点也即GC Root2、计划(Plan)3、清理(Sweep)4、引用更新(Relocate)5、压缩(Co
2020-07-20 08:46:09
454
原创 对比SpringCloud和Dubbo的技术选型
spring Cloud与dubbo都为微服务框架,那么我们在进行技术选型时应该怎么考虑呢?可以从以下几个方面考虑1.架构完整度:与spring cloud相比,dubbo的架构完整度不够,其本身只提供了服务注册中心与服务治理两个模块,而spring cloud到现在为止,已经提供了服务注册中心,服务治理等24个模块,并且还在增加中。虽然dubbo也可以整合第三方框架,但是搭建出来的dubbo架构可能出现兼容性问题,而spring cloud不会,因为其每一个模块都是经过严格测试的,几乎不存在兼容性问题
2020-07-14 10:15:53
805
原创 对比SpringCloud和Dubbo的优缺点
dubbo由于是二进制的传输,占用带宽会更少springCloud是http协议传输,带宽会比较多,同时使用http协议一般会使用JSON报文,消耗会更大dubbo的开发难度较大,原因是dubbo的jar包依赖问题很多大型工程无法解决springcloud的接口协议约定比较自由且松散,需要有强有力的行政措施来限制接口无序升级dubbo的注册中心可以选择zk,redis等多种,springcloud的注册中心只能用eureka或者自研但如果我选,我会用springcloud。从公司整体
2020-07-14 09:54:20
444
原创 挑战Java15-40k面试进行中
1、TCP、UDP、HTTP区别?TCP三次握手机制第一次:客户端发送一个SYN包到服务端,并进入SYN_SEND状态,等待服务端的响应。第二次:服务端收到SYN包,并确认,同时自己也发送一个SYN包,即SYN+ACK包,此时服务端进入SYN_RECV状态。第三次:客户端收到服务端的SYN+ACK包,向服务端发送一个确认ACK包,进入ESTABLISHED状态,完成连接UDPUDP也是传输层的一个协议。但是与TCP不同的是,UDP不是面向连接的,并不保证传输的可靠性,没有TCP的建立连接的
2020-07-03 15:17:28
290
原创 Activiti工作流画图工具介绍
推荐Eclipse插件Activiti分为线上安装和离线安装线上安装1、打开Eclipse,Help->Install New Software,弹出如下窗口2、点击addName:Activiti BPMN 2.0 designerLocation:http://www.activiti.org/designer/update下线安装下载离线安装包:h...
2020-03-15 22:54:55
3987
2
原创 三年面试题不断更新
1.Object类中都有哪些方法 12种①registerNatives() //私有方法②getClass() //返回此 Object 的运行类。③hashCode() //用于获取对象的哈希值。④equals(Object obj) //用于确认两个对象是否“相同”。⑤clone() //创建并返回此对象的一个副本。⑥toString() /...
2019-06-17 21:51:33
289
2
eclipse-luna 64位
2018-04-09
tomcat8.0 32位
2018-04-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人