自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

diy_os的专栏

Stay Hungry. Stay Foolish.

  • 博客(13)
  • 资源 (2)
  • 收藏
  • 关注

原创 初识IntelliJ IDEA下JUnit单元测试

由于之前进行单元测试时,没有用JUnit测试框架,逐步接触到其后,它的功能实在是太强大了。本文主要初步介绍如何在IntelliJ IDEA上简单使用JUnit。在Android Studio上创建module时,会自动帮助我们创建测试类: 下面也按照此在IntelliJ IDEA上创建测试类,首先在IntelliJ IDEA中安装插件JUnit Generator,JUnit已经被默认...

2016-11-27 19:36:55 30174

原创 原型模式(Prototype)

原型模式顾名思义,以一个对象为原型,进行克隆,复制操作,产生一个和原型相似的对象。下面用的例子是以java中浅拷贝和深拷贝为例。浅拷贝:被克隆对象的所有变量都与原来对象有相同的值,而所有的对其他对象的引用仍然指向原来的对象。上面说的很抽象,下面通过图简单的描述:(图以示例代码对应,man对象在person类中被引用)深拷贝:被克隆对象的所有变量都与原来的对象有相同的值,除去那些

2016-11-21 14:40:57 1078

原创 抽象工厂模式(Abstract Factory)

在工厂类模式中,如果需要新的类时,需要修改工厂类,这样显然不利于扩展。在抽象工厂模式中,需要扩展一个类时,不需要修改之前的代码就可以实现。/** * Created by Administrator on 2016/11/18. */public interface Worker { public void work();}public interface Provider

2016-11-18 10:38:59 932

原创 工厂方法模式(Factory Method)

工厂模式属于创建型模式,如果需要大量的创建实现同一个接口或者类的对象时,可以使用。/** * Created by Administrator on 2016/11/18. */public interface Worker { public void work();}/** * Created by Administrator on 2016/11/18. */pu

2016-11-18 09:53:43 1032

原创 web项目部署到tomcat服务器

首先建议在创建web工程时,在web(在用eclipse下创建web工程时,该目录是WebRoot,当然可以任意修改名称)目录下的WEB-INF下,创建classes,lib两个文件夹,lib放入第三方库,classes中放入的是编译过的.class文件,个人喜欢使用IntelliJ IDEA,下面设置一下:项目完成时,部署到tomcat服务器上,下面给出几种简单的方法:

2016-11-12 22:49:28 1874

原创 简单使用线程池

Executors工厂类中有很多静态方法用于创建线程池。下面简单的介绍其中几种使用:newFixedThreadPool:创建指定线程数的线程池,通常设定的线程数根据系统资源设置。newCachedThreadPool:创建一个可缓存的线程池,若线程数超过处理需要,可以回收空闲的线程,若线程数不够处理需要,则创建新的线程。newScheduledThreadPool:创建定长线程池,可

2016-11-11 10:03:41 809

原创 获取properties自定义资源文件

之前在项目中使用properties资源文件,主要是客户端根据服务器端抛出的异常代码,然后客户端进行处理,正好可以把这些异常代码放入properties文件中。public class Main { public static void main(String[] args) throws ClassNotFoundException { Main main = new

2016-11-07 23:33:21 857

原创 生产者与消费者(一)

首先谈下wait(),notify(),notifyAll(),这个三个方法都是Object里的方法,具体详细作用可以查看API文档:wait():/** * Causes the current thread to wait until another thread invokes the * {@link java.lang.Object#notify()} met

2016-11-06 23:40:05 712

原创 注解

Annotation(注解)是JDK1.5及以后版本引入的。它可以用于创建文档,跟踪代码中的依赖性,甚至执行基本编译时检查。注解是以‘@注解名’在代码中存在的,根据注解参数的个数,我们可以将注解分为:标记注解、单值注解、完整注解三类。它们都不会直接影响到程序的语义,只是作为注解(标识)存在,我们可以通过反射机制编程实现对这些元数据(用来描述数据的数据)的访问。另外,你可以在编译时选择代码里的注解是

2016-11-06 01:26:28 861

原创 反射

关于反射的基本知识点这里不多介绍,记得自己开始学习Java的时候,是在dos下执行命令来运行程序。下面来重温下:在记事本中写一个简单的类,然后在dos下执行,我想基本的命令使用过得都很清楚:文件夹中会看到a.class文件,编译后生成的Java字节码文件,那么里面到底是啥呢?用Java提供的一个反编译工具javap命令查看:上面生成的Java字节码,可以被JVM读取

2016-11-05 18:12:45 630

原创 synchronized与volatile

对于关键字synchronized,volatile并不是太陌生,在多线程中会处理同步(数据争用)问题,下面简单的介绍下这两种关键字的用法。该内容摘自慕课网上MartonZhang老师课程,http://www.imooc.com/learn/352。synchronized:可以实现共享变量可见性,并且是原子性操作(同步),是同步锁volatile:可以实现共享变量可见性,但

2016-11-05 01:27:42 798

原创 设计模式之单例模式(Singleton)

单例模式是一种常用的设计模式,可以保证对象在JVM中只有一个实例存在,这样做的好处可以不用重复的创建类对象,节省一笔很大的开销,而且可以减轻GC压力。常见的创建模式有懒汉模式和饿汉模式。但是如果考虑到不同场景,设计有很大差别。懒汉模式:(类加载时,不立即创建实例,所以加载类速度快,但是获取实例较慢)public class SingIeton { /* * 持有私有静态实

2016-11-03 21:59:20 497

原创 设计模式之建造者模式(Builder)

在文章之前,简单介绍下设计模式中的分类:总体来说设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释...

2016-11-03 17:07:10 672

Android中简单的使用MVP

Android中简单的MVP示例

2017-01-13

FloatingAction

FloatingAction

2016-04-20

空空如也

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

TA关注的人

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