Java集合框架源码解析(2)-JUC集合

Java JUC介绍

Java JUC

查看更多

分享到

Java集合框架源码解析(1)

最近几天看Java集合框架相关的博文,找到了一些很不错的文章。现整理分享出来。

常见的集合框架图

image
网上流传最多的图,不多解释。

查看更多

分享到

JVM调优中CPU调优利器之jstack

背景:线上服务器CPU飙高,如何找到相关应用,如何定位问题代码。

介绍jstack利器

jstack可以定位到线程堆栈,根据堆栈信息我们可以定位到具体代码,所以它在JVM性能调优中使用得非常多。
下面我们来一个实例找出某个Java进程中最耗费CPU的Java线程并定位堆栈信息,用到的命令有ps、top、printf、jstack、grep。

查看更多

分享到

Spring使用基于Java的配置

创建基于Java的配置

<context:component-scan base-package=”com.springaction.springidol” />会自己加载使用@Configuration注解标注的类。

定义一个配置类

在基于Java的配置里使用@Configuration注解的Java类等价于XML配置中元素。

1
2
3
4
@Configuration
public class SpringidolConfig {

}

@Configuration注解会作为一个标示告知Spring:这个类将包含一个或者多个Spring Bean的定义。这些Bean的定义是使用@Bean注解所标注的方法。

查看更多

分享到

Spring-6自动检测Bean

即使context:annotation-config有助于帮助我们完全消除Spring配置中的元素,但是我们仍然需要使用元素显示定义Bean。
使用还有另外一个技巧:context:component-scan。它可以完成context:annotation-config一样的工作,还允许自动检测Bean和定义Bean。使用自动检测,需要context:component-scan来替代context:annotation-config元素。

1
<context:component-scan base-package="com.websystique.spring" />

context:component-scan元素会扫描指定包及其所有的子包。并查找出能够自动注册为Spring Bean的类。这需要构造型(stereotype)进行注解。

查看更多

分享到

Spring-5Bean的自动装配

我们已经知道如何使用元素定义Bean以及使用元素装配Bean,但是随着应用的不断增加,很遗憾,我们需要编写越来越复杂的XML配置。
幸运的是,Spring提供了几种技巧,可以帮助我们减少XML的配置数量。

  • 自动装配 (autowiring)有助于减少甚至消除元素和元素,让Spring自动识别如何装配Bean的依赖关系。
  • 自动检测 (autodiscovery)比自动装配更进了一步,让Spring能否自动识别哪些类需要被配置成Spring Bean,从而减少对元素的使用
    当自动装配和自动检测在一起使用时,它们可以显著减少Spring的XML配置数量,通常只需要配置少量的几行XML代码,而无需知道在Spring的应用上下文中究竟有多少Bean。

查看更多

分享到

Spring-4使用表达式装配

到目前为止我们为Bean的属性和构造器参数装配的所有东西都是在Sping的xml文件中静态定义的。但是如果我们为属性装配的值只又在运行的时期才能知道,如何实现?

查看更多

分享到

Spring-3注入Bean属性

Spring使用一种被称为是“依赖注入”的方式管理Bean之间的依赖关系。依赖注入是一种优秀的解耦方式。
Spring的依赖注入(Dependency Injection, DI)还有一个的名字:“控制反转”(Inversion of Control,IOC)。DI与IOC的含义完全相同。

注入Bean属性

依赖注入分为两种:构造器注入(通过构造参数来注入值)、设置注入(通过调用属性的setter方法来注入值)。

查看更多

分享到

Spring声明Bean

创建应用对象之间协作关系的行为通常被称为装配,这也是Spring依赖注入的本质。

Spring容器

Spring有两个很接口:BeanFactory和ApplicationContext接口,它们都可代表Spring容器,Spring容器是生成Bean实例的工厂,并管理容器中的Bean。

声明Bean

创建Spring配置

Spring是一个基于容器的框架,如果没有配置Spring,那它就是一个空容器,对于我们也就毫无用处。因此,我们需要配置Spring来告诉容器需要加载哪些Bean和如何装配这些Bean。

Spring容器提供了两种装配Bean的方式:

  1. 使用一个或多个XML文件作为配置文件
  2. 基于Java注解进行配置

查看更多

分享到

SpringBean的生命周期

传统JavaBean的生命周期

在传统的Java应用中,,bean的生命周期很简单。使用字new进行bean实例化,然后该
bean就可以使用了。一旦该bean不再被使用,则由Java自动进行垃圾回收。

查看更多

分享到