自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(259)
  • 资源 (1)
  • 收藏
  • 关注

原创 Unable to parse configuration of mojo org.apache.maven.plugins:maven-archetype-plugin:2.3:

RT,每次用maven创建一个项目都会出错.具体报错的内容如下;我在cmd中输入:mvn archetype:create -DgroupId=org.edward.hellomaven -DartifactId=HelloMaven之后就出错了[ERROR] Failed to execute goal org.apache.maven.plugins:maven-arc

2015-08-20 10:32:18 8410

转载 学习maven的使用,看到一篇很实用的入门教程(菜鸟级入门)

一、前言        早就知道maven 在java 项目的管理方面名声显赫,于是就想着学习掌握之,于是查阅了大量文档。发现这些文档的作者都是java 的大腕,大多都是站在掌握了一定maven 基础的角度上进行介绍,让我这初学者看的云里雾里不知所云。于是又去查看maven 的官方网站,总算是有所了解,但一旦动手实际操作却又雾里看花。唉,没办法,就只有一遍一遍的动手尝试,经过种种磨难总算是

2015-08-20 08:54:07 481

转载 java.lang.UnsupportedClassVersionError: org/apache/maven/cli/MavenCli : Unsupported major.minor vers

从apache 官网下载maven bin 版本,我下的是apache-maven-3.3.3-bin.zip。下载下来的安装包解压到你的工作目录下。如:E:\开发\apache-maven-3.3.3,配置环境变量,MAVEN_HOME,再把%MAVEN_HOME%\bin配置到 path中。安装java jdk,配置JAVA_HOME。打开cmd ,输入mvn -r,如果会

2015-08-20 08:52:15 9383 3

转载 Jetty的SelectChannelConnector分析

以前的一篇文章曾经分析过jetty的socketConnector,其实它的实现相对来说是比较简单的了,但是由于它是阻塞的io,所以在性能上并不好。。一般情况下都推荐使用SelectChannelConnector来替换掉。。。也就是所谓的NioConnectorSelectChannelConnector的实现就要复杂的多了。。而且因为将底层的io揉在了一起。。。。所以感觉这一块的代码不

2015-08-16 17:45:30 982

转载 责任链模式

《JAVA与模式》之责任链模式在阎宏博士的《JAVA与模式》一书中开头是这样描述责任链(Chain of Responsibility)模式的:  责任链模式是一种对象的行为模式。在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递,直到链上的某一个对象决定处理此请求。发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求,这使得系统可以在不

2015-08-16 13:59:04 350

转载 SQL Case when 的使用方法

Case具有两种格式。简单Case函数和Case搜索函数。--简单Case函数CASE sexWHEN '1' THEN '男'WHEN '2' THEN '女'ELSE '其他' END--Case搜索函数CASE WHEN sex = '1' THEN '男'WHEN sex = '2' THEN '女'ELSE '其他' END这两种方式,可以实现相同的功能。简单

2015-07-16 10:27:19 455

转载 AtomicInteger在实际项目中的应用

