- 博客(52)
- 资源 (9)
- 收藏
- 关注
转载 数据库的种类
http:// style='color:black;background-color:#ffff66'>http://wenda.haosou.com/q/1370682550063761?src=150/cln/
2015-01-18 23:14:20 707
转载 CAP原理与最终一致性 强一致性 弱一致性
介绍内容转载自:http://www.blogjava.net/hello-yun/archive/2012/04/27/376744.html CAP原理中,有三个要素:一致性(Consistency)可用性(Availability)分区容忍性(Partition tolerance)CAP原理指的是,这三个要素最多只能同时实现两点,不可能三者兼顾。因此在进行分布式
2013-11-11 13:54:46 11108
原创 生产者-消费者问题 java实现
一、明确定义要理解生产消费者问题,首先应弄清PV操作的含义:PV操作是由P操作原语和V操作原语组成(原语是不可中断的过程),对信号量进行操作,具体定义如下: P(S):①将信号量S的值减1,即S=S-1; ②如果S³0,则该进程继续执行;否则该进程置为等待状态,排入等待队列。 V(S):①将信号量S的值加1,即S=S+1;
2013-06-29 13:05:38 1392
转载 CSS:getComputedStyle与style的区别
我们使用element.style也可以获取元素的CSS样式声明对象,但是其与getComputedStyle方法还有有一些差异的。1. 只读与可写 正如上面提到的getComputedStyle方法是只读的,只能获取样式,不能设置;而element.style能读能写,能屈能伸。2. 获取的对象范围 getComputedStyle方法获取的是最终应用在元
2013-06-28 14:28:52 1249
转载 JS:获取元素宽度高度
第一种情况就是宽高都写在样式表里,就比如#div1{width:120px;}。这中情况通过#div1.style.width拿不到宽度,而通过#div1.offsetWidth才可以获取到宽度。第二种情况就是宽和高是写在行内中,比如style="width:120px;",这中情况通过上述2个方法都能拿到宽度。 小结,因为id.offsetWidth和id.offsetHeight无视
2013-06-28 14:22:27 1743
转载 HTML:id和name解释
id与name的作用,作为标签的标识符,基本上是一样的.name是老方法,id是在name基础上发明的,后来才有的,"现代化"一点,用的范围广一点. 中的name原来(刚发明时)就是用于本页揿一下转向过去用的. 除BASE, HEAD, HTML, META, SCRIPT, STYLE, TITLE 标签外,id 都可用. name只用于APPLET,SELECT,FORM
2013-06-28 14:20:38 1081
转载 JQUERY:this与$(this)
序言 在使用jquery操作js时,经常整不明白this与$(this)。抽空仔细测试了一把,记录下来以供在忘记的时候拉出来参考参考!$(this)生成的是什么 $()生成的是什么呢?实际上$()=jquery(),那么也就是说返回的是一个jquery的对象。 那么依照,$()返回的是jquery对象这一结论,我们可以得出$(this)得到的是一个jquery
2013-06-28 14:13:49 1324
转载 http的重定向状态码302,303,307
在HTTP当中有些用于表示重定向的状态码,范围在3XX。这里主要说一下302,303和307的区别。 这三个状态码在平时都表现为重定向,服务器返回一个新的资源的地址,客户端去这个新的地址去获取资源。但是它们之间还是有些细微的区别的。我们通过仔细阅读RFC可以发现:302 Found 302返回码指示资源临时在另一个位置,该位置通过Location指定。如果302响应
2013-06-28 14:09:37 10132
转载 Servlet请求转发:RequestDispatcher接口
在Servlet中,利用RequestDispatcher对象,可以将请求转发给另外一个Servlet或JSP页面,甚至是HTML页面,来处理对请求的响应。RequestDispatcher接口方法简介 1、RequestDispatcher对象由Servlet容器来创建,封装一个由路径所标识的服务器资源。 2、RequestDispatcher接口中定义了
2013-06-28 14:03:44 1115 1
转载 JSP页面中的pageEncoding和contentType两种属性的区别
pageEncoding是jsp文件本身的编码contentType的charset是指服务器发送给客户端时的内容编码 JSP要经过两次的“编码”,第一阶段会用pageEncoding,第二阶段会用utf-8至utf-8,第三阶段就是由Tomcat出来的网页, 用的是contentType。 第一阶段是jsp编译成.java,它会根据pageEncoding的设定读取jsp,结果是由指
2013-06-28 13:56:36 735
原创 Spring中DispacherServlet、WebApplicationContext、ServletContext的关系
解释一: 要想很好理解这三个上下文的关系,需要先熟悉spring是怎样在web容器中启动起来的。spring的启动过程其实就是其IoC容器的启动过程,对于web程序,IoC容器启动过程即是建立上下文的过程。spring的启动过程:首先,对于一个web应用,其部署在web容器中,web容器提供其一个全局的上下文环境,这个上下文就是ServletContext,其为后
2013-06-28 13:49:50 8888 6
原创 Spring单实例、多线程安全、事务解析
引言: 在使用Spring时,很多人可能对Spring中为什么DAO和Service对象采用单实例方式很迷惑,这些读者是这么认为的: DAO对象必须包含一个数据库的连接Connection,而这个Connection不是线程安全的,所以每个DAO都要包含一个不同的Connection对象实例,这样一来DAO对象就不能是单实例的了。 上述观点对了一半。对的是“每个DAO
2013-06-28 13:34:58 11970 2
转载 使用Maven在Eclipse中创建Web项目
一、创建新Maven Web项目1.新建Maven Project: new project--选择MavenProject--下一步 选择工作空间--下一步 在Filter中输入org.apache.maven.archetypes--选择Artifact Id为maven-archetype-webapp的那条--下一步 输入GroupID大
2013-06-28 13:31:31 784
原创 Linux命令大全
ALT+F1-F7 切换登录窗口echo $变量env 查看环境变量set 查看环境变量和自定义变量,即当前bash下所有的变量export 将变量设为环境变量,也可查看环境变量Ctrl+c 终止程序Ctrl+d 文字输入结束 表示EOFctrl+z 暂停程序,把任务丢到后台man -f command 查找名字包含command的命令 相当于
2013-06-28 13:26:10 944
原创 ctrl+c,ctrl+d,ctrl+z在linux中意义
ctrl+c和ctrl+z都是中断命令,但是他们的作用却不一样.ctrl+c是强制中断程序的执行。ctrl+z的是将任务中断,但是此任务并没有结束,他仍然在进程中他只是维持挂起的状态,用户可以使用fg/bg操作继续前台或后台的任务,fg命令重新启动前台被中断的任务,bg命令把被中断的任务放在后台执行.例如:当你vi一个文件是,如果需要用shell执行别的操作,但是你又不打算关闭vi,因为你
2013-06-28 13:19:21 1122
转载 Linux中set,env和export这三个命令的区别
set命令显示当前shell的变量,包括当前用户的变量;env命令显示当前用户的变量;export命令显示当前导出成用户变量的shell变量。 每个shell有自己特有的变量(set)显示的变量,这个和用户变量是不同的,当前用户变量和你用什么shell无关,不管你用什么shell都在,比如HOME,SHELL等这些变量,但shell自己的变量不同shell是不同的,比如BASH_AR
2013-06-28 13:15:49 1056
转载 shell脚本中的$默认变量
有一些内部变量,内部变量是Linux所提供的一种特殊类型的变量,这类变量在程序中用来作出判断。在shell程序内这类变量的值是不能修改的。 表示方法 描述 $n $1 表示第一个参数,$2 表示第二个参数 ... $# 命令行参数的个数 $0
2013-06-28 13:07:32 3385
原创 Linux中` `、$、$( ) 、${ } 有什么区别
$( )中放的是命令,相当于` `,例如todaydate=$(date +%Y%m%d)意思是执行date命令,返回执行结果给变量todaydate,也可以写为todaydate=`date +%Y%m%d`;${ }中放的是变量,例如echo ${PATH}取PATH变量的值并打印,也可以不加括号比如$PATH。
2013-06-28 13:03:07 10183
原创 Linux中环境变量到底写在哪个文件中?解析login shell 和 no-login shell
login shell:取得bash 时需要完整的登入流程,就称为login shell。举例来说,同tty1~tty6登入时, 需要输入用户名和密码,此时取得的bash就称为login shellnon-login shell:取得bash介面的方法不需要重复登入的动作。举两个例子(1)以X window登入linux后,再以X 的图形化介面启动终端机,此时那个终端机并不需要
2013-06-28 13:01:15 1995
原创 Linux特殊权限:SUID、SGID、SBIT
SUID: 只对二进制程序有效 执行者对于程序需要有x权限 在程序运行过程中,执行者拥有程序拥有者的权限 例如: 普通用户执行passwd命令。 首先查看passwd命令的绝对路径: 查看passwd命令权限: passwd的拥有者是root,且拥有者权限里面本应是x的那一列
2013-06-28 12:59:28 1404
转载 Java之静态内部类(static class)
在一个类中创建另外一个类,叫做成员内部类。这个成员内部类可以静态的(利用static关键字修饰),也可以是非静态的。由于静态的内部类在定义、使用的时候会有种种的限制。所以在实际工作中用到的并不多。 在开发过程中,内部类中使用的最多的还是非静态地成员内部类。不过在特定的情况下,静态内部类也能够发挥其独特的作用。 一、静态内部类的使用目的。 在定义内部类的时候,可以在其前面
2013-06-28 12:55:02 716
转载 Java关键字final、static使用总结
一、final 根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、非抽象类成员方法和变量。你可能出于两种理解而需要阻止改变:设计或效率。 final类不能被继承,没有子类,final类中的方法默认是final的。 final方法不能被子类的方法覆盖,但可以被继承。 final成员变量表示常量,
2013-06-28 12:52:10 623
转载 JVM参数表格
参数名称含义默认值 -Xms初始堆大小物理内存的1/64(默认(MinHeapFreeRatio参数可以调整)空余堆内存小于40%时,JVM就会增大堆直到-Xmx的最大限制.-Xmx最大堆大小物理内存的1/4(默认(MaxHeapFreeRatio参数可以调整)空余堆内存大于70%时,JVM会减
2013-06-27 16:11:26 941
转载 Java GC种类,并更换、调优GC
调整JVM GC(Garbage Collection),可以极大的减少由于GC工作,而导致的程序运行中断方面的问题,进而适当的提高Java程序的工作效率。但是调整GC是以个极为复杂的过程,由于各个程序具备不同的特点,如:web和GUI程序就有很大区别(Web可以适当的停顿,但GUI停顿是客户无法接受的),而且由于跑在各个机器上的配置不同(主要cup个数,内存不同),所以使用的GC种类也会不同。接
2013-06-27 16:10:39 767
转载 JVM client模式和Server模式的区别
这里向大家描述一下JVM client模式和Server模式两者的区别和联系,JVM如果不显式指定是-Server模式还是-client模式,JVM能够根据下列原则进行自动判断(适用于Java5版本或者Java以上版本)。 JVM client模式和Server模式 JVM Server模式与client模式启动,最主要的差别在于:-Server模式启动时,速度较慢,但
2013-06-27 16:07:53 698
转载 自动装箱:小心使用 boxing
自动装箱与拆箱的功能事实上是编译器来帮你的忙,编译器在编译时期依你所编写的语法,决定是否进行装箱或拆箱动作。例如: Integer i = 100; 相当于编译器自动为你作以下的语法编译: Integer i = new Integer(100); 所以自动装箱与拆箱的功能是所谓的“编译器蜜糖”(Compiler Sugar),虽然使用这个功能很方便
2013-06-27 16:04:36 617
转载 sleep、join、yield、wait、notify、notifyAll、run、start、synchronized
1、sleep() 使当前线程(即调用该方法的线程)暂停执行一段时间,让其他线程有机会继续执行,但它并不释放对象锁。也就是说如果有synchronized同步快,其他线程仍然不能访问共享数据。注意该方法要捕捉异常。 例如有两个线程同时执行(没有synchronized)一个线程优先级为MAX_PRIORITY,另一个为MIN_PRIORITY,如果没有Sleep()
2013-06-27 15:59:17 1050
转载 JAVA volatile关键字
Java中volatile关键字原义是“不稳定、变化”的意思,那么在java语言中,volatile是什么意思呢? volatile,在Java中用来修饰变量,那是为什么呢?volatile是告诉jvm,这个变量不能被私自占有使用,下面就解释一下为什么这么说吧! 大家都知道,在java中,除了long和double的操作,对基本类型的操作是原子性的,那还为什么使用v
2013-06-27 15:57:43 763
转载 JAVA transient关键字
1、transient关键字只能修饰变量,而不能修饰方法和类。注意,本地变量是不能被transient关键字修饰的。2、被transient关键字修饰的变量不再能被序列化,一个静态变量不管是否被transient修饰,均不能被序列化。3、一旦变量被transient修饰,变量将不再是对象持久化的一部分,该变量内容在序列化后无法获得访问。也可以认为在将持久化的对象反序列化后,被transie
2013-06-27 15:56:34 472
转载 java基本数据类型
Java basic data types are 8String is not a basic data types, String can be seen as a char array (char [])Byte byte : a signed 8-bit type , Range is (-128 to 127)Short short : a signed 16-bit typ
2013-06-27 15:52:41 551
转载 ArrayDeque源码分析
ArrayDeque不是线程安全的。 ArrayDeque不可以存取null元素,因为系统根据某个位置是否为null来判断元素的存在。 当作为栈使用时,性能比Stack好;当作为队列使用时,性能比LinkedList好。 1. 两个重要的索引:head和tail Java代码 // 第一个元素的索引 private transient int head;
2013-06-27 15:51:20 1011
原创 Java中数组的clone
先看实验代码: public static void main(String[] args) throws CloneNotSupportedException { // 测试一,数组可以被clone int[] arr1 = new int[5]; int[] arr2 = arr1.clone(); arr2[0] = 1; System.ou
2013-06-27 15:50:08 2094 1
转载 java.lang.System下的arraycopy和java.util.Arrays.copyOf方法
(1) java.lang.System.arraycopypublic static native void arraycopy(Object src, int srcPos, Object dest, int destPos, int length);问题:方法没有任何的实现,具体是如何实现的呢?以下是关于该方法具体的说明:* @param src
2013-06-27 15:33:28 1725
原创 JAVA中equals,hashcode方法解析
概述:toString 将对象以字符串形式表示,大多为了显示用的compareto 为了比较大小用的hashcode 获取对象hash值,只有用到Hashtable、HashMap、HashSet、LinkedHashMap等时才要注意hashcode,其他地方hashcode无用。equals 判断对象是否相同为什么要重写hashCode方法和equals方法?
2013-06-27 15:00:32 681
转载 serialVersionUID 用来表明类的不同版本间的兼容性
简单来说,Java的序列化机制是通过在运行时判断类的serialVersionUID来验证版本一致性的。在进行反序列化时,JVM会把传来 的字节流中的serialVersionUID与本地相应实体(类)的serialVersionUID进行比较,如果相同就认为是一致的,可以进行反序 列化,否则就会出现序列化版本不一致的异常。 当实现java.io.Serializable接口的
2013-06-27 14:13:47 696
转载 Java中异常的捕获顺序(多个catch)
Java代码 :import java.io.IOException; public class ExceptionTryCatchTest { public void doSomething() throws IOException{ System.out.println("do somthing"); } public stati
2013-06-27 14:09:26 1478
转载 Thread的start()和run()
认识Thread的start和run 1) start: 用 start方法来启动线程,真正实现了多线程运行,这时无需等待run方法体代码执行完毕而直接继续执行下面的代码。通过调用Thread类的 start()方法来启动一个线程,这时此线程处于就绪(可运行)状态,并没有运行,一旦得到cpu时间片,就开始执行run()方法,这里方法 run()称为线程体,它包含了要执行的这个线程的
2013-06-27 14:07:46 791
转载 深入研究java.lang.ThreadLocal类
一、概述 ThreadLocal是什么呢?其实ThreadLocal并非是一个线程的本地实现版本,它并不是一个Thread,而是threadlocalvariable(线程局部变量)。也许把它命名为ThreadLocalVar更加合适。线程局部变量(ThreadLocal)其实的功用非常简单,就是为每一个使用该变量的线程都提供一个变量值的副本,是Java中一种较为特殊的线程绑定机制,
2013-06-27 14:02:53 5479 1
转载 JAVA使用 MOCK 对象进行单元测试的实例讲解
1.出了什么问题?单元测试的目标是一次只验证一个方法,小步的前进,细粒度的测试,但是假如某个方法依赖于其他一些难以操控的东东,比如说网络连接,数据库连接,或者是Servlet容器,那么我们该怎么办呢?要是你的测试依赖于系统的其他部分,甚至是系统的多个其他部分呢?在这种情况下,倘若不小心,你最终可能会发现自己几乎初始化了系统的每个组件,而这只是为了给一个测试创造足够的运行环境让它们可
2013-06-27 13:57:23 5964
linux查看端口是否被占用的小脚本
2013-06-20
AdaBoost算法java实现
2013-03-25
shingling、simhash、bloom filter
2013-03-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人