自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 资源 (26)
  • 收藏
  • 关注

原创 SpringBoot加载静态资源

在SpringBoot中加载静态资源和在普通的web应用中不太一样。默认情况下,Spring Boot从classpath下一个叫/static(/public,/resources或/META-INF/resources)的文件夹或从ServletContext根目录提供静态内容。下面我们来写个例子看一下就会一目了然了:首先看一下项目的目录结构:我们在resources下面的temp

2016-11-30 23:24:27 31359 4

原创 SpringBoot之添加单元测试

在SpringBoot里添加单元测试是非常简单的一件事,我们只需要添加SpringBoot单元测试的依赖jar,然后再添加两个注解就可搞定了。首先我们来添加单元测试所需要的jar org.springframework.boot spring-boot-starter-test 接着我们写了一个单元测试的dem

2016-11-20 20:39:57 22218

原创 SpringBoot之集成Spring AOP

在开始之前,我们先把需要的jar包添加到工程里。新增Maven依赖如下: org.springframework.boot spring-boot-starter-aop 接下来,我们进入正题。这里的涉及的通知类型有:前置通知、后置最终通知、后置返回通知、后置异常通知、环绕通知,下面我们就具体的来看一下怎么在Spr

2016-11-20 15:09:55 53928 7

原创 java反射增加装饰模式的普适性

装饰模式(Decorator Pattern)的定义是:在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象来包裹真实的对象。就增加功能来说,装饰模式相比于生成子类更为灵活。使用java的动态代理实现装饰模式会具有更强的灵活性、适应性。下面我们就来写一个使用java动态代理来实现装饰模式效果的例子。定义一个职责的接口:/** * 能力 */inte

2016-11-15 23:54:52 788

原创 多线程之同步线程通信小例子

最近在学习多线程的时候,看到这样的一个问题:有两个线程,一个是子线程,一个是主线程,子线程运行10次,接着主线程运行20次,接着子线程运行10,主线程运行20次,依次交替循环20次。刚开始看到这个问题的时候,很是茫然。后来分析一下,子线程和主线程交替运行,这是一个线程在执行的时候,另一个线程在等待状态,当在执行的线程执行完之后,唤醒另外一个线程,这样交替进行。线程在执行的地方是要加锁的。但是,在什

2016-11-15 23:21:38 1335

原创 多线程之线程池newFixedThreadPool(二)

在上一章中我们概述了一下线程池,这一章我们看一下创建newFixedThreadPool的源码。例子还是我们在上一章中写的那个例子。

2016-11-07 13:18:06 40445 1

原创 多线程之线程池概述(一)

java在JDK1.5之后引入了并发计算框架,java.util.concurrent。这个框架大大减轻了简化了多线程的开发工作。一个线程大概有五种状态:新建状态(New)、可运行状态(Runnable,也叫做运行状态)、阻塞状态(Blocked)、等待状态(Waiting)、结束状态(Terminated)。线程的状态只能由新建转变为了运行状态后才能被阻塞或者等待状态。线程的状态流转如图所示:

2016-11-06 23:19:42 938

原创 多线程之volatile关键字

每个线程都运行在java栈内存中,每个线程都有自己的工作内存。线程的计算一般是通过工作内存进行交互的。如图所示:从上图中我们可以看到,线程在初始化时从主内存中加载所需的变量值到工作内存中,然后在线程运行时,如果是读取,则直接从工作内存中读取,如果是写入则先写到工作内存中,之后再刷新到主内存中,这个可以看做是JVM的一个简单的内存模型,但是这样的结构在多线程的情况下有

2016-11-06 22:44:29 764

原创 多线程之定时器任务

在java中Timer是java.util包中的一个工具类,提供了定时器的功能。我们可以创建一个Timer对象,然后调用其schedule方法在某个特定的时间去执行一个特定的任务。并且你可以让其以特定频率一直执行某个任务,这个任务是用TimerTask来描述的,我们只需要将要进行的操作写在TimerTask类的run方法中即可。先附上两个小例子一遍让读者了解什么是定时器。接着再分析其中的一些源码实

2016-11-02 00:28:59 9151 1

apache_camel_tutorial

apache_camel_tutorial

2020-11-13

Netty权威指南第2版.

Netty 权威指南 第2版 Netty 权威指南 第2版 Netty 权威指南 第2版 Netty 权威指南 第2版 Netty 权威指南 第2版 Netty 权威指南 第2版 Netty 权威指南 第2版 Netty 权威指南 第2版 Netty 权威指南 第2版 Netty 权威指南 第2版 Netty 权威指南 第2版

2017-10-17

spring-framework-4.3.10.RELEASE

spring-framework-4.3.10.RELEASE spring-framework-4.3.10.RELEASE spring-framework-4.3.10.RELEASE spring-framework-4.3.10.RELEASE

2017-08-31

文件上传代码

文件上传代码

2017-03-08

javax.xml.rpc

javax.xml.rpc

2017-02-20

apache-ant

apache-ant

2016-12-24

org.apache.tools.ant

org.apache.tools.ant

2016-12-24

tomcat 9.0

tomcat 9.0 源码

2016-12-24

Tomcat 8.0 源码

Tomcat 8.0 源码

2016-12-24

tomcat 7.0源码

tomcat 7.0 源码

2016-12-24

tomcat6.0源码

tomcat6.0源码

2016-12-24

Java程序员修炼之道

2016-12-19

rocketmq3.5.8

alibaba-rocketmq3.5.8.zip

2016-10-30

jdk1.7 64位绿色版02

太大了,只能分两次上传。这个是第二部分。jdk1.7 64位绿色版02。

2016-10-24

jdk1.7 64位官方正式版

jdk1.7 64位官方正式版

2016-10-24

postgresql-9.6.0.tar.gz

pgsql-9.6.0 Linux Source

2016-10-21

Sublime Test 3 Package Control

Sublime Test 3 Package Control

2016-09-27

Linux tomcat 7 64位

Linux tomcat 7 64位

2016-09-21

dubbo-admin-2.5.4-SNAPSHOT.war

dubbo-admin-2.5.4-SNAPSHOT.war

2016-09-13

dubbo-admin-2.5.4

2016-09-13

zookeeper-3.3.6.tar.gz

zookeeper

2016-09-13

Java面试笔试题汇总(精选版)

Java面试笔试题汇总(精选版).pdf

2016-08-11

Spring Boot小例子

Spring Boot小例子

2016-08-08

Spring-4.3源码

Spring源码、spring4.3

2016-07-05

空空如也

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

TA关注的人

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