- 博客(26)
- 收藏
- 关注
原创 多线程中使用Spring的注入问题
在开发中经常会使用Spring的@Autowired来实现对象的自动注入,但是在最近的开发中在多线程中用Spring的@Autowired来自动注入时总是注入不进去,代码如下:package com.common.base.utils.SpringUtils;import org.springframework.beans.factory.annotation.Autowir...
2016-04-19 19:47:40
889
原创 Intellij IDEA自动生成serialVersionUID
转自:http://blog.youkuaiyun.com/arthur0088/article/details/17390515 默认情况下Intellij IDEA是关闭了继承了java.io.Serializable的类生成serialVersionUID的警告。如果需要ide提示生成serialVersionUID,那么需要做以下设置:1、setting->Inspecti...
2016-04-08 17:22:09
136
原创 RabbitMQ之Work Queues
本文翻译自RabbitMQ官网。一、工作队列介绍 上一部分通过简单的代码介绍了通过队列发送和接收消息,这一部分创建一个工作队列来发送和接收耗时的消息。工作队列的主要设计思想是将资源密集型的任务先放进队列中,避免立刻做资源密集型的任务,也就避免了一直等待该任务处理完成造成的堵塞。在短暂的HTTP请求中不可能一直等待复杂的任务处理完成后返回,而是先将消息放入消息队列就可以返回了,...
2016-03-27 16:27:07
154
原创 RabbitMQ之介绍
本文翻译自RabbitMQ官网。1、RabbitMQ的介绍 使用消息队列的一个主要的目的是解决数据消费速度和生产速度不一致的问题。 Rabbit MQ是众多消息代理中的一种。本质上,它负责从生产者接收到消息,然后将消息发送给消费者。在这个过程中,它可以根据你的选择对消息传递进行路由、缓存消息或者是持久化消息。先来看一些术语:(1)生产者即为发送...
2016-03-27 12:05:08
150
原创 Git使用教程
在使用git做日常版本控制的管理,现将git版本控制的操作步骤及日常经常使用的命令整理一下。 (1)首先从git代码库中下载代码到本地:git clone "http地址或者是git地址" (2)查看克隆下来的git库的分支情况:git branch 这个时候看到返回的是master,说明现在只有一个分支,即master分支 (3)然后在本地新建一个自己的开发...
2016-03-14 19:03:52
111
原创 设计模式之模板模式
模板模式,字面意思针对的是在应用开发中流程固定,具有固定模板的解决方法。 举例,在应用中流程分为before、onbusiness、end三个步骤,其中,before和end是固定不变的,而onBusiness根据具体的用户不同而不同。这个时候,就应用模板模式。代码如下: 模板的代码为:package com.designpattern.te...
2016-03-11 20:29:45
103
原创 Spring框架和Junit的结合使用
在spring框架做测试时,需要将所使用到的bean全部加载进容器中才可以进行测试,采用spring框架和junit结合的方法进行测试,配置如下:@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration(locations = "classpath*:application.test.xml")其中:@RunWi...
2016-03-02 20:37:21
152
原创 Junit学习第二篇-Junit简介
Junit是一个开源框架,可以写重复的自动化测试来确保代码的正确。它能够提供:(1)期望结果测试告警(2)共享常用的测试数据(3)易于组织和运行测试的测试套件(4)图形化的测试运行它可以被用来测试:(1)一个完成的对象;(2)一个对象的一部分--一个方法或者是一些相关联的方法;(3)几个对象之间的关联1、Junit的简单例子有下面一个类: pack...
2016-02-25 22:17:35
119
原创 Junit学习第一篇-单元测试介绍
1、什么是单元测试? 一个单元可以是一个函数、一个类、一个包、甚至是一个分系统,因此具体什么是单元测试,要依据你所测试的代码的实际情况来定义。举个例子,我们可以测试一个输出是否是我们期望的,当我们给定一个输入或者是判断条件被置为真或假时。 开发者可以通过单元测试发现代码背后的逻辑错误,提高代码的质量。并且单元测试也可以帮助开发者应对未来的可能的变化。2、测试的覆盖率 ...
2016-02-25 20:49:10
123
原创 Spring 注解方式实现自动检测和依赖注入
使用xml方式实现自动检测和依赖注入需要进行繁琐的xml配置,主要包括两个部分:(1)使用<bean>...</bean>进行bean的声明;(2)使用<property>...</property>或者<constructor-arg>...</constructor-arg>进行setter或者构造器的依赖注入...
2016-01-05 21:34:59
425
原创 设计模式之代理模式
在Spring AOP的实现中用到了JDK的代理模式,有必要将代理模式整理一下。 将按照“为什么使用代理模式”、“怎么样使用代理模式”来安排整个文章。1、为什么要使用代理模式 一个完成的系统有时候可以划分为系统需求和业务需求两种。业务需求即与业务相关的逻辑需求,而系统需求即如安全检查、前期校验等与系统相关的需求,而且系统需求一般穿插于业务需求中,需要在业务开始之前或者...
2015-12-13 16:22:29
112
原创 Spring IOC&DI之Setter注入
上一节总结了依赖注入中的构造器注入方式,本节总结基于Setter方式的注入及xml文件的配置方式。 还是根据所依赖对象的类型分为:(1)基本类型:如int型、String型等。(2)自定义类型:自定义的类型,也就是封装成了一个单独的bean。(3)容器类型:如List、Set、Map等(4)空类型 使用Setter方法注入必须要遵循javabean规范,类...
2015-12-10 10:29:18
201
原创 HashMap的遍历方法
HashMap内部维护的是一个内部元素为Entry的数组,Entry内部存储的才是真正的键值-值对,所以在遍历的时候,首先取出数组中的元素即Entry,然后再获取键值或者是值。 (1)不用迭代器 //放入元素 maps.put("wang", 1); maps.put("li", 2); maps.put("jiang", 3...
2015-12-09 20:56:38
103
原创 Spring IOC&DI的应用之构造函数注入
前文已经介绍Spring IOC&DI主要解决了对象和对象之间的耦合问题,将每一个对象作为bean交给Spring容器来管理。本文主要总结Spring IOC&DI的具体应用,包括其xml配置文件写法、依赖注入方式、bean获取方式等。既然是解决对象和对象之间的耦合,那根据所依赖对象的类型可以分为:(1)基本类型对象:所依赖对象为基本类型对象。如:int、Stri...
2015-12-09 20:36:19
320
原创 Spring框架之IOC&DI
前言:经过一系列被鄙视后,终于拿到一份还算满意的小offer,以后的日子就是不断学习的过程了,加油。 最近开始学习Spring框架,现将自己目前的学习状况以及自己的一部分理解总结一下。 Spring框架提供给用户的有两个大的主要功能:控制反转(IOC)或依赖注入(DI)和面向切面编程(AOP),当然还提供了其他的比如操作数据库的模板化以及事务管理、web开发中的Spring...
2015-12-06 15:21:05
114
原创 多线程之生产者消费者问题
在多线程编程过程中,为了保证是原子操作,必须处理好线程之间的同步和互斥,生产者消费者问题即是线程间同步和互斥的经典例子。生产者消费者问题的描述:生产者负责生产“产品”,消费者负责消费“产品”,当生产的产品满时(假设有一个生产的流水线),需等待消费者消费产品后才可以生产产品,不然就会溢出,当流水线上没有产品时,消费者就等待生产者生产产品。问题分解如下:(1)一个生产者对应一个生产者线
2015-09-09 21:35:36
1828
原创 git版本管理系统使用
git是一种分布式版本控制系统,对于代码或者文档的版本管理带来很大方便。目前用的比较多的svn是一种集中式版本控制系统。分布式版本控制系统的优点是:每一个用户在本地都有一个版本库,对代码或者文档的修改、提交等操作只需要在本地完成即可,仅当多人协作需要合并时需要将个人的修改push到一个“中央服务器”中,然后执行合并操作;而集中式版本控制系统每次需要修改代码或文档时都需要从“中央服务器”
2015-09-05 21:21:32
387
原创 多线程编程之进程、线程、进程间通信、线程间通信简介
进程:进程是一个程序在一个数据集合上的一次运行过程,是内存中正在执行的一个程序,每一个进程独立的占有内存空间。线程:是进程中的一个实体,是被系统独立调度和执行的基本单位。进程相当于线程在内执行的一个容器,本身是不活跃的,真正活跃的是线程,多个线程共享在一个进程中的地址空间,因此可以高效的共享数据;但是多个进程只能共享代码段,而不能共享数据。以上是进程和线程的联系与区别。进程
2015-09-04 11:40:16
693
原创 面试题:冒泡排序,选择排序,插入排序,快速排序,归并排序,堆排序
面试题之各种排序,现整理如下:冒泡排序:最常见排序之一,主要算法思想是:最下面数据依次与其相邻数据相比较,如果比相邻数据小,则交换,以此类推,直到最小的数放在最上层,形似冒泡,代码如下:void bubblesort(int a[],int len){ for (int i = 0; i < len; i++) { for (int j = len -1; j > i;
2015-08-22 00:35:17
785
原创 windows核心编程之sleep
在多线程编程中经常会用到sleep(),windows核心编程中是这样描述的:当线程想要告诉系统,它想要在某个时间段内不被调用,这时可以使用sleep函数,当调用sleep后,该线程自愿放弃它剩余的时间片,这时其他的线程就可以抢占式被调度了。使用sleep时需注意以下几点:(1)windows操作系统不是实时操作系统,因此当某一线程调用sleep时,并不一定会在指定的时间后被唤醒,有可
2015-07-20 21:18:20
1755
原创 创建多线程API调用类成员函数的方式
在熟悉多线程编程过程中,在做demo是需要在创建多线程时将类成员函数作为参数,以下是方法,总结如下: 创建多线程时直接用类成员函数的函数指针作为参数是不可以的,只能是static静态成员函数才可以,因此需要多写一个static成员函数,将类的指针作为参数传进来用来封装一下。 类的成员函数声明如下:class thread_t{public: ~thre
2015-07-19 18:25:41
493
原创 windows核心编程之进程&线程
在前一章总结内核对象时提到过进程内核对象和线程内核对象,但是对进程线程以及进程内核对象和线程内核对象在其中的意义还不是很清楚,下面就详细说说进程与线程,进程内核对象和线程内核对象,进程与进程内核对象,线程与线程内核对象之间的千丝万缕的联系。 在开始之前,提出两个面试中经常遇到的简单问题:(1)进程与线程的联系和区别 (2)在多线程编程中为什么要考虑同步互斥操作?两个问题的解答在本章最后给出
2015-07-19 15:56:33
503
转载 windows核心编程之内核对象
由于不是计算机科班出身,一直对于进程和线程没有深入的了解,现开始看windows核心编程,将具体内容整理一下,以加深印象。 1、内核对象,即操作系统维护的一个数据结构,内部维护该对象的各种数据信息,常见的内核对象有:用于创建进程的进程内核对象,用于创建线程的线程内核对象,创建文件的文件内核对象,用于多线程互斥和同步的互斥对象、信标对象和事件对象等。在windows操作系统中,只有系统本身可
2015-07-18 16:34:20
430
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人