今天写代码,尝试使用了AtomicInteger这个类,感觉使用起来很爽,特别适用于高并发访问,下面贴一个简单的例子:Java代码  CashierContext类部分代码:    private Map counter          = new HashMap();      private void initCounter() {

2015-07-10 09:33:57 795

翻译 sun.misc.unsafe类的使用

这个帖子是关于JAVA中鲜为人知的特性的后续更新,如果想得到下次在线讨论的更新,请通过邮件订阅,并且不要忘了在评论区留下你的意见和建议。    Java是一个安全的开发工具,它阻止开发人员犯很多低级的错误,而大部份的错误都是基于内存管理方面的。如果你想搞破坏,可以使用Unsafe这个类。这个类是属于sun.* API中的类,并且它不是J2SE中真正的一部份,因此你可能找不到任何

2015-07-09 20:50:17 444

转载 Tomcat 系统架构与设计模式,第 2 部分: 设计模式分析

转自: http://www.ibm.com/developerworks/cn/java/j-lo-tomcat2/这个分为两个部分的系列文章研究了 Apache Tomcat 服务器的系统架构以及其运用的很多经典设计模式。第 1 部分 分析了 Tomcat 的工作原理,第 2 部分将分析 Tomcat 中运用的许多经典设计模式,如模版模式、工厂模式和单例模式等。通过学习它们的实践运用能

2015-06-24 20:13:21 331

转载 Tomcat 系统架构与设计模式,第 1 部分: 工作原理图 1.Tomcat 的总体结构

这个分为两个部分的系列文章将研究 Apache Tomcat 的系统架构以及其运用的很多经典设计模式。本文是第 1 部分,将主要从 Tomcat 如何分发请求、如何处理多用户同时请求,还有它的多级容器是如何协调工作的角度来分析 Tomcat 的工作原理,这也是一个 Web 服务器首要解决的关键问题。本文以 Tomcat 5为基础,也兼顾最新的 Tomcat 6和 Tom

2015-06-24 20:03:49 1019

转载 Jetty 的工作原理以及与 Tomcat 的比较

Jetty 应该是目前最活跃也是很有前景的一个 Servlet 引擎。本文将介绍 Jetty 基本架构与基本的工作原理:您将了解到 Jetty 的基本体系结构;Jetty 的启动过程;Jetty 如何接受和处理用户的请求。你还将了解到 AJP 的一些细节:Jetty 如何基于 AJP 工作;以及 Jetty 如何集成到 Jboss;最后我们将比较一下两个 Servlet 引擎:Tomcat 和

2015-06-23 16:59:03 375

转载 ORACLE 常用函数——日期/时间函数

---------------------------------------------日期/时间函数-------------------------------------------------1:  SYSDATE用来得到系统的当前日期SELECT SYSDATE FROM DUAL;--2:  ADD_MONTHS增加或减去月份

2015-06-16 16:51:31 361

转载 java二叉树的遍历算法

今天练习用java实现二叉树的遍历算法,首先我先编写二叉树类BinaryTree,代码如下:package package2;public class BinaryTree {  int data;      //根节点数据 BinaryTree left;    //左子树 BinaryTree right;   //右子树  public BinaryT

2015-06-16 15:37:26 716

转载 java中的堆、栈、常量池

Java内存分配:1. 寄存器:我们在程序中无法控制2. 栈:存放基本类型的数据和对象的引用,但对象本身不存放在栈中,而是存放在堆中3. 堆:存放用new产生的数据4. 静态域:存放在对象中用static定义的静态成员5. 常量池:存放常量6. 非RAM(随机存取存储器)存储:硬盘等永久存储空间------------------------------------

2015-06-14 06:53:00 565

原创 redis密码管理

一. 如何初始化redis的密码?总共2个步骤:a.在配置文件中有个参数: requirepass  这个就是配置redis访问密码的参数。比如 requirepass test123b.配置文件中参数生效需要重启重启redis 。 二.不重启redis如何配置密码?a. 在配置文件中配置requirepass的密码(当redis重启时密码依

2015-06-12 18:22:18 390

原创 PL/SQL的存储过程和函数

存储过程概述存储过程是子程序的一种类型,能够完成一些任务,作为schema对象存储于数据库。是一个有名字的PL/SQL代码块,支持接收或不接受参数,同时也支持参数输出。一个存储过程通常包含定义部分,执行部分,Exception部分,可以被其他子程序调用,也可以被重用。过程定义CREATE [OR REPLACE]PROCEDURE procedure_name[(argum

2015-06-12 18:21:04 613

转载 Oracle存储过程基本语法

存储过程  1 CREATE OR REPLACE PROCEDURE 存储过程名  2 IS  3 BEGIN  4 NULL;  5 END;行1:  CREATE OR REPLACE PROCEDURE 是一个SQL语句通知Oracle数据库去创建一个叫做skeleton存储过程, 如果存在就覆盖它;行2:  

2015-06-11 11:02:06 382

转载 Oracle存储过程学习

Oracle存储过程学习存储过程创建语法:       create or replace procedure 存储过程名(param1 in type,param2 out type)as变量1 类型(值范围);变量2 类型(值范围);Begin    Select count(*) into 变量1 from 表A where列名=param1;   

2015-06-11 10:25:01 413

转载 Redis介绍以及安装(Linux)

redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系统。和Memcached类似,但很大程度补偿了memcached的不足,它支持存储的value类型相对更多,包括string、list、set、zset和hash。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作。在此基础上,redis支持各种不同方式的排序。Redis数据都是缓存

2015-06-10 22:03:28 2636

转载 redis教程03

1. Redis字符串Redis字符串命令用于在Redis管理字符串值。使用Redis字符串命令的语法如下所示:语法redis 127.0.0.1:6379> COMMAND KEY_NAME例子redis 127.0.0.1:6379> SET yiibai redisOKredis 127.0.0.1:6379> GET yiibai"redis"在

2015-06-10 13:59:30 447

转载 redis教程02

1. 数据类型Redis支持5种数据类型,它们描述如下:Strings - 字符串Redis的字符串是字节序列。在Redis中字符串是二进制安全的,这意味着他们有一个已知的长度,是没有任何特殊字符终止决定的,所以可以存储任何东西,最大长度可达512兆。例子redis 127.0.0.1:6379> SET name "yiibai"OKredis 127

2015-06-10 13:53:58 305

转载 Redis教程01

1. 简介Redis是一个开源的,先进的key-value存储并用于构建高性能,可扩展Web应用程序的解决方案。 Redis主要的三个特点: Redis数据库完全在内存中,使用磁盘仅用于持久性。 相比许多键值数据存储Redis拥有一套较为丰富的数据类型。 Redis可以将数据复制到任意数量的从服务服务中。Redis的优势异常快速:Redis速度非常快,每秒能执行约11万集合,约

2015-06-09 17:22:36 412

转载 java 可设置最大内存

测试方法:在命令行下用 java -XmxXXXXM -version 命令来进行测试,然后逐渐的增大XXXX的值,如果执行正常就表示指定的内存大小可用,否则会打印错误信息。堆(Heap)和非堆(Non-heap)内存按照官方的说法:“Java 虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配。堆是在 Java 虚拟机启动时创建的。”“在JVM中堆之外的内存

2015-06-08 18:15:08 1170

原创 mybatis 字符串比较

错误的写法 and t.room = '2'正确的写法 and t.room = '2'差别在哪里?注意 'room != null and room =="02" '>单双引号的使用!

2015-06-08 08:56:45 2224

转载 Oracle dblink详解

database link概述 database link是定义一个数据库到另一个数据库的路径的对象,database link允许你查询远程表及执行远程程序。在任何分布式环境里,database都是必要的。另外要注意的是database link是单向的连接。在创建database link的时候,Oracle再数据字典中保存相关的database link的信息,在使用database

2015-06-05 09:13:12 387

转载 理解JVM—JVM内存模型

我们知道,计算机CPU和内存的交互是最频繁的,内存是我们的高速缓存区,用户磁盘和CPU的交互,而CPU运转速度越来越快,磁盘远远跟不上CPU的读写速度,才设计了内存,用户缓冲用户IO等待导致CPU的等待成本,但是随着CPU的发展,内存的读写速度也远远跟不上CPU的读写速度,因此,为了解决这一纠纷,CPU厂商在每颗CPU上加入了高速缓存,用来缓解这种症状,因此,现在CPU同内存交互就变成了下面的样子

2015-06-03 20:24:54 474

转载 java内存分配 常量池详解

在class文件中,“常量池”是最复杂也最值得关注的内容。   Java是一种动态连接的语言,常量池的作用非常重要,常量池中除了包含代码中所定义的各种基本类型(如int、long等等)和对象型(如String及数组)的常量值还,还包含一些以文本形式出现的符号引用,比如:   类和接口的全限定名;   字段的名称和描述符;   方法和名称和描述符。   在C语

2015-06-03 11:41:40 500

转载 POI excel 复制模版sheet(包括打印设置)

HSSFSheet fromsheet = wb.getSheetAt(0); //模版页 for(int num=0;num<addSheetNum;num++)//新增 { String numStr = String.valueOf(num+2); HSSFSheet newsh

2015-06-03 11:31:55 2850

转载 volatile 和 atomic 原子性的区别和联系

作者:wenyinfeng转载时,请注明原文出处: http://blog.sina.com.cn/s/blog_c00b6f6201016mbk.html谢谢!An incorrect piece of lore that is often repeated in Java threading discussions is, "Atomic operations

2015-06-01 18:45:46 6022

转载 java中long和double类型操作的非原子性探究

Java中的原子操作包括:1)除long和double之外的基本类型的赋值操作2)所有引用reference的赋值操作3)java.concurrent.Atomic.* 包中所有类的一切操作。但是java对long和double的赋值操作是非原子操作!!long和double占用的字节数都是8,也就是64bits。在32位操作系统上对64位的数据的读写

2015-06-01 18:43:16 5731 3

转载 3个著名加密算法(MD5、RSA、DES)的解析

MD5的全称是Message-Digest Algorithm 5,在90年代初由MIT的计算机科学实验室和RSA Data Security Inc发明,经MD2、MD3和MD4发展而来。    MD5将任意长度的“字节串”变换成一个128bit的大整数,并且它是一个不可逆的字符串变换算法,换句话说就是,即使你看到源程序和算法描述,也无法将一个MD5的值变换回原始的字符串,从数学原理上说,是

2015-06-01 11:21:26 608

转载 HTTP协议是无状态协议,怎么理解?

Http是一个无状态协议,同一个会话的连续两个请求互相不了解,他们由最新实例化的环境进行解析,除了应用本身可能已经存储在全局对象中的所有信息外,该环境不保存与会话有关的任何信息。自己的理解,在asp.net里:每次提交服务器的页面没有任何关系,每次记录在页面的信息下次提交是记不住的,(除了应用本身可能已经存储在全局对象中的所有信息外)在.net里实际就是ViewState,ViewStat

2015-05-27 14:24:09 1872

转载 Java NIO系列教程(十二) Java NIO与IO

当学习了Java NIO和IO的API后,一个问题马上涌入脑海:我应该何时使用IO,何时使用NIO呢?在本文中,我会尽量清晰地解析Java NIO和IO的差异、它们的使用场景,以及它们如何影响您的代码设计。Java NIO和IO的主要区别下表总结了Java NIO和IO之间的主要差别,我会更详细地描述表中每部分的差异。IO                NIO

2015-05-25 18:22:05 345

转载 Java NIO系列教程(十一) Pipe

Java NIO 管道是2个线程之间的单向数据连接。Pipe有一个source通道和一个sink通道。数据会被写到sink通道,从source通道读取。这里是Pipe原理的图示:创建管道通过Pipe.open()方法打开管道。例如:1Pipe pipe = Pipe.open();向

2015-05-25 18:12:59 306

转载 Java NIO系列教程(十) Java NIO DatagramChannel

Java NIO中的DatagramChannel是一个能收发UDP包的通道。因为UDP是无连接的网络协议,所以不能像其它通道那样读取和写入。它发送和接收的是数据包。打开 DatagramChannel下面是 DatagramChannel 的打开方式:1DatagramChannel channel = DatagramChan

2015-05-25 18:00:41 365

转载 Java NIO系列教程(九) ServerSocketChannel

Java NIO中的 ServerSocketChannel 是一个可以监听新进来的TCP连接的通道, 就像标准IO中的ServerSocket一样。ServerSocketChannel类在 java.nio.channels包中。这里有个例子:01ServerSocketChannel serverSocketChannel = Serv

2015-05-25 17:59:34 388

转载 Java NIO系列教程(八) SocketChannel

Java NIO中的SocketChannel是一个连接到TCP网络套接字的通道。可以通过以下2种方式创建SocketChannel:打开一个SocketChannel并连接到互联网上的某台服务器。一个新连接到达ServerSocketChannel时,会创建一个SocketChannel。打开 SocketChannel下面是SocketChannel的打开方式:

2015-05-25 17:46:58 350

转载 Java NIO系列教程(七) FileChannel

Java NIO中的FileChannel是一个连接到文件的通道。可以通过文件通道读写文件。FileChannel无法设置为非阻塞模式,它总是运行在阻塞模式下。打开FileChannel在使用FileChannel之前,必须先打开它。但是,我们无法直接打开一个FileChannel,需要通过使用一个InputStream、OutputStream或RandomAcc

2015-05-25 17:37:20 384

转载 Java NIO系列教程(六) Selector

Selector(选择器)是Java NIO中能够检测一到多个NIO通道,并能够知晓通道是否为诸如读写事件做好准备的组件。这样,一个单独的线程可以管理多个channel,从而管理多个网络连接。下面是本文所涉及到的主题列表:为什么使用Selector?Selector的创建向Selector注册通道SelectionKey通过Selector选择通道wakeUp()close()完整

2015-05-25 17:25:06 254

转载 Java NIO系列教程(五) 通道之间的数据传输

在Java NIO中,如果两个通道中有一个是FileChannel,那你可以直接将数据从一个channel(译者注:channel中文常译作通道)传输到另外一个channel。transferFrom()FileChannel的transferFrom()方法可以将数据从源通道传输到FileChannel中(译者注:这个方法在JDK文档中的解释为将字节从给定的可读取字节通道传输到此

2015-05-25 17:03:16 801

空空如也

空空如也

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

TA关注的人

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