自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 架构学习 - 日积月累【Day1】----云原生基本概念

什么叫虚拟化:虚拟化是一种资源(服务器、网络)管理技术,就是对资源隔离。 OpenStack定义:管理云平台服务技术(可视化管理) KVM定义:集成到linux服务器的虚拟化技术 VMWare定义:(Virtual Machine ware)是一个“虚拟PC”虚拟机管理管理软件 容器定义:容器就是运行操作系统(物理机操作系统,虚拟机操作系统),是一个操作系统的进程。进程级别的虚拟化技术 docker 原理定义:docker 底层利用 cgroup + namespace 实现虚拟化(资源隔离),进

2021-08-12 15:41:19 86

原创 【进阶必备知识点总结分析-----------------spring篇】spring循环依赖

今天被问道了关于spring循环依赖的问题,感觉给人解答的不是很好,所以趁着最近有时间特意研究了下,所以准备写篇波哥记录下,希望大家一起共勉。 那么什么是循环依赖呢?循环依赖其实就是循环引用,也就是两个或者两个以上的bean互相持有对方,最终形成闭环。 解决办法:Spring为了解决单例的循环依赖问题,使用了三级缓存。 ...

2020-05-01 21:43:55 135

原创 【进阶必备知识点总结分析-----------------spring篇】spring事务的理解与实践

Spring 事务管理分为编程式和声明式的两种方式。编程式事务指的是通过编码方式实现事务;声明式事务基于 AOP,将具体业务逻辑与事务处理解耦。声明式事务管理使业务代码逻辑不受污染, 因此在实际使用中声明式事务用的比较多。声明式事务有两种方式,一种是在配置文件(xml)中做相关的事务规则声明,另一种是基于 @Transactional 注解的方式。 1、测试方法调用同一类中:REQUIRED:如...

2020-04-16 17:55:44 108

原创 【进阶必备知识点总结分析-----------------基础篇】乐观锁与悲观锁总结与实践

乐观锁: 所谓乐观锁就是总是设想最好的情况,每次去取数据的时候总是认为不会有人修改,所以不会上锁,但是在更新的时候会去判断一下在此期间是否有更新数据的。可以使用版本号机制和CAS算法实现。乐观锁适用多读的场景。 悲观锁: 所谓悲观锁就是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁。传统的关系型数据库里边就用到了很...

2020-04-14 15:04:26 108

原创 【进阶必备知识点总结分析-----------------设计模式篇】观察者模式的使用心得

观察者模式定义了对象间的一堆多关系,当一个对象改变时,其他对象都会收到通知进行自动更新。 两个主要角色:被观察者:也被叫做主题,是被观察的对象。通常用注册,取消注册和通知。 观察者:可以接受到主题的更新,当对某一主题感兴趣需要注册,不感兴去可以注销 使用场景: 一个抽象模型有两个方面,其中一个方面依赖于另一个方面。将这些方面封装在独立的对...

2020-04-07 17:44:29 158

原创 【进阶必备知识点总结分析-----------------基础篇】hashmap常见问题汇总

我相信无论是什么级别的工程师在面试的时候,在面试基础知识的时候

2020-04-07 13:44:19 97

原创 Java中如何获取到线程dump文件

死循环、死锁、阻塞、页面打开慢等问题,打线程dump是最好的解决问题的途径。所谓线程dump也就是线程堆栈,获取到线程堆栈有两步: (1)获取到线程的pid,可以通过使用jps命令,在Linux环境下还可以使用ps -ef | grep java (2)打印线程堆栈,可以通过使用jstack pid命令,在Linux环境下还可以使用kill -3 pid 另外提一点,Thr...

2019-12-16 10:04:29 1185

原创 程序

1、类初始化过程:子类初始化先初始化父类,一个类初始化就是执行<clinit>,<clinit>()方法由静态类变量显示赋值代码和静态代码块组成,类变量显示赋值代码和静态代码块代码从上到下顺序执行 <clinit>()方法只执行一次。 2、实例初始化就是执行<init>()方法 <init>()方法可能重载有多个,有几个构造器就有几个&...

2019-11-28 16:11:01 74

原创 spring2.0和1.0搭建springcloud区别

1、注册中心依赖:1.0:spring-cloud-starter-eureka 2.0:spring-cloud-starter-netflix-eureka-client

2019-11-13 15:21:41 1058

原创 spring 事务

1、事务基本特性(1)、原子性(2)、隔离性(3)、持久性(4)、一致性 2、事务分类:编程式事务,声明式事务。 3、事务的传播行为: PROPAGATION_REQUIRED—如果当前有事务,就用当前事务,如果当前没有事务,就新建一个事务。这是最常见的选择。 PROPAGATION_SUPPORTS--支持当前事务,如果当前没有事务,就以非事务方式执行。//如果外层方法没有事务,就会以非...

2019-10-25 13:48:13 78

原创 mysql 索引注意事项

