自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 Oracle锁表查询和解锁方法

转载:https://blog.csdn.net/u013991521/article/details/53535818数据库操作语句的分类DDL:数据库模式定义语言,关键字:createDML:数据操纵语言,关键字:Insert、delete、updateDCL:数据库控制语言 ,关键字:grant、removeDQL:数据库查询语言,关键字:selectoracle表在什么情况下会被锁住DML...

2018-04-23 23:04:17 389

转载 浅谈服务治理与微服务

转载:https://blog.csdn.net/suifeng3051/article/details/53992560近期都在谈微服务,本人也正在做相关的工作,应领导要求做了一个微服务的分享,本篇文章主要来源于分享的PPT,所以有些简单,有问题可以在下面留言,大家 一起讨论。本篇文章先简单介绍了互联网架构的演变,进而介绍了服务化,最后再介绍微服务,微服务是服务治理的升级也是互联网架构的进一步延...

2018-04-18 23:27:50 124

转载 设计模式(二) 三种适配器模式 总结和使用场景

转载请标明出处: http://blog.csdn.net/zxt0601/article/details/52848004本文出自:【张旭童的博客】一 概述定义:适配器模式将某个类的接口转换成客户端期望的另一个接口表示,主的目的是兼容性,让原本因接口不匹配不能一起工作的两个类可以协同工作。其别名为包装器(Wrapper)。属于结构型模式主要分为三类:类适配器模式、对象的适配器模式、接口的适配器模...

2018-04-14 17:56:25 1145

原创 JCS缓存应用和源码解密

一、理解缓存的三个核心概念Elements : JCS是一个对象缓存,能放置一些对象或是”elements”并通过key来访问它们,很像一个hashtable。可以想象JCS是一个能过Name来获取的hashtables的集合。Regions : 每一个hashtables都被称做“region”,每一个region都能被独立于其他regions配置。例如,可以有一个称做城市的region,缓存了...

2018-04-10 00:42:57 384

原创 Spring getBean实例化过程

单例bean实例保存在DefaultSingletonBeanRegistry类的ConcurrentHashMap<String, Object>(256);中1、根据bean名称从缓存中查询,如果查询到再进行判断是否FactoryBean,如果不是直接返回实例;如果是FactoryBean,再判断是否取FactoryBean本身,如果是直接返回,否则调用FactoryBean工厂的...

2018-04-06 18:12:21 691

转载 Spring JdbcTemplate方法详解

JdbcTemplate主要提供以下五类方法:execute方法:可以用于执行任何SQL语句,一般用于执行DDL语句;update方法及batchUpdate方法:update方法用于执行新增、修改、删除等语句;batchUpdate方法用于执行批处理相关语句;query方法及queryForXXX方法:用于执行查询相关语句;call方法:用于执行存储过程、函数相关语句。 JdbcTemplate...

2018-04-05 22:22:53 147

转载 volatile是否能保证数组中元素的可见性?

在javaeye有位朋友问了我一个非常好的问题。问题一个线程向volatile的数组中设置值,而另一个线程向volatile的数组中读取。比如seg.setValue(2),随后另一个线程调用seg.getValue(2),前一个线程设置的值对读取的线程是可见的吗?我看书上说volatile的数组只针对数组的引用具有volatile的语义,而不是它的元素。ConcurrentHashMap中也有这...

2018-04-05 17:41:13 843

转载 TCP粘包/拆包问题

目录TCP粘包/拆包TCP粘包/拆包问题说明TCP粘包/拆包发生的原因粘包问题的解决策略未考虑TCP粘包导致功能异常案例 TimeServer的改造TimeClient的改造 利用LineBasedFrameDecoder解决TCP粘包问题LineBasedFrameDecoder和StringDecoder的原理分析 无论是服务端还是客户端,当我们读取或者发送消息的时候,都需要考虑TCP底层的粘...

2018-04-03 16:56:53 412

原创 SpringAOP源码解析总结

问题一、何时生成代理bean??在getBean()过程中,进行了bean的实例化、依赖注入、初始化后,通过bean后处理器进行生成代理类。在getBean()过程中的AbstractAutowireCapableBeanFactory类的 createBean ->doCreateBean 方法完成bean的创建和依赖注入后,进入initializeBean方法进行初始化在初始化bean后...

2018-04-02 19:13:13 242

转载 Aop自动创建代理对象的原理

转载:https://blog.csdn.net/elim168/article/details/78445835我们在使用Spring Aop时,通常Spring会自动为我们创建目标bean的代理对象,以使用对应的Advisor。前提是我们在使用Spring Aop时是使用的<aop:config/>或<aop:aspectj-autoproxy/>,这是因为当我们在ap...

2018-04-02 17:30:21 372

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

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

2018-03-29 16:00:17 2215

原创 管理的道和术

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

2018-03-29 11:26:07 2917

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

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

2018-03-27 23:51:58 412

转载 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 2510 1

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

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

2018-03-26 15:36:53 155

转载 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 1050

转载 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 3410

原创 JDBC编程总结

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

2018-03-25 23:03:41 172

原创 设计模式总结

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

2018-03-23 23:24:47 140

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

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

2018-03-23 23:15:39 1594

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

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

2018-03-23 12:21:08 412

原创 【Java 并发】详解 ThreadLocal

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

2018-03-22 22:19:25 131

原创 spring总结

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

2018-03-22 11:36:52 130

转载 JdbcTemplate简介

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

2018-03-21 08:31:56 170

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

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

2018-03-19 09:26:29 137

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

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

2018-03-18 17:15:27 257

转载 对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 219

转载 一个很详细的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 435

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

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

2018-03-16 17:34:11 242

转载 HashMap的工作原理

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

2018-03-16 17:10:09 127

原创 DelayQueue源码解析

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

2018-03-15 17:26:36 267

原创 ScheduledThreadPoolExecutor源码解析

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

2018-03-14 22:00:37 249

原创 AtomicInteger源码解析

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

2018-03-14 15:45:37 130

原创 Java Object方法解析

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

2018-03-14 12:13:28 207

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

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

2018-03-14 11:40:33 172

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

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

2018-03-14 10:18:23 162

转载 关于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 244

原创 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 372

原创 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 441

原创 CopyOnWriteArrayList源码分析

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

2018-03-08 21:10:35 134

JavaEE7-api

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

2018-01-24

oracle11g客户端

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

2018-01-24

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

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

2010-03-15

空空如也

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

TA关注的人

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