自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 资源 (7)
  • 收藏
  • 关注

原创 命令行-查看端口占用,并且关闭占用程序

1.查看所有端口netstat -ano2.查看某个端口netstat -aon|findstr "8080"3.查看某个pid对应的程序.tasklist|findstr "4668"4.关闭某个程序taskkill /f /t /im javaw.exe

2015-09-29 15:25:29 821 1

转载 Spring Boot——开发新一代Spring应用

Spring官方网站本身使用Spring框架开发,随着功能以及业务逻辑的日益复杂,应用伴随着大量的XML配置文件以及复杂的Bean依赖关系。随着Spring 3.0的发布,Spring IO团队逐渐开始摆脱XML配置文件,并且在开发过程中大量使用“约定优先配置”(convention over configuration)的思想来摆脱Spring框架中各类繁复纷杂的配置(即时是Java Con

2015-09-28 10:25:51 1029

原创 Maven(三)-依赖自己的程序

之前的一个HelloWorld,使用到了Junit所以在pom.xml配置了junit的依赖现在我们要另外写一个工程,依赖于该工程的类.1.创建文件夹.maven-022.老规矩,创建pom.xml,src/test/java3.新建一个测试类 TestDependency.javapackage com.aii.

2015-09-26 14:48:02 1153

原创 Maven(二)-HelloWorld

1.新建文件夹: maven-012.maven-01目录下:新建一个pom.xml文件(Project Object Model),里面的内容找个已有的pom文件拷下3.配置一些必须的属性:<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.

2015-09-26 14:21:36 602

原创 Maven(一)-环境搭建

1.下载Maven:http://maven.apache.org2.安装:解压,配置环境变量(跟JDK,Tomcat类似)M2_JOME: ${dir}PATH : ${dir}/bin;3.测试安装:cmd输入:mvn -v 跳出关于版本的信息如果出错,会提示JAVA_HOME或者是M2

2015-09-26 13:50:08 525

原创 Web Service-HelloWorld环境搭建

什么都不管,先把HelloWorld搭建起来先再看Web Service是干嘛的一.新建一个Java工程二.写服务器端代码一个server接口,一个实现类,再加一个主函数package com.aii.ws.server;import javax.jws.WebMethod;import javax.jws.WebService;@WebServicepubli

2015-09-16 16:34:15 723

原创 设计模式之原型模式

工厂方法造出来的对象是新的一个对象,里面的属性一般都是默认的.而我所理解的原型模式操作的方法造出的是一个克隆体,可以看成2步:1.制造出一个对象.2.将造出的对象里面的属性按照被克隆体一样的拷过来举个例子,那就是孙悟空和六耳猕猴的故事..六耳猕猴除了是个new出来的猴子以外,其他所有的东西都是孙悟空那复制过来的.这个涉及到一个浅克隆与深克隆的概念:浅克隆:克隆出

2015-09-15 15:13:43 981

原创 设计模式之建造者模式

当得到简单的对象的时候,使用工厂模式即可.当得到复杂的对象,而且对象的一些属性需要繁琐配置的时候,使用建造者模式比较好.这里以建造汽车为例,汽车的组件可以自由搭配.package builder;public class Car { private String engine; private String tire; private String door; pr

2015-09-15 13:55:28 874

原创 设计模式之抽象工厂模式

在上一篇中介绍了工厂模式,其中静态方法模式是效果比较好的.现在需求变了,要在添加一个动物,猪.那就需要改代码了.先加入猪这个类.public class Pig extends Animal { @Override public void eat() { System.out.println("猪吃"); }}然后在原来的静态方法工厂上添加一个方法

2015-09-15 13:25:19 928

原创 设计模式之工厂方法模式

主要内容:1.工厂方法模式2.多个工厂方法模式3.静态方法模式一.工厂方法模式public abstract class Animal { public abstract void eat();}public class Cat extends Animal { @Override public void eat() { }}public clas

2015-09-15 13:03:28 878

原创 设计模式的六大原则

概括:原则含义具体方法开闭原则对扩展开放,对修改关闭多使用抽象类和接口里氏代换原则基类可以被子类替换使用抽象类继承,不使用具体类继承依赖倒转原则要依赖于抽象,不要依赖于具体针对接口编程,不针对实现编程接口隔离原则使用多个隔离的接口,比使

2015-09-15 12:35:27 10718 1

转载 OpenJDK与HashMap……放心地教这个老家伙一些新(非堆!)技巧

OpenJDK的非堆JDK增强提议(JDK Enhancement-Proposal,JEP)试图标准化一项基础设施,它从Java6开始,只能在HotSpot和OpenJDK内部使用。这种设施能够像管理堆内存那样管理非堆内存,同时避免了使用堆内存所带来的一些限制。对于上百万短期存在的对象/值来说,堆内存工作起来是很好的,但是如果你想要增加一些其他的需求,如几十亿的对象/值的话,假若你想避免持续增加

2015-09-08 22:12:24 2016

转载 聊聊并发——深入分析ConcurrentHashMap

术语定义术语英文解释哈希算法hash algorithm是一种将任意内容的输入转换成相同长度输出的加密方式,其输出被称为哈希值。哈希表hash table根据设定的哈希函数H(key)和处理冲突方法将一组关键字映象到一个有限的地址区间上,并以关键字在地址区间中的象作为记录在表中的存储位置,这种表称为哈希表或散列,所得存储位置称为哈希地

2015-09-06 13:27:01 839 1

转载 聊聊并发——ConcurrentLinkedQueue的实现原理分析

1. 引言在并发编程中我们有时候需要使用线程安全的队列。如果我们要实现一个线程安全的队列有两种实现方式:一种是使用阻塞算法,另一种是使用非阻塞算法。使用阻塞算法的队列可以用一个锁(入队和出队用同一把锁)或两个锁(入队和出队用不同的锁)等方式来实现,而非阻塞的实现方式则可以使用循环CAS的方式来实现,本文让我们一起来研究下Doug Lea是如何使用非阻塞的方式来实现线程安全队列Concurren

2015-09-06 13:16:37 1026

转载 致敬disruptor:CAS实现高效(伪)无锁阻塞队列实践

目录[hide]1引言2RingBuffer实现3CAS与乐观并发控制4两阶段发布5使用场景6Benchmark引言在多线程开发中,我们常常遇到这样一种场景:一些线程接受用户请求,另外一些线程处理这些请求,之所以把接受请求和处理请求的逻辑分开,一方面是出于资源调度的考虑(用户请求也许很多,但这些请求涉及的资源很少),另一方面也可能是异步响应的需求。这种场景存在于NIO的

2015-09-06 12:59:28 2515

转载 基数排序(Radix Sort)

基数排序是非比较排序算法,算法的时间复杂度是O(n). 相比于快速排序的O(nlgn),从表面上看具有不小的优势.但事实上可能有些出入,因为基数排序的n可能具有比较大的系数K.因此在具体的应用中,应首先对这个排序函数的效率进行评估.基数排序的主要思路是,将所有待比较数值(注意,必须是正整数)统一为同样的数位长度,数位较短的数前面补零. 然后, 从最低位开始, 依次进行一次稳定排序(我们常用上一

2015-09-06 12:43:48 791

原创 审批流(二)

一.回顾上篇说到了一个无法确定当前节点到底轮到谁的问题.更加完整的数据库:checkFlow:baseProjecct:上篇说到每个流程必定为一个发文所有,对应的就是baseProject的一行数据.解释一下baseProject各列的含义:checkState:当前审批到了哪个节点了,记录的是上一个完成的节点delete:当前发文是

2015-09-04 21:37:25 4096

原创 审批流(一)

需求:审批流程自定义审批的每个节点可以有多个审核人,有一个失败则视为审批失败审批的过程可以自由前进后退:当发文到达某个节点失败后,会自动被打回到上一个节点.上一个节点可以选择修改后继续提交,或者再打回到上一个节点.整个审批可以看成是三种状态:1.草稿:来自两种情况:1.发起人刚起草审核.2.审核被第一个审核人打回此状态下发起人可自由修改发文

2015-09-04 21:10:22 15282

《Spring Boot参考指南》

Spring Boot Reference Guide中文翻译 -《Spring Boot参考指南》

2015-09-26

权限控制Demo

权限控制Demo

2015-08-28

SSH整合样例

SSH整合样例

2015-08-02

ImitateStruts2

实现可插拔的拦截器。 实现ActionServletContext,ActionContext

2015-07-25

StrutsSupport

struts的service实现transaction处理,测试用例

2015-07-23

FakeStruts

简单的struts实现(目前所学的见解) 使用cglib,proxy代理实现transaction注解事务处理。 使用了mybatis持久框架

2015-07-22

Andorid AIDL模拟实现

Andorid AIDL模拟实现

2015-04-18

空空如也

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

TA关注的人

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