1、索引不会包含有null的列上。复合索引只要一个列中出现null值。那这一列对于此索引就是无效的。 2、使用短索引 3、索引用在排序的字段上。where查询的语句后面。 4、like 'aaa%'可以使用索引 5、列上进行运算的不使用索引 6、not in,< >,!= 操作不能使用索引。 7、索引可以建立在经常使用的select 字段上。 8、索引要建立在值比较唯一的...

2019-10-18 10:14:23 146

原创 Java类加载

1、类加载过程:加载-》验证-》准备-》解析-》初始化 2、双亲委派机制:当一个类获取加载请求时候,它并不是自己加载,而是把请求委托给父类去加载,如果父类加载还存在其父类加载,继续向上委托。依次递归。如果父类加载能完成当前类的加载就返回成功。倘若父类无法完成加载任务,子类才会尝试加载。 ...

2019-10-17 13:36:14 68

原创 垃圾回收机制

1、判断对象是否存活:(1)、计数器,应用时候加一,使方时候减一。计数为0可以回收。无法解决对象相互引用的情况。 (2)、可达性分析。从GC root开始向下搜索,搜索走过的路径。当一个对象到gcRoot 没有任何的路径 ...

2019-10-15 14:15:25 81

原创 jvm内存结构

1、内存结构主要分为:方法区、堆内存和栈。堆内存由年轻代和老年代组成。eden空间,from survivor空间、to survivor空间组成。方法区存储类信息、常量、静态变量等数据,是线程共享的区域。栈又分为虚拟机栈和本地方法栈。主要用于方法的执行。 2、 参考:https://www.cnblogs.com/ityouknow/p/5610232.html ...

2019-10-14 09:42:31 80

原创 ThreadLocal

1、提供了线程的局部变量,实现了线程的数据隔离。为了在当前线程中有属于自己的变量。 2、底层是treadLocalMap ,map的key是localTread对象,value则是存储的对象。 ...

2019-10-12 15:30:34 82

原创 单例

1、应用场景:servelet,spring中的bean常量,连接池等 2、优缺点:节约内存,重复利用。缺点:线程安全问题 3、创建单例的几种方式:(1)、饿汉式(2)、懒汉式(3)、静态内部方式(4)、枚举(5)、双重检测锁机制 4、饿汉式: //饿汉式 publicclassSingletonDemo01 { // 类初始化时,会立即加载该对象,线程天生安全,调用效率高 ...

2019-10-11 12:54:46 79

原创 hashMap

1、jdk1.8之前底层是由位桶和链表实现,1.8以后采用位桶+链表+红黑树实现。当链表长度超过8时候,将链表转为红黑树。 2、首先有一个数组,当添加一个元素时候,首先计算元素key的hash值,以此确定在数组中的位置,但是可能存在重复的情况, 这时候就添加到同一个hash值的后面,但是这时候的元素是个链表,当链表超过一定长度后就转为红黑树。所以同一个链表内 数据的has...

2019-10-10 17:35:49 98

翻译 2019年5月28日技术杂学

1、spring 中bean的生命周期 BeanNameAware.setBeanName() 在创建此bean的bean工厂中设置bean的名称,在普通属性设置之后调用,在InitializinngBean.afterPropertiesSet()方法之前调用 BeanClassLoaderAware.setBeanClassLoader(): 在普通属性设置之后,Initial...

2019-05-29 10:04:14 87

原创 2019年5月28日技术杂学

1、MySQL中的事务 mysql 中innodb 和dbd支持事务,而myisam不支持事务。事务的四个属性:原子性,一致性,隔离性,持久性。 事务隔离级别:READ UNCOMMITTED(未提交读/脏读):事务在未提交之前也可以读取数据。READ COMMITTED(不可重复读/提交后读):事务提交前和提交后各读一次,造成数据不一致。REPEATABLE READ(可重读/幻...

2019-05-28 15:28:47 94

原创 2019年5月27日技术杂学

1、锁的分类 互斥锁: (1)、互斥锁:synchronized会自动自动释放锁,只要线程运行的代码块超出synchronized的语句块范围,锁就自动释放! (2)、lock对象必须调用lock的对象的unlock()方法才能释放锁,使释放锁更自由 读写锁:读写锁就使为了提供性能使用的,主要是读和写互斥。 2、redis过期时间策略 三种过期策...

2019-05-27 13:52:56 85

原创 2019年5月23日技术杂学

1、springMvc springMVc 流程:用户发起请求到前端控制器dispatcherServlet,调用handlerMapping处理器,请求获取handle,处理器生成处理器对象,DispatcherServlet调用HandlerAdapter处理器适配器,经过适配器调用具体处理器,执行返回imodeAndView,将执行结果返回给DispatcherServlet,Dispa...

2019-05-24 17:04:55 156

原创 2019年5月22日技术杂学

1、linux查询硬件命令: df 命令可以列出不同分区的大小,-h可以以k,M,G单位展示 free 可以察看系统的使用情况,闲置和RAM总体使用情况 -m参数配合一起使用 2、tcp、Udp 3、volatile 关键字 线程可见性就是一个变量在被一个线程更改后,另一个线程应该拿到的是更改后的值。 变量加上volatile关键字后,变量对所有线程都是可见的,...

2019-05-22 15:47:02 127

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除