自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 资源 (3)
  • 收藏
  • 关注

转载 论Spring中循环依赖的正确性与Bean注入的顺序关系

一、前言最近在做项目时候遇到一个奇葩问题,就是bean依赖注入的正确性与bean直接注入的顺序有关系,但是正常情况下明明是和顺序没关系的啊,究竟啥情况那,不急,让我一一道来。二、普通Bean循环依赖-与注入顺序无关2.1 循环依赖例子与原理public class BeanA { private BeanB beanB; public BeanB g

2018-03-29 16:00:17 2201

原创 管理的道和术

       两种不同的管理,一种看似管理者每天都很忙,为了管理学习很多技巧,每天都在指导和决策、督促团队,每周都开会指导方法、培训团队技巧;一种看起来轻松自然,不怎么干预团队具体的事情,定下目标和规范就行,隔段时间让团队聚聚餐大家乐和一起提团队温馨。        之前在于总管理的时候,他经常会交一些管理的具体操作方法,针对某件事具体处理他也会给予指导。他用他自己的说来说他也是每天都很勤奋的思考...

2018-03-29 11:26:07 2854

转载 读取Spring的配置文件applicationContext.xml的5种方法

1.利用ClassPathXmlApplicationContext,这种方式配置文件应该放在类包同路径下Java代码:ApplicationContext ct=new ClassPathXmlApplicationContext("applicationContext01.xml");ct.getBean("");2.利用FileSystemXmlApplicatio

2018-03-27 23:51:58 330

转载 Spring实例化bean如何决定用JDK反射或CGLIB时机

getbean时,如果没有用代理,如果bean没有配置lookup-method和replace-method则采用JDK反射否则使用CGLIB。在Spring源代码中有这样一段代码    public Object instantiate(            RootBeanDefinition beanDefinition, String beanName, BeanFactory own...

2018-03-27 19:03:17 2467 1

转载 Spring Bean的生命周期(非常详细)

Spring作为当前Java最流行、最强大的轻量级框架,受到了程序员的热烈欢迎。准确的了解Spring Bean的生命周期是非常必要的。我们通常使用ApplicationContext作为Spring容器。这里,我们讲的也是 ApplicationContext中Bean的生命周期。而实际上BeanFactory也是差不多的,只不过处理器需要手动注册。 转载请注明地址 http://www.cnb...

2018-03-26 15:36:53 149

转载 Spring源码分析之BeanPostProcessor接口和BeanFactoryPostProcessor接口方法不执行原因分析

过程分析的很精彩,原文转载:https://blog.csdn.net/u011734144/article/details/72600932首先下面是我的Bean[html] view plain copy/*   * Copyright 2002-2017 the original author or authors.   *   * Licensed under the Apache Lic...

2018-03-26 12:00:08 989

转载 spring 动态代理如何决定使用jdk代理和cglib(网易面试题)

Spring1.2:将事务代理工厂[TransactionProxyFactoryBean] 或 自动代理拦截器[BeanNameAutoProxyCreator]的 proxyTargetClass 属性,设置为true,则使用CGLIB代理,此属性默认为false,使用JDK动态代理.以下引用 Spring Framework reference 2.0.5:Spring2.0:Spring ...

2018-03-25 23:42:04 3374

原创 JDBC编程总结

1、 元数据:指系统表存储的每个事务的相关信息,例如名字,结构,位置,类型。2、一个数据库的一个实例可以包括多个数据库。3、视图:一个或者多个表数据的逻辑显示,视图并不存储数据。4、truncate比delete效率要高。truncate 表名;truncate只能删除表里的全部数据。5、SQL语句中的字符串是单引号不是双引号。6、约束:constraint test2_uk unique(tes...

2018-03-25 23:03:41 161

原创 设计模式总结

1、命令模式:某个方法大部分逻辑依据确定,少部分逻辑不确定,需要等到方法执行时传入才能确定。可以把不确定逻辑封装进一个匿名类作为参数传递给方法,然后在方法体力调用传送参数的逻辑来实现不确定逻辑。2、观察者模式:定义了一对多依赖关系,让一个或多个观察者观察一个主题对象。当主题对象变化时依次通知依赖的观察者对象。1)、被观察对象:一个容器保存注册的观察者;一个注册方法,注册保存观察者;一个轮询通知

2018-03-23 23:24:47 129

转载 Java设计模式补充:回调模式、事件监听器模式、观察者模式(转)

一、回调函数为什么首先会讲回调函数呢?因为这个是理解监听器、观察者模式的关键。什么是回调函数所谓的回调,用于回调的函数。 回调函数只是一个功能片段,由用户按照回调函数调用约定来实现的一个函数。 有这么一句通俗的定义:就是程序员A写了一段程序(程序a),其中预留有回调函数接口,并封装好了该程序。程序员B要让a调用自己的程序b中的一个方法,于是,他通过a中的接口回调自己b中的方法。举个例子:这里有两个...

2018-03-23 23:15:39 1572

转载 Proxy动态代理应用、源码分析

注:1、Java的动态代理是基于接口的,如果类未实现接口是不能进行代理的,需要使用CGlib方式。前言代理是java中非常重要的一种设计模式 ,动态代理则是是一种代理模式的最佳实践,本文将由浅及深的介绍动态代理及其proxy源码分析,文章写的不一定都对,请各位看官带着批判的态度阅读此文章.代理模式是设计模式中的一种,而且在实际的开发中使用的频率非常高 ,比如spring AOP,mybatis代理...

2018-03-23 12:21:08 394

原创 【Java 并发】详解 ThreadLocal

目录前言线程局部变量使用示例具体实现ThreadLocalMap副本变量存取ThreadLocal 散列值应用场景参考文章 前言ThreadLocal 主要用来提供线程局部变量,也就是变量只对当前线程可见,本文主要记录一下对于 ThreadLocal 的理解。更多关于 Java 多线程的文章可以转到 这里。线程局部变量在多线程环境下,之所以会有并发问题,就是因为不同的线程会同时访问同一个共享变量,...

2018-03-22 22:19:25 124

原创 spring总结

1、依赖注入或者控制反转的意义,减少类与类直接的调用耦合。通过调用bean的角度为控制反转,通过容器的角度为依赖注入。类里依赖的是接口,接口通过配置文件注入实现类。2、注入方法:1)、设置注入<property name = "属性名" ref="bean名"2)、构造注入  <constructor-arg ref="bean名称">   区别:注入的时机不同,设置为先通过无参...

