自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

一抹繁星

个人笔记整理

  • 博客(28)
  • 收藏
  • 关注

原创 史上最详细JVM笔记

文章目录简介指令架构寄存器指令架构栈指令架构生命周期虚拟机启动运行退出概览图类加载类加载子系统加载链接验证准备解析初始化类加载器分类引导类加载器扩展类加载器应用类加载器加载路径运行时数据区概览程序计数器虚拟机栈概述栈帧局部变量表操作数栈动态链接方法返回地址附加信息本地方法栈什么是本地方法为什么要使用 Native Method堆概述结构划分堆内存设置参数显示堆内存大小设置新生代老年代占比Eden 空间占比TLAB占比新生代年龄年轻的与老年代对象分配MinorGC,MajorGC,FullGCMinorGC

2021-04-12 15:19:41 827 2

原创 你是否已经忘了Serlvet是什么?

在工作中每天都在使用各种框架,久而久之你是否已经忘记了当初在web.xml中配置Servlet中的日子,你是否还记得Filter,ServletCointextListener他们的作用都是什么,触发时机是什么?这些组件是一切的基石,我们不应该忘记。java Servlet是和平台无关的服务器组件,它运行在Servlet容器中,Servlet容器负责Servlet和客户的通信以及调用Servelt方法,Servlet和客户的通信采用的是“请求/响应”。Servlet是一组规范,具体化就是两个jar文件,s

2021-03-14 13:13:51 183

原创 flutter 自定义Tabbar高度和背景色

