`
j小虫
  • 浏览: 18428 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论
文章列表
在(三)里我们已经进入了AbstractApplicationContext的刷新方法,refresh,代码如下   public void refresh() throws BeansException, IllegalStateException { synchronized (this.startupShutdownMonitor) { // Prepare this context for refreshing. prepareRefresh(); // T ...
创建容器我们在(二)里仔细的学习过了,现在再看容器的configureAndRefreshWebApplicationContext,配置并且刷新,这一步是整个spring ioc的核心,点进去看     protected void configureAndRefreshWebApplicationContext(ConfigurableWebApplicationContext wac, ...
这一段我主要去看看spring容器的创建,继续(一)的代码,我们看   if (this.context == null) { this.context = createWebApplicationContext(servletContext); }     创建容器   protected WebApplicationContext createWebApplicationContext(ServletContext sc) { Class<?> contextClass = determineContextClass(sc); if ...
    网上很多关键字针对了“spring源码阅读”,但仔细的查看了很多,发现大部分都是一样的,而且讲得很粗,可以借鉴这些思路.但粗粗的去读一下这些文章,对spring真正的实现,还是比较迷茫的,要想真正了解spring,还是得仔细的研读它的每一行代码,对照着别人的思路,静下心来,反复看,才能一点一点的去理解它。有些关键字在百度上讨论得很少的关键字,比如:“EntityResolver”,“PropertySource”,"propertyResolver"之类的,很多人的博文略提到了一点,但也是匆匆而过,这些,都需要自己去看document,自己去看代码,自己去想。 ...

ClassLoader原理

    博客分类:
  • java
一.ClassLoader分为bootClassStrap,ExtClassLoader,AppClassLoader. booeClassStrap由C或更底层的语言实现,用来加载jvm和操作系统最底层的核心类库 Ext由java实现,用来加载比较核心的类库 App由java实现,用来加载应用资源,比如class path中的资源,eclipse plugin中的资源等等   二.加载器通常都是把加载权优先上抛给parent加载器,当parent加载不到时才转交给child,最后一个child也加载不到时,抛出ClassNotFoundException.   三.如下代码: ...
最近我们team做了一个推荐系统,整个系统分为算法和平台两部分,而算法又分为hive sql算法和map reduce算法,因此,近几个月都在学这些东东,感觉分布式的计算还是蛮强的,hive就不说了,这里把map reduce的入门例子记录一下入门过程。   一.编写main方法   package com.taobao.aladdin.biz.core.mapreduce.test; import org.apache.hadoop.fs.Path; import org.apache.hadoop.io.IntWritable; import org.apache.hado ...
一.用linux系统进行定时   1.新建一个目录用来存放备份数据 mkdir /home/mianfeng/backup/metastore_database/data 2.新建一个文件用来存放脚本 vi /home/mianfeng/backup/metastore_database/mysql 3.写入脚本 va=` date +%Y%m%d ` mysqldump hive06 -uroot -proot>/home/mianfeng/backup/metastore_database/data/mysql$va.sql 4.修改权限 chmod 777 ...
阻塞队列是jdk1.5新特性,本质就是一个队列,当队列为空时,消费方阻塞等待,直到队列有新的对象;队列满了时,生产方阻塞等待,直到队列有空位时;它实现了多线程的排队等待。 队列,Queue接口,有先进先出的特性,与List,Set在同一级别,都继承了Collection接口,而BlockingQueue继承了Queue。   Queue提供了以下方法:      add,offer:add如果队列满了, 则抛出异常IIIegaISlabEepeplian,offer如果满则返回false      remove,poll:移除一个元素,为空时,remove抛异常NoSuchElemen ...
对于如下代码: public class Test { public static void main(String[] args) { int i = 0 ; Test test = new Test(); test.valueMethod(i); System.out.println(i); } private void valueMethod(int a){ a = 5; } }   ...
一、线程概述 线程是程序运行的基本执行单元。当操作系统(不包括单线程的操作系统,如微软早期的DOS)在执行一个程序时,会在系统中建立一个进程,而在这个进程中, 必须至少建立一个线程(这个线程被称为主线程)来作为这个程序运行的入口点。因此,在操作系统中运行的任何程序都至少有一个主线程。 线程是程序运行的基本执行单元。当操作系统(不包括单线程的操作系统,如微软早期的DOS)在执行一个程序时,会在系统中建立一个进程,而在这个进 程中,必须至少建立一个线程(这个线程被称为主线程)来作为这个程序运行的入口点。因此,在操作系统中运行的任何程序都至少有一个主线程。 进程和线程是现代操作系统中两个 ...
  首先介绍一下,JDBC框架做到了热插拔。 一.Driver接口 //Driver.java package java.sql; public interface Driver {     Connection connect(String url, java.util.Properties info) throws SQLException;     boolean acceptsURL(String url) throws SQLException;    ...
Global site tag (gtag.js) - Google Analytics