2018-03-22 11:36:52 116

转载 JdbcTemplate简介

JdbcTemplate简介  Spring对数据库的操作在jdbc上面做了深层次的封装,使用spring的注入功能,可以把DataSource注册到JdbcTemplate之中。  JdbcTemplate位于中。其全限定命名为org.springframework.jdbc.core.JdbcTemplate。要使用JdbcTemlate还需一个这个包包含了一下事务和异常控制

2018-03-21 08:31:56 165

转载 Java三大器之监听器(Listener)的工作原理和代码演示

  现在来说说Servlet的监听器Listener,它是实现了javax.servlet.ServletContextListener 接口的服务器端程序,它也是随web应用的启动而启动,只初始化一次,随web应用的停止而销毁。主要作用是:做一些初始化的内容添加工作、设置一些基本的内容、比如一些参数或者是一些固定的对象等等。首先来看一下ServletContextListener接口的源代码:[...

2018-03-19 09:26:29 128

转载 Java三大器之过滤器(Filter)的工作原理和代码演示

一、Filter简介  Filter也称之为过滤器,它是Servlet技术中最激动人心的技术之一,WEB开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp,Servlet, 静态图片文件或静态html文件等进行拦截,从而实现一些特殊的功能。例如实现URL级别的权限访问控制、过滤敏感词汇、压缩响应信息等一些高级功能。  Servlet API中提供了一个Filter接口,开...

2018-03-18 17:15:27 238

转载 对request.getSession(false)的理解(附程序员常疏忽的一个漏洞)

本文属于本人原创,转载请注明出处:http://blog.csdn.net/xxd851116/archive/2009/06/25/4296866.aspx【前面的话】在网上经常看到有人对request.getSession(false)提出疑问,我第一次也很迷惑,看了一下J2EE1.3 API,看一下官网是怎么解释的。 【官方解释】  getSession public HttpSession...

2018-03-18 16:43:34 197

转载 一个很详细的web.xml讲解

1、启动一个WEB项目的时候,WEB容器会去读取它的配置文件web.xml,读取<listener>和<context-param>两个结点。 2、紧急着,容创建一个ServletContext(servlet上下文),这个web项目的所有部分都将共享这个上下文。 3、容器将<context-param>转换为键值对,并交给servletContext。 4、容...

2018-03-18 14:13:31 415

转载 走技术线,还是技术管理线?

转载的一片文章,如果工作3年后能够看到这篇文章那该多好啊??现在回头看自己10职业生涯,对自己和身边人的一些总结和思考,发现此文见解非常好!最近因为要给刚毕业的学生做一次演讲,所以就职业发展这类话题先以写博客的形式做一些思考,希望届时能给同学们带去质量更高的内容。我在《驾驭你的“职场布朗运动”》一文中谈了25条职场感悟并提出了“走技术线,还是技术管理线?”这一问题,但实际上并没有给予解答。特补上。...

2018-03-16 17:34:11 219

转载 HashMap的工作原理

转载:http://www.importnew.com/7099.html本文由 ImportNew - 唐小娟 翻译自 Javarevisited。欢迎加入翻译小组。转载请见文末要求。HashMap的工作原理是近年来常见的Java面试题。几乎每个Java程序员都知道HashMap,都知道哪里要用HashMap,知道Hashtable和HashMap之间的区别,那么为何这道面试题如此特殊呢?是因为...

2018-03-16 17:10:09 119

原创 DelayQueue源码解析

    Delayed 元素的一个无界阻塞队列,只有在延迟期满时才能从中提取元素。该队列的头部 是延迟期满后保存时间最长的 Delayed 元素。如果延迟都还没有期满,则队列没有头部,并且 poll 将返回 null。当一个元素的 getDelay(TimeUnit.NANOSECONDS) 方法返回一个小于等于 0 的值时,将发生到期。即使无法使用 take 或 poll 移除未到期的元素。  ...

2018-03-15 17:26:36 232

原创 ScheduledThreadPoolExecutor源码解析

一、概述ScheduledThreadPoolExecutor继承了ThreadPoolExecutor;内部扩展了任务的ScheduledFutureTask类实现运行任务后修改下一次执行时间;对队列内部采用了再次继承封装的DelayQueue队列,运用了DelayQueue队列的添加排序特性根据最先运行时间进行排序,运用了DelayQueue只有在延迟期满时才能从中提取元素,并且该队列的头部 ...

2018-03-14 22:00:37 230

原创 AtomicInteger源码解析

AtomicInteger,由于存储的值的value是volatile类型所有具有线程可见性。通过CAS比较交换进行自增,或者更新值具有原子性。所以AtomicInteger是线程安全的具有类锁一样的线程安全性。具体参见下面源码解析:    private static final Unsafe unsafe = Unsafe.getUnsafe();    private static fina...

2018-03-14 15:45:37 123

原创 Java Object方法解析

方法摘要protected  Objectclone()           创建并返回此对象的一个副本。如果对象的类不支持 Cloneable 接口,则重写 clone 方法的子类也会抛出此异常,以指示无法复制某个实例。对 对象进行深拷贝,但不是彻底拷贝,例如:对象的属性类进行浅拷贝;如果在实现Cloneable 接口时也对属性类也进行拷贝,则属性类也为深拷贝 booleanequals(Obj...

2018-03-14 12:13:28 197

转载 详解Java中的clone方法 — 原型模式

装载:http://www.importnew.com/22035.htmlJava中对象的创建clone顾名思义就是复制, 在Java语言中, clone方法被对象调用,所以会复制对象。所谓的复制对象,首先要分配一个和源对象同样大小的空间,在这个空间中创建一个新的对象。那么在java语言中,有几种方式可以创建对象呢?1 使用new操作符创建一个对象2

2018-03-14 11:40:33 156

转载 Java中的String为什么是不可变的? -- String源码分析

转载:http://blog.csdn.net/zhangjg_blog/article/details/18319521什么是不可变对象?众所周知, 在Java中, String类是不可变的。那么到底什么是不可变的对象呢? 可以这样认为:如果一个对象,在它创建完成之后,不能再改变它的状态,那么这个对象就是不可变的。不能改变状态的意思是,不能改变对象内的成员变量,包括基本数据类型的值不能改变,引用...

2018-03-14 10:18:23 148

转载 关于Java中String类的hashCode方法

首先来看一下String中hashCode方法的实现源码 1 public int hashCode() { 2 int h = hash; 3 if (h == 0 && value.length > 0) { 4 char val[] = value; 5 6 for (int i = 0; i ) { 7

2018-03-14 09:57:36 227

原创 FutureTask和Callable源码解析

通过Future和Callable可以实现异步计算框架,实现流程如下:1、实现Callable接口里的call方法。2、FutureTask(Callable callable)new FutureTask 3、Thread(FutureTask ).start启动线程4、FutureTask的get()方法阻塞式得到结果。二、源码分析//通过下面可以看到:FutureTask实现了R

2018-03-13 23:24:40 360

原创 ThreadPoolExecutor线程池源码解析

关键构造属性:    volatile int runState;                  保证了多线程的共享可见性    static final int RUNNING    = 0;          static final int SHUTDOWN   = 1;   运行了SHUTDOWN       static final int STOP       = 2;      ...

2018-03-12 23:50:43 431

原创 CopyOnWriteArrayList源码分析

1、注解:是ArrayList 的一个线程安全的变体,其中所有可变操作(add、set 等等)都是通过对底层数组进行一次新的复制来实现的。这一般需要很大的开销,但是当遍历操作的数量大大超过可变操作的数量时,这种方法可能比其他替代方法更 有效。在不能或不想进行同步遍历,但又需要从并发线程中排除冲突时,它也很有用。“快照”风格的迭代器方法在创建迭代器时使用了对数组状态的引用。此数组在迭代器的生存期内不...

2018-03-08 21:10:35 125

转载 彻头彻尾理解 LinkedHashMap

转载:http://blog.csdn.net/justloveyou_/article/details/71713781摘要:  HashMap和双向链表合二为一即是LinkedHashMap。所谓LinkedHashMap,其落脚点在HashMap,因此更准确地说,它是一个将所有Entry节点链入一个双向链表的HashMap。由于LinkedHashMap是HashMap的子类,所以Linke...

2018-03-07 22:44:04 506

转载 JVM内存设置多大合适?Xmx和Xmn如何设置?

转载:https://www.dutycode.com/jvm_xmx_xmn_xms_shezhi.html问题:新上线一个java服务,或者是RPC或者是WEB站点, 内存的设置该怎么设置呢?设置成多大比较合适,既不浪费内存,又不影响性能呢?分析:依据的原则是根据Java Performance里面的推荐公式来进行设置。具体来讲:Java整个堆大小设置,Xmx 和 Xms设置为老年代存活对象的...

2018-03-06 22:07:14 2615

转载 Java内存模型

1. 概述  多任务和高并发是衡量一台计算机处理器的能力重要指标之一。一般衡量一个服务器性能的高低好坏,使用每秒事务处理数(Transactions Per Second,TPS)这个指标比较能说明问题,它代表着一秒内服务器平均能响应的请求数,而TPS值与程序的并发能力有着非常密切的关系。在讨论Java内存模型和线程之前,先简单介绍一下硬件的效率与一致性。2.硬件的效率与一致性  由于计算机的存储...

2018-03-06 12:44:42 118

转载 HotSpot虚拟机对象创建过程介绍

1.对象的创建Java是一门面向对象语言,在运行过程中无时不刻不在创建对象。从语言层面,创建对象仅仅是一个new关键字而已,而在虚拟机中,对象(文中讨论的对象仅限于普通java对象,不包含数组和Class对象等)的创建又是怎么样的过程呢?1.1类加载检查虚拟机遇到一条new指令的时候,首先将去检查这个指令的参数在常量池中能否定位到一个类的符号引用,并且检查这个符号引用代表的类是否已被加载、解析和初...

2018-03-05 23:13:40 179

转载 分布式如何实现session共享

最近,在工作中遇到一个问题,问题描述:一个用户在登录成功以后会把用户信息存储在session当中,这时session所在服务器为server1,那么用户在session失效之前如果再次使用app,那么可能会被路由到server2,这时问题来了,server没有该用户的session,所以需要用户重新登录,这时的用户体验会非常不好,所以我们想如何实现多台server之间共享session,让用户状态

2018-03-05 15:10:20 546

原创 servlet配置及生命周期相关

该篇文章记录了Servlet配置相关用法及Servlet在Servlet容器中生命周期方法。Tomcat是一个Servlet容器:1、Servlet容器管理了Servlet的整个生命周期,并调用servlet的生命周期的方法。2、Servlet容器不只是Servlet的生命周期,而且还是Jsp,Filter,Listener,Tag等生命周期管理容器。Servlet

2018-03-04 23:19:00 127

转载 如何判断请求是否是AJAX请求

首先需要明白一点AJAX请求中主要对象(原生对象)是什么?XMLHttpRequest具体参考AJAX的前生今世 (http://blog.csdn.net/j080624/article/details/55101279)。知道了该对象,那么就可以通过判断请求头属性来鉴别当前请求:一次AJAX请求头如下:一次普通get请求如下:示例代码如下:String requestType = reques...

2018-03-04 21:57:50 1152

转载 AJAX - XMLHttpRequest 的前世今生

Web 2.0 一瞥在深入研究代码之前首先看看最近的观点 —— 一定要十分清楚 Web 2.0 这个概念。听到 Web 2.0 这个词的时候,应该首先问一问 “Web 1.0 是什么?” 虽然很少听人提到 Web 1.0,实际上它指的就是具有完全不同的请求和响应模型的传统 Web。比如,到 Amazon.com 网站上点击一个按钮或者输入搜索项。就会对服务器发送一个请求,然后响应再返回到浏

2018-03-04 21:17:43 248

转载 Java中的String,StringBuilder,StringBuffer三者的区别

转载:https://www.cnblogs.com/su-feng/p/6659064.html最近在学习Java的时候,遇到了这样一个问题,就是String,StringBuilder以及StringBuffer这三个类之间有什么区别呢,自己从网上搜索了一些资料,有所了解了之后在这里整理一下,便于大家观看,也便于加深自己学习过程中对这些知识点的记忆,如果哪里有误,恳请指正。  这三个类之间的区...

2018-03-04 18:03:00 98

转载 dubbo框架学前原理介绍

alibaba有好几个分布式框架,主要有:进行远程调用(类似于RMI的这种远程调用)的(dubbo、hsf),jms消息服务(napoli、notify),KV数据库(tair)等。这个框架/工具/产品在实现的时候,都考虑到了容灾,扩展,负载均衡,于是出现一个配置中心(ConfigServer)的东西来解决这些问题。基本原理如图: 在 我们的系统中,经常会有一些跨系统的调用,如在A系统中要调用B系...

2018-03-02 23:49:57 127

JavaEE7-api

JavaEE7-api, 可以直接打开查看API使用方法 。开发时以备查看。

2018-01-24

oracle11g客户端

oracle11g客户端,64位版。不用去官网注册账号下载了,这里直接下载吧。

2018-01-24

EXT学习笔记-项目应用实践

开发EXT的过程中总结的一些使用技巧。关于EXT对象封装的一些应用。

2010-03-15

空空如也

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

TA关注的人

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