最近在学习flutter相关的知识,在学到Tabbar的时候默认无法修改它的高度背景色,在网上查看被人的代码后自己封装了一下。你可以复制直接使用。(不排除有更好的实现方法,我也是刚接触flutter)使用时如果指定有图标的高度要比无图标的高度大26 也可以自己再改下代码自定义。 bottom: CustomTabBar( // 背景色 ...

2020-04-26 09:30:50 4339

原创 Spring容器创建流程——总结

spring容器创建的主要流程在他的refresh()方法中,接下来就开始总结一个下他的refresh()方法中的每个步骤大概都做了那些事情。refresh() 可在AbstractApplicationContext中找到。prepareRefresh标识容器状为active运行环境(包装为一个Environment类)的设置与验证。obtainFreshBeanFactory创...

2019-12-09 09:27:52 421

原创 Spring容器创建流程(9)完成创建

Spring创建refresh中finishRefresh()方法完成之后也就代表着,Spring容器真正的创建完成了。下面看下源码 protected void finishRefresh() { // 清除加载Recource缓存,(resource在加载beanDefinition的时候说过) clearResourceCaches(); // 初始化生命周期处理器 in...

2019-12-05 17:42:50 241

原创 Spring容器创建流程(8)初始化bean

finishBeanFactoryInitialization(beanFactory); 很重要的一步,初始化剩余未初始化的bean(还没有创建实例放到容器中的)。finishBeanFactoryInitialization protected void finishBeanFactoryInitialization(ConfigurableListableBeanFactory bean...

2019-12-03 16:07:00 199 1

原创 简单java面试题(带答案)

最新公司没什么活,今天项目经理找了一些基础的面试题,下面我把自己回答整理的答案分享一下,可能回答的不够全面,大佬多包涵。说说以下java关键字的含义isntanceof trainsient volatileinstanceof:用于判断一个类是否为另一个的实例,或直接或间接子类,或者是其接口的实现类trainsient : 对象如果标注此属性,那么对象在序列化是会忽略此属性volat...

2019-11-09 23:58:05 2979

原创 Spring容器创建流程(7)事件派发机制

Spring事件驱动,监听机制。由三步分组成,事件,派发器,监听器。事件:spring事件的顶级父类是EventObject,通常情况下继承ApplicationEvent 自定义自己的事件。事件派发器:事件派发器,负责事件的派发,顶级父类为ApplicationEventPublisher,真正的事件派发机制在子类AbstractApplicationContext中实现,事件派发交由...

2019-10-17 15:43:00 200

原创 Spring容器创建流程(6)国际化支持

initMessageSource 初始化MessageSource,Spring国际化支持(之前的执行步骤可在系列文章中找到) protected void initMessageSource() { ConfigurableListableBeanFactory beanFactory = getBeanFactory(); // 如果自己配置了一个名为 messageSource的...

2019-10-16 17:24:53 209

原创 Spring容器创建流程(5)bean后置处理之注册

registerBeanPostProcessors 注册bean的后置处理器(以前的执行流程可在系列文章中查看),注意 beanFactoryPostProcessor 是 bean工厂的后置处理器,在工厂初始化后进行调用,beanPostProcessor是bean的后置处理器,在bean初始化前后进行调用(bean后置处理器在之后会讲到)。容器refresh总览: synchroniz...

2019-10-16 15:28:11 344

原创 Spring容器创建流程(4)调用beanFactory后置处理器

postProcessBeanFactory留给子类去实现。invokeBeanFactoryPostProcessor 调用bean的后置处理器,容器refresh总览: synchronized (this.startupShutdownMonitor) { // 设置环境,校验参数。 prepareRefresh(); // 创建BeanFactory(Def...

2019-10-15 13:54:34 228

原创 Spring容器创建流程(3)对beanFactory设置

容器已经创建完成,接下来 prepareBeanFactory,对BeanFactory做一些设置与准备工作。(之前的执行流程可在本系列博客中看到)容器refresh 总览: synchronized (this.startupShutdownMonitor) { // 设置环境,校验参数。 prepareRefresh(); // 创建BeanFactory(De...

2019-10-13 13:29:40 197

原创 Spring容器创建流程(2)创建beanFactory,加载BeanDefinition

Spring 容器的创建。obtainFreshBeanFactorr()中完成容器的创建。(BeanFactory关系类图,之前的执行流程可在1中看到)。 synchronized (this.startupShutdownMonitor) { // Prepare this context for refreshing. prepareRefresh(); // ...

2019-10-09 14:06:19 381

原创 Spring容器创建流程(1)容器创建准备

本系列文章将逐一介绍,Spring容器创建到容器刷新完成每个过程。Spring容器继承结构图第一步,new容器实例ApplicationContext factory = new ClassPathXmlApplicationContext("classpath:application.xml");容器构造器 public ClassPathXmlApplicationContext...

2019-09-29 09:28:13 296

原创 Spring bean生命周期概览

springBean的生命周期描述了交由spring管理的bean从创建,属性赋值,代理扩展,销毁的过程。在不同的阶段spring都提供了相应的接口提供扩展。Spring生命周期各个接口与方法调用时机先声明一下,问中讲到实例化代表着调用类的构造方法,讲到初始化代表着bean指定的init-method。...

2019-09-19 10:02:31 382

原创 Java成神之路——JVM垃圾回收概览

如何确认对象可以被回收枚举根节点,来确认, 搜索对象的引用链. 当一个对象的引用不能到达根节点,那么就认为这个对象是垃圾.根节点可以为: 虚拟机栈中引用的对象,方法区中类静态属性引用的遍历,方法区中常量引用的对象,本地方法栈中JNI 也就是native方法 引用的对象常见的垃圾回收算法标记清除:首先标记出需要回收的对象,然后进行清除,效率不高,会产生大量的内存碎片,内存碎片太多可能在分...

2019-09-14 11:22:54 283

原创 Java入门到月入2W+ IT各种技术教学资料分享

前端,Android,python,大数据,Java,人工智能,你要的资料这里都有 +Q群要资料892480622

2019-09-12 09:18:56 119

转载 Java入门到大神你需要掌握这些技术

主要版本更新时间备注v1.02015-08-01首次发布v1.12018-03-12增加新技术知识...

2019-09-11 10:21:36 1019

原创 Java成神之路——javaAgent(插桩,attach)

javaAgentJavaagent 是什么?javaAgent运行类加载器在加载类之前对类做出动态的修改.运行java命令执行时添加参数 -javaagent指定打包好的agent的jar即可以. 可以定义多个agent,按指定顺序执行java -javaagent:agent1.jar -javaagent:agent2.jar -jar MyProgram.jar字节码插桩,bT...

2019-09-10 11:43:37 9040

转载 Java成神之路——ASM,Javassist,cglib区别。

class文件简介及加载     Java编译器编译好Java文件之后,产生.class 文件在磁盘中。这种class文件是二进制文件,内容是只有JVM虚拟机能够识别的机器码。JVM虚拟机读取字节码文件,取出二进制数据,加载到内存中,解析.class 文件内的信息,生成对应的 Class对象:    ...

2019-09-10 10:59:17 657

原创 Java成神之路——String长度限制

字符串还有长度限制?是的没错。先看简单的情况。// 并不是显示的在类中new,请看后面注意String str = new String("str");如果通过new的方法来创建String,可以通过String的另一个构造方法得出,长度的限制是Integer.MAX_VALUEpublic String(char value[], int offset, int count) 给...

2019-08-19 21:29:30 829

原创 Java成神之路——CountDownLatch、CyclicBarrier

CountDownLatchCountDownLatch 计数器,初始化是指定count初始值,await()方法将造成阻塞,直到调用 countDown()方法将count值减为零,这是将释放所有阻塞在await()处的线程。CountDownLatch 是一次性的不能重置count值。 // 倒计数10 CountDownLatch countDownLatch = n...

2019-08-10 16:36:13 97

原创 Java成神之路——重入锁、公平非公平锁、自旋锁、读写锁

你知道的Java锁有哪些? synchronized?Lock?它们又有什么区别?锁可分为哪些种类?锁是如何实现的?锁类型

2019-08-10 14:34:41 300 1

原创 Java成神之路——一文搞懂CAS

CAS是什么CAS(Compare And Set)比较与替换。在高并发编程中大量使用。为什么需要CAS在多线程环境下对一个变量进行并发修改是不能保证原子性的。例如多线程下对一个int类型变量进行++操作,线程A读取int i = 0; 对 i 进行++操作,线程B在线程A修改更新 i 之前去读取 i = 0; 也进行++ 操作;期待的结果为2,但最终结果却是1。有人可能会问这不是可见行问题...

2019-08-02 11:29:14 734

原创 Java成神之路——UML类关系图

UML使用类图分为三层 ,第一层显示类的名称,如果是抽象类斜体显示。第二层类的属性。第三层类的操作。方法属性前面的 ” + “ 代表public修饰,” - “ 代表private修饰,” # “ 代表protected修饰,” ~ “ 代码默认修饰。继承关系继承关系使用空三角实线连接实现关系实现关系使用空三角虚线连接聚合关系聚合表示一种弱的拥有关系,体现的是A对象可以包含 B对...

2019-07-29 19:34:01 243

原创 Java成神之路——volatile是什么?

Volatile 是什么?java虚拟体提供的轻量级同步机制,可以保证内存可见性,不能保证原子性,禁止指令重排序内存可见性java内存模型java memory model。java内存模型一种抽象概念或规范,通过这组规范定义了程序访问变量(实力字段,静态字段,数组元素等)的访问方式。JVM运行程序的实体是线程,每个线程在创建是JVM都会为其创建一个工作内存或称栈空间,工作内存是每个线程...

2019-07-28 13:44:24 157

原创 问到吐的单例模式

单例模式核心作用,保证一个类只有一个实例,并且提供一个访问该实例的全局访问点单例模式的优点由于单例模式值生成一个实例,减少了系统开销,当一个对象的产生需要比较多大资源的时候,如读取配置文件,产生其他依赖对象,则可以通过在应用启动时直接产生一个对象,然后永久驻留内存.单例模式可以在系统设置全局的访问点,优化共享资源访问.常见5中实现:饿汉式(线程安全,效率高,但是,不能延时加载)懒汉式...

2019-02-22 18:56:21 117

原创 java基础相关面试题

1. HashMap的源码,实现原理,JDK8中对HashMap做了怎样的优化HashMap Map的一个实现类,用于存储KV数据结构.真实存储数据的是它的一个内部类Nodenode是往链表后面放的如果node链表长度超过一定值,链表转换为红黑树,红黑树的具体实现不了解 -_-!在1.7中,不会进行链表到红黑树的转化,如果整个链表中没有key相同的node,是放在链表的第一个位置,1....

2018-11-02 16:30:58 178

空空如也

空空如也

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

TA关注的人

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