自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

myCoffeeTime

java小白的学习之路

  • 博客(25)
  • 资源 (3)
  • 收藏
  • 关注

原创 spring bean 标签的解析和注册

spring bean 标签的解析和注册:protected void processBeanDefinition(Element ele, BeanDefinitionParserDelegate delegate) { BeanDefinitionHolder bdHolder = delegate.parseBeanDefinitionElement(ele); if (bdHo

2017-06-11 21:15:30 486

原创 spring第一篇----XmlBeanFactory 小结

跟着《spring源码深度解析》学习spring做过java开发,我们对以下的代码一定很熟悉,这是最基本的spring使用方式public static void main(String[] args) throws InterruptedException { BeanFactory bf = new XmlBeanFactory(new ClassPathResource("s

2017-06-04 17:02:04 419

转载 XML中DTD,XSD的区别与应用

XML我们并不陌生,在企业级应用中有很广的用途。具体就不再说,下面介绍一下DTD,XSD的区别并以XSD为例看spring中定义与使用。1.DTD(Documnet Type Definition)DTD即文档类型定义,是一种XML约束模式语言,是XML文件的验证机制,属于XML文件组成的一部分。DTD 是一种保证XML文档格式正确的有效方法,可以通过比较XML文档和DTD文件来看文档

2017-05-21 17:15:21 526

转载 深入理解java异常处理机制

本文转自:http://blog.csdn.net/hguisu/article/details/6155636 1. 引子       try…catch…finally恐怕是大家再熟悉不过的语句了,而且感觉用起来也是很简单,逻辑上似乎也是很容易理解。不过,我亲自体验的“教训”告诉我,这个东西可不是想象中的那么简单、听话。不信?那你看看下面的代码,“猜猜”它执行后的结果会是什

2017-05-13 13:32:42 390

转载 Volatile 的正确使用

本文转自:https://www.ibm.com/developerworks/cn/java/j-jtp06197.htmlJava 语言中的 volatile 变量可以被看作是一种 “程度较轻的 synchronized”;与 synchronized 块相比,volatile 变量所需的编码较少,并且运行时开销也较少,但是它所能实现的功能也仅是 synchronized 

2017-05-06 10:13:43 297

原创 扩展ThreadPoolExector

ThreadPoolExector

2017-04-22 17:38:29 344

原创 扫描某个包下所有的类,输出所有使用了特定注解的类的注解值

扫描某个包下所有的类,输出所有使用了特定注解的类的注解值

2017-04-18 18:36:17 22139 1

转载 注解(Annotation)自定义注解入门

要深入学习注解,我们就必须能定义自己的注解,并使用注解,在定义自己的注解之前,我们就必须要了解Java为我们提供的元注解和相关定义注解的语法。元注解:  元注解的作用就是负责注解其他注解。Java5.0定义了4个标准的meta-annotation类型,它们被用来提供对其它 annotation类型作说明。Java5.0定义的元注解:    1.@Target,

2017-04-15 20:24:12 220

原创 LinkedBlockingQueue 浅析

首先我们来看一下它的代码结构public class LinkedBlockingQueue extends AbstractQueue implements BlockingQueue, java.io.Serializable { //... static class Node {//队列中存储元素的结构 E item; /**

2017-03-18 23:46:13 303

原创 ExecutorService.submit()浅析(基于jdk1.6)

ExecutorService.submit()方法可以有两种入参1、实现Callable接口的类2、实现Runnable接口的类两种 方式的源码其实很类似public Future submit(Runnable task) { if (task == null) throw new NullPointerException(); RunnableFuture fta

2017-03-10 20:47:41 782

原创 Runnable、Callable、Future接口区别

我们分别看一下这三个接口的方法:1、Runnable接口只有一个run()方法 ,并且该方法无返回值(我们相当熟悉)。public interface Runnable { public abstract void run();}2、Callable接口也只有一个call()方法,但是该方法有具体的返回值。public interface Callable {

2017-03-08 23:10:27 399

原创 ThreadLocal 小结

(关于 threadLocal 的网上应该有很多优秀的文章,本文用于个人整理,以及有需要的人拿来参考,有什么不正确的地方,欢迎指正,共同进步。)ThreadLocal 通常被称为本地线程变量,为什么呢?因为在多线程环境下,通过ThreadLocal,我们只要使用一个ThreadLocal对象,就可以为每个线程都可以维护一个该对象的副本,而且每个线程都可以单独修改自己的副本,并且不会影响到其

2017-03-06 22:47:11 244

原创 Executor 框架小结

在Java中,使用线程来异步执行任务,但是线程的创建和销毁都需要一定的开销,如果我们为每一个任务都新开一个线程来执行,必然对计算机造成巨大的压力。 从JDK 5开始,Java可以提供了将工作单元和执行机制分离开的工具,其中工作单元是实现了Runnable或者Callable接口类,而执行机制就是我们下面要讲到的Executor 框架。Executor 框架的结构一、任务:即工作

2017-03-05 22:03:00 256

原创 数据库隔离级别

数据库可能存在的问题:1、脏读:脏读是指在一个事务处理过程里读取了另一个未提交的事务中的数据;2、不可重复读:不可重复读是指在对于数据库中的某个数据,一个事务范围内多次查询却返回了不同的数据值,这是由于在查询间隔,被另一个事务修改并提交了,不可重                复读对应的是修改,即UPDATE操作;  3、幻读;幻读是事务非独立执行时发生的一种现象,幻读问题对应的是

2017-03-03 17:12:11 214

原创 java 线程池小结

在java中,使用线程来异步执行任务,java线程的创建和销毁都需要消耗一定的资源,因此从JDK5 开始,有了线程池这个好东西。线程池(ThreadPoolExecutor)主要有以下几个好处:(1)降低资源消耗:可以重复利用已创建的线程来降低线程创建和销毁造成的消耗;(2)提高响应速度:当任务到达时,不需要等待线程创建就可以执行任务(因为线程已经在线程池里准备好了!);(3)提高

2017-02-28 22:35:33 444

原创 设计模式之中介者模式(调停模式)

中介者模式(调停模式):用一个对象(中介对象)封装一系列对象的交互,中介对象使得各个对象之间不需要显式地相互调用,从而使其耦合松散,而且可以独立改变它们之间的交互关系(只需要改动中介者类),如果不使用中介者模式,改动将会很大。我们来看一下不使用中介者模式的进销存系统和使用中介者模式的进销存系统的区别:不使用中介者对象,我们可以看到采购管理、销售管理、存货管理类之间都相互依赖,如果改动一个类

2017-02-26 14:12:34 309

原创 设计模式之原型模式

原型模式的定义:用原型实例创建对象种类,并且通过拷贝这些原型创建新的对象。原型模式的使用方式:1、实现Cloneable接口;2、重写Object类中的clone方法。原型模式注意点:(1)对象进行拷贝时,构造函数不会被执行(直接在内存中进行拷贝);(2)深拷贝和浅拷贝(浅拷贝:只拷贝对象,对象内部的数组以及对象引用不会被拷贝,String类型对象除外);(3)要使用clo

2017-02-26 13:40:29 218

原创 设计模式---六大原则

1、单一职责原则:每个接口或者类只负责一个职责(这个原则其实很难鉴定);2、里氏替换原则:只要父类可以出现的地方,子类就可以出现,而且替换为子类也不会出现任何的错误或者异常,但是反过来就不可以;3、依赖倒置原则:模块之间的依赖关系通过抽象或者接口产生,实现类之间不应该产生之间的关系,其依赖关系通过抽象或者接口产生,抽象或者接口不应该依赖具体的实现类,实现类依赖抽象类或者接口;4、接口隔

2017-02-25 14:31:22 263

原创 java虚拟机--垃圾收集算法与垃圾收集器

1、  引用计数算法:对对象添加一个引用计数器,每当一个地方引用它,引用计数+1,引用失效时,引用计数-1;2、  可达性分析算法:通过一系列的称为“GCRoots”的对象作为起始点,从这些节点开始向下搜索,搜索所走过的路径称为引用链(Reference Chain),当一个对象到GCRoots没有任何引用链相连(用图论的话来说,就是从GC Roots到这个对象不可达)时,则证明此对象是不

2017-01-15 17:03:31 296

原创 java notify()、 notifyAll()、 wait()、sleep()、yield()、join()方法学习

notify()、notifyAll()、wait()方法都是Object类中的方法,而且都被定义为native final的,因此不可以被重写,并且这三个方法都只能在同步代码块或者方法中使用1、wait():调用某个对象的wait方法可以使当前线程立即进入阻塞状态而不继续往下执行代码,前提是此线程必须拥有此对象的锁。2、notify():调用某个对象的的notify方法可以唤醒一

2017-01-04 20:14:40 261

原创 java 虚拟机

我们平时进行程序开发工作只是做到了第一步的java文件的编写,而后面的事情不是一般程序员所关心的事情。当我们在进行Ctrl + S操作时,我们的IDE工具(eclipse)会对我们编写的java文件进行编译工作,生成一个class文件,如果我们的程序写的没有问题,那么eclipse可以对我们的java文件进行正常的编译。比如我们在eclipse中写下以下的java文件:通过

2016-12-18 17:10:10 278

转载 ReentrantReadWriteLock读写锁的使用

ReentrantReadWriteLock读写锁的使用         ReentrantReadWriteLock里一共有两把锁,一把读锁,一把写锁;读写锁使用场景:适合读次数多写次数少的场景。1、线程进入读锁和写锁的前提条件:线程进入读锁的前提条件:         没有其他写锁;没有写的请求或者有写的请求,但是和持有锁得线程是同一个线程。线程进入写锁的前提条件:

2016-11-26 15:33:05 923

原创 java notify() notifyAll() wait()方法学习

notify()、notifyAll()、wait()方法都是Object类中的方法,而且都被定义为native final的,因此不可以被重写,并且这三个方法都只能在同步代码块或者方法中使用wait():调用某个对象的wait方法可以使当前线程进入阻塞状态,前提是当线程必须拥有此对象的锁。notify():调用某个对象的的notify方法可以唤醒一个正在等待此对象的锁的线程,如果

2016-10-12 20:12:23 212

原创 关于Myeclipse出现 java文件中文乱码问题的解决方案.

Myeclipse出现 java文件中文乱码问题 :一.:将整个project设置编码UTF-8(UTF-8可以最大的支持国际化)   windows->Preferences->general->Workspace->Text file encoding->Other框中的Text file encoding改为UTF-8。  二:对java源文件编码设置为UTF-8.   window

2016-01-18 11:18:14 537

原创 java Static 的使用。

static的使用小结

2015-09-25 16:32:26 273

java多线程编程技术

2017-02-25

设计模式之禅

设计模式之禅,有导航页

2017-02-25

java synchronized 学习

文章中详细描述了synchronize的使用方法,以及多线程的一些基本使用,纯手打。

2016-12-03

空空如也

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

TA关注的人

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