类加载过程

1. JVM类加载过程
加载、验证、准备、初始化和卸载这5个阶段的顺序是确定的

2.类加载方式 : 导入class文件
    2.1隐式加载
    2.2显式加载
    
3. 验证:确保被加载的类的正确性

4. 准备:为类的静态变量分配内存,并将其赋默认值
        定义静态变量时指定初始值。如 private static String x="123";
        在静态代码块里为静态变量赋值。如 static{ x="123"; } 
(5)解析 :
        解析阶段是虚拟机将常量池内的符号引用替换为直接引用的过程。符号引用就理解为一个标示,而在直接引用直接指向内存中的地址;
        解析动作主要针对类或接口、字段、类方法、接口方法、方法类型、方法句柄和调用点限定符7类符号引用进行。
        
5. 初始化:对静态变量和静态代码块执行初始化工作。

    什么时候会触发初始化?
    1.遇到new,getstatic,putstatic,invokestatic这4条指令;

    2.使用java.lang.reflect包的方法对类进行反射调用;

    3.初始化一个类的时候,如果发现其父类没有进行过初始化,则先初始化其父类(注意!如果其父类是接口的话,则不要求初始化父类);

    4.当虚拟机启动时,用户需要指定一个要执行的主类(包含main方法的那个类),虚拟机会先初始化这个主类;

    以下情况不会触发类的初始化:

    1.同类子类引用父类的静态字段,不会导致子类初始化。至于是否会触发子类的加载和验证,取决于虚拟机的具体实现;
    2.通过数组定义来引用类,也不会触发类的初始化;例如:People[] ps = new People[100];
    3.引用一个类的常量也不会触发类的初始化

6. 卸载阶段
    执行了System.exit()方法。
    程序正常执行结束。
    程序在执行过程中遇到了异常或错误而异常终止。
    由于操作系统出现错误而导致Java虚拟机进程终止。

Spring单例Bean与单例模式的区别在于他们关联的环境不一样,单例模式是指在一个jvm进程中仅有一个实例,而Spring单例是指一个Spring Bean容器(ApplicationContext)中仅有一个实例。与此相比,Spring的单例Bean是与其容器(ApplicationContext)密切相关的,所以在一个JVM进程中,如果有多个Spring容器,即使是单例bean,也一定会创建多个实例。

单例bean的优点:

1.spring通过反射创建bean消耗资源、并且在对多个bean进行分配的时候消耗资源

2.减少bean的垃圾回收

3.除了第一次创建以外后面都是从缓存中获取bean,速度很快

创建bean的过程:

实例化 ----> 属性填充 ---> 初始化--->AOP ---> 代理对象--->bean

Spring注解@component、@service、@Autowired等作用与区别

1、@Service用于标注业务层组件

2、@Controller用于标注控制层组件(如struts中的action)

3、@Repository用于标注数据访问组件,即DAO组件.

4、@Component泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注。 

5、@Autowired与@Resource的区别

@Autowired由Spring提供,只按照byType注入,默认情况下必须要求依赖对象存在,如果要允许null值,可以设置它的required属性为false。如果想使用名称装配可以结合@Qualifier注解进行使用。

@Resource由J2EE提供,默认按照byName自动注入,Spring将@Resource注解的name属性解析为bean的名字,type属性则解析为bean的类型

<bean id="userServiceImpl" class="cn.com.bochy.service.impl.UserServiceImpl">

byName就是通过Bean的id或者name,byType就是按Bean的Class的类型

linux常用指令:

  • chown (change owner) : 修改所属用户与组。
  • chmod (change mode) : 修改用户的权限。
  • Linux 磁盘管理常用三个命令为 df、du 和 fdisk。

  • df(英文全称:disk free):列出文件系统的整体磁盘使用量   df -h
  • du(英文全称:disk used):检查磁盘空间使用量
  • fdisk:用于磁盘分区

SPI,Service Provider Interface,一种服务发现机制

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值