- 博客(40)
- 资源 (5)
- 收藏
- 关注
原创 maven使用手册
1.建立一个maven项目mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false mvn archetype:generate 固定格式
2016-11-15 14:55:31 546
原创 svn使用手册
一.常用命令1、检出svn co/checkout http://路径(目录或文件的全路径) [本地目录全路径] --username 用户名 --password 密码注意:username 与 password前是两个短线,不是一个,认证过可不加。本地目录非必填,默认当前目录。eg:svn co http://test/trunk2. 查看信息sv
2016-11-15 14:34:29 684
原创 shell 脚本替换,编辑jar包
最近有个需求,需要在项目部署之前对jar包中的一些文件的变量替换成对应的值,开始使用python, 由于不太熟悉,发现很繁琐,后来改为shell,代码如下:#!/bin/bashdst=$1file_list=(`find $dst -name "*.jar"`)for item in ${file_list[@]}do file=$(echo $item)
2015-12-09 13:07:38 3363
原创 shell 脚本 M-BM- 字符问题
昨天写了一个脚本,在本地执行,测试很多次,都没有问题。发给别人,上传到服务器,在服务器上执行就会报错。怀疑是别人在不同的系统中复制,粘贴,出现了格式和编码的问题。 于是验证: cat -v 文件名 来查看,可以输出不打印的一些特殊字符。发现很多 M-BM- 字符。文件的空格被加上了 "M-BM-"就是不可见的特殊字符,所以shell脚本运行时就会报错找不到命令。
2015-12-09 12:54:50 4289 1
原创 AtomicInteger源码分析——基于CAS的乐观锁实现
乐观锁 悲观锁 CAS java AtomicInteger concurrent
2015-06-14 10:15:27 10615 7
原创 Java web基础总结十之—— jsp EL表达式
Java web基础总结十之—— jsp EL表达式一.EL表达式简介 EL 是Expression Language的缩写。在jsp中有很大的作用,EL主要有以下一些作用:获取数据,替换JSP页面中的脚本表达式,以从各种类型的web域中检索java对象、获取数据。还可以执行运算,利用EL表达式可以在JSP页面中执行一些基本的关系运算、逻辑运算和算术运算,以在JSP页面中
2015-05-29 09:43:10 1858
原创 Java web基础总结八之—— jsp基础
jsp java web pageContext request session servletContext
2015-05-16 13:27:50 1032
原创 Java web基础总结七之—— Filter与Listener
listener filter java web web.xml javax.servlet.ServletContextListener servlet
2015-05-12 13:38:50 995
原创 Java web基础总结五之—— HttpServletRequest与HttpServletResponse
Java web HttpServletRequest HttpServletResponse 转发 forward 重定向 redirect
2015-05-10 12:14:53 7953 1
原创 Java web基础总结四之—— Servlet基础
servlet java web 线程安全 servlet生命周期 servlet调用过程 ServletConfig ServletContext
2015-05-09 13:04:05 1247
原创 ArrayBlockingQueue 源码阅读与分析
ArrayBlockingQueue 源码 分析 concurrent 线程安全 并发 阻塞队列
2015-05-05 13:37:00 1009
原创 CopyOnWriteArrayList 源码阅读与分析
CopyOnWriteArrayList java 源码 并发 ConcurrentModificationException concurrent
2015-05-04 12:18:44 883
原创 ArrayList的动态扩容的实现
ArrayList可以实现容量的自适应的增加,通过阅读源代码,对这个机制进行一下简单的分析。首先,ArrayList有一个初始的默认大小,为10. private static final int DEFAULT_CAPACITY = 10;从add方法为入口public boolean add(E e) { ensureCapacityInterna
2015-04-29 18:47:39 9335
原创 ArrayList的序列化与反序列化
最近在阅读ArrayList的源代码时,发现了ArrayList中的用来保存数据的数据使用了transient关键字声明。如下:private transient Object[] elementData;当时产生了一个疑问,难道ArrayList不可以序列化吗?但是它又实现了Serializable接口,感觉有点自相矛盾了。public class ArrayList extends
2015-04-29 18:21:26 7153
原创 java中最常用的100个类
在一个网站上,看了一下最常用的java类的统计,以下是前100.1. java.util.List (2889) 2. java.util.ArrayList (2831) 3. java.io.IOException (2813) 4. java.util.Map (2592) 5. java.util.HashMap
2015-04-28 19:13:32 1327
原创 java实现输入一个时间段,以及相应的星期数,获得这个时间段中这些星期的日期
最近在做毕设,遇到一个问题。对于给定的一个时间段和特定的星期,我需要获得这个时间段中所有的给定星期的日期。比如,获得从2015-01-01到2015-01-21所有的星期一和星期二的日期。 package com.cc.common;import java.text.ParseException;import java.text.SimpleDateFormat;imp
2015-04-11 22:49:57 1758
原创 jdk源码阅读之——String类
最近有很多空闲的时间,正好可以用来看看jdk一些常用类的源码。阅读源码可以让我在使用这些API的时候可以知其所以然,还可以领略大师的代码。好了,废话不多说了。1.String类的定义public final class String implements java.io.Serializable, Comparable, CharSequence 从定义可以看到
2015-04-07 14:02:33 601
原创 guava学习之——使用Preconditions类进行参数检查。
参数检查是一个项目中必须要考虑到的。参数检查前端要做,后端更要做。这决定了一个项目的健壮性和安全性。guava的Preconditions类可以简单,优雅的帮助我们实现参数检查。Preconditions类主要提供以下几种方法:1 .checkArgument(boolean) : 用来检查boolean是否为真。 用作方法中检查参数 失败时抛出的异常类型: Illeg
2015-03-28 13:38:52 1252
原创 guava学习之——集合类创建的简化。
在项目中,集合类的使用非常普遍。经常需要创建很多的集合类。使用guava可以简化我们的代码,不但可以使代码看起来更加简洁,而且更加优雅。 比如: 使用java原生创建一个HashMap时,我们通常这样。 Map hashMap = new HashMap(); 使用guava创建一个HashMap时,可以这样。 MapObject
2015-03-28 13:02:33 3206
原创 guava学习之——guava简介
Guava 中文是蕃石榴的意思,该项目是 Google 的一个开源项目,包含许多 Google 核心的 Java 常用库。guava中有很多精巧的设计,很多函数式编程的思想。个人感觉设计非常的优雅。目前主要包含:com.google.common.annotationscom.google.common.basecom.google.common.c
2015-03-28 12:55:11 571
原创 5.map_reduce简单例子与任务运行命令
示例:hadoop jar /usr/local/hadoop/hadoop-examples-1.1.2.jar wordcount dedup_in dedup_out/usr/local/hadoop/hadoop-examples-1.1.2.jar 是jar包在linux系统的绝对路径wordcount是类名,一般要写全路径dedup_in 是输入文件的路
2014-10-08 13:00:37 531
原创 浅谈java阻塞队列实现原理
作为一个示例,假定有一个绑定的缓冲区,它支持 put 和 take 方法。如果试图在空的缓冲区上执行 take 操作,则在某一个项变得可用之前,线程将一直阻塞;如果试图在满的缓冲区上执行 put 操作,则在有空间变得可用之前,线程将一直阻塞。我们喜欢在单独的等待 set 中保存 put 线程和 take 线程,这样就可以在缓冲区中的项或空间变得可用时利用最佳规划,一次只通知一个线程。可以使用两个
2014-10-06 13:42:31 763
原创 ParameterizedType的用法
getClass().getGenericSuperclass()方法作用:返回表示此 Class所表示的实体(类、接口、基本类型或 void)的直接超类的 Type 然后将其转换ParameterizedType。。 getActualTypeArguments()返回表示此类型实际类型参数的 Type对象的数组。就是获得超类的泛型参数的实际类
2014-10-06 12:45:42 2977
原创 java native方法概述
Java不是完美的,Java的不足除了体现在运行速度上要比传统的C++慢许多之外,Java无法直接访问到操作系统底层(如系统硬件等),为此Java使用native方法来扩展Java程序的功能。 可以将native方法比作Java程序同C程序的接口,其实现步骤: 1、在Java中声明native()方法,然后编译; 2、用javah产生一个.h文
2014-10-06 12:34:25 591
原创 设计模式的分类。
设计模式主要分三个类型:创建型、结构型和行为型。其中创建型有: 一、Singleton,单例模式:保证一个类只有一个实例,并提供一个访问它的全局访问点 二、Abstract Factory,抽象工厂:提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们的具体类。 三、Factory Method,工厂方法:定义一个用于创建对象
2014-10-06 12:31:07 762
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人