自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Java 之 道

不要想什么天赋异禀,一切都来自经历和渴望

  • 博客(41)
  • 资源 (1)
  • 收藏
  • 关注

原创 Java wait() notify()方法使用实例讲解

1)wait()、notify()和notifyAll()方法是本地方法,并且为final方法,无法被重写。  2)调用某个对象的wait()方法能让当前线程阻塞,并且当前线程必须拥有此对象的monitor(即锁,或者叫管程)  3)调用某个对象的notify()方法能够唤醒一个正在等待这个对象的monitor的线程,如果有多个线程都在等待这个对象的monitor,则只能唤醒其中一个线程;

2015-04-08 14:54:37 47865 41

原创 汪国真的八字命理分析

乾造:  丙     甲     庚     己     (子丑空)      申     午     申     卯            大运:乙未  丙申  丁酉  戊戌  己亥  庚子  辛丑  壬寅       5岁  15岁  25岁  35岁  45岁  55岁  65岁  75岁  始于:1961  1971  1981  1991  2001  2011  2

2015-04-27 13:47:32 2638

转载 Java生成MD5摘要(MD5 SHA-1)

MD5 (Message Digest  Algorithm 5 信息—摘要算法5 ) 的一些体会  一、若我们定义一个函数 ,原型为:  String  MD5 ( Information info) 其中Information 表示任意长度的信息,注意是任意长度的。 实现这个函数的最终要求: 1、对于不同的输入信息,产生的返回值 结果不同 且必须唯一 2. 改算法不

2015-04-27 10:38:45 3366

转载 Java泛型详解

一. 泛型概念的提出(为什么需要泛型)?首先,我们看下下面这段简短的代码: 1 public class GenericTest { 2 3 public static void main(String[] args) { 4 List list = new ArrayList(); 5 list.add("qqyumidi");

2015-04-24 20:48:31 1098

转载 serialVersionUID作用

原文出处:未知Java的序列化机制是通过在运行时判断类的serialVersionUID来验证版本一致性的。在进行反序列化时,JVM会把传来的字节流中的serialVersionUID与本地相应实体(类)的serialVersionUID进行比较,如果相同就认为是一致的,可以进行反序列化,否则就会出现序列化版本不一致的异常。 Eclipse中The serializable c

2015-04-23 13:08:16 630

转载 Java中的深拷贝和浅拷贝

Java语言的一个优点就是取消了指针的概念,但也导致了许多程序员在编程中常常忽略了对象与引用的区别,本文会试图澄清这一概念。并且由于Java不能通过简单的赋值来解决对象复制的问题,在开发过程中,也常常要要应用clone()方法来复制对象。本文会让你了解什么是影子clone与深度clone,认识它们的区别、优点及缺点。       看到这个标题,是不是有点困惑:Java语言明确说明取消了指针

2015-04-23 13:05:20 733

原创 White spaces are required between publicId and systemId

今天在配applicationContext.xml的时候出现了这样一个错误:x: White spaces are required between publicId and systemId我用的是Spring3.0.5错误在于下列标签的顺序必须按照下面的来xsi:schemaLocation="http://www.springframework.org/schema/bea

2015-04-22 16:57:33 4280

原创 MySQL数据库之触发器

一 、只有一行执行语句的触发器trigger触发器是由事件来触发某些操作,这些事件包括insert / delete / update等例如:create trigger t_user_trig before insert      on t_user for each row      insert into trigger_time values(now());意思

2015-04-22 10:19:47 5456

转载 Java反射机制详解

首先,我们在开始前提出一个问题:1.在运行时,对于一个java类,能否知道属性和方法;能否去调用它的任意方法? 答案是肯定的。本节所有目录如下:什么是JAVA的反射机制JDK中提供的Reflection APIJAVA反射机制提供了什么功能获取类的Class对象获取类的Fields获取类的Method获取类的Constructor新建类的

2015-04-18 15:54:20 609

转载 B-tree/B+tree/B*tree

3.B-tree B-tree又叫平衡多路查找树。一棵m阶的B-tree (m叉树)的特性如下:(其中ceil(x)是一个取上限的函数)1)  树中每个结点至多有m个孩子;2)  除根结点和叶子结点外,其它每个结点至少有有ceil(m / 2)个孩子;3)  若根结点不是叶子结点,则至少有2个孩子(特殊情况:没有孩子的根结点,即根结点为叶子结点,整棵树只有一个根节点);

2015-04-18 11:13:44 2145

转载 设计模式之:观察者模式

定义:定义对象间一种一对多的依赖关系,使得当每一个对象改变状态,则所有依赖于它的对象都会得到通知并自动更新。类型:行为类模式类图:        在软件系统中经常会有这样的需求:如果一个对象的状态发生改变,某些与它相关的对象也要随之做出相应的变化。比如,我们要设计一个右键菜单的功能,只要在软件的有效区域内点击鼠标右键,就会弹出一个菜单;再比如,我们要设计一个自动部署的功能,就像ec

2015-04-17 22:29:36 539

转载 12个小球,1个小球与其他的质量不同,如何称最少次判断是哪个小球?

在n个外观完全相同的小球中,有一个与其它球重量不同。如何只用一架天平找到这个球并判断它比其它球轻还是重?最少需要称几次?这是一个流传极广的经典问题,在网上随便一搜就会发现无数人都提出了自己的见解和算法并争论不休。最常见的是12个小球,至于更多球的计算,就不是人力能及的了。实际上,这个问题确实是有准确答案的:n次称量最多可以在个球中找到不同的球,并判断它的轻重。理论证明可参考The

2015-04-17 10:58:19 3364

转载 《最强大脑》节目

我不否认沙昆塔拉这样的计算才能,对我来说,不要说运算了,就是记忆一个六、七位数都记不住。但我总觉得多讲科学化比多讲神秘化好些,科学化的东西学得会,神秘化的东西学不会,故意神秘化就更不好了。有时传播神秘化的东西比传播科学更容易些.在科学落后的地方,一些简单的问题就能迷惑人.在科学进步的地方,一些较复杂的问题也能迷惑人.看看沙昆塔拉能在一个科学发达的国家引起轰动,就知道我们该多么警惕了,该多么珍视在实

2015-04-17 10:54:30 1299

转载 Servlet的生命周期

Servlet的生命周期是由Servlet的容器来控制的,它可以分为3个阶段;初始化,运行,销毁。初始化阶段:1,Servlet容器加载servlet类,把servlet类的.class文件中的数据读到内存中。2,然后Servlet容器创建一个ServletConfig对象。ServletConfig对象包含了Servlet的初始化配置信息。3,Servlet容器创建一个s

2015-04-16 20:49:11 720

转载 深入理解Java的接口和抽象类

对于面向对象编程来说,抽象是它的一大特征之一。在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类。这两者有太多相似的地方,又有太多不同的地方。很多人在初学的时候会以为它们可以随意互换使用,但是实际则不然。今天我们就一起来学习一下Java中的接口和抽象类。下面是本文的目录大纲:  一.抽象类  二.接口  三.抽象类和接口的区别  若有不正之处,请多多谅解并欢迎批评指正,

2015-04-16 20:38:15 558

转载 JVM加载class文件的原理机制

JVM加载class文件的原理机制1.Java中的所有类,必须被装载到jvm中才能运行,这个装载工作是由jvm中的类装载器完成的,类装载器所做的工作实质是把类文件从硬盘读取到内存中 2.java中的类大致分为三种:     1.系统类     2.扩展类     3.由程序员自定义的类 3.类装载方式,有两种     1.隐式装载, 程序在运行过程中当碰到通

2015-04-16 20:10:01 593

转载 Java8 Arrays.sort VS Arrays.parallelSort

所有的开发者都会用到Arrays.sort来进行对象和原生数组进行排序,这个API会使用归并排序或者Tim排序来进行排序,源码如下所示:123456public static void sort(Object[] a) {  if (LegacyMergeSort.userRequested)    legacyMergeSo

2015-04-16 16:53:13 1479

转载 Java虚拟机运行时数据区

Java在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途、创建和销毁的时间,有一些是随虚拟机的启动而创建,随虚拟机的退出而销毁,有些则是与线程一一对应,随线程的开始和结束而创建和销毁。Java虚拟机所管理的内存将会包括以下几个运行时数据区域 程序计数器(Program Counter Register)它是一块较小的内存空间,它

2015-04-16 15:45:25 1834

转载 mysql隔离级别与悲观锁、乐观锁

1、什么是悲观锁,乐观锁悲观锁大多数情况下依靠数据库的锁机制实现,以保证操作最大程度的独占性。但随之而来的就是数据库性能的大量开销,特别是对长事务而言,这样的开销往往无法承受。而乐观锁机制在一定程度上解决了这个问题。乐观锁,大多是基于数据版本( Version )记录机制实现。何谓数据版本?即为数据增加一个版本标识,在基于数据库表的版本解决方案中,一般是通过为数据库表增加一个 “version

2015-04-14 21:59:55 7489 3

转载 数据库事务隔离级别

本文系转载,原文地址:http://singo107.iteye.com/blog/1175084数据库事务的隔离级别有4个,由低到高依次为Read uncommitted、Read committed、Repeatable read、Serializable,这四个级别可以逐个解决脏读、不可重复读、幻读这几类问题。√: 可能出现    ×: 不会出现脏

2015-04-14 21:45:47 659

转载 Java对象的序列化和反序列化Serializable

对象的序列化对象序列化就是把一个对象变为二进制数据流的一种方法。一个类要想被序列化,就行必须实现java.io.Serializable接口。虽然这个接口中没有任何方法,就如同之前的cloneable接口一样。实现了这个接口之后,就表示这个类具有被序列化的能力。先让我们实现一个具有序列化能力的类吧:1234567891

2015-04-14 21:02:32 4288

原创 正则表达式验证IP地址合法性

首先学习一下正则表达式的语法规则,如下:IP地址通常是类似:10.221.105.225的格式,不能以0开头,每个字段最大不超过255,不小于0IP匹配规则: String ip = "([1-9]|[1-9][0-9]|1\\d\\d|2[0-4]\\d|25[0-5])\\." + "([1-9]|[1-9][0-9]|1\\d\\d|2[0-

2015-04-14 13:35:25 9458

转载 Java NIO 进程间通信

传统的进程间通信的方式有大致如下几种:(1)   管道(PIPE) (2)   命名管道(FIFO) (3)   信号量(Semphore) (4)   消息队列(MessageQueue) (5)   共享内存(SharedMemory) (6)   SocketJava如何支持进程间通信。我们把Java进程理解为JVM进程。很明显,传统的这些大部分技术是无法被我们的

2015-04-13 15:14:46 2917

转载 Jdk 1.7.0_17中提供的默认的排序算法

参考自:论文,Dual-Pivot Quicksort algorithm ,by Vladimir Yaroslavskiy。http://www.sytarena.com/javajswz/20140217/1329.html转载自:http://blog.csdn.net/jy3161286/article/details/23361191?utm_source=tuicool

2015-04-13 10:24:28 5216

转载 Java HashMap Hashtable 的区别

两者都实现了Map接口,基本特性相同-         对同一个Key,只会有一个对应的value值存在-         如何算是同一个Key? 首先,两个key对象的hash值相同,其次,key对象的equals方法返回真内部数据结构Hashtable和HashMap的内部数据结构相似 其基本内部数据结构是一个Entry数组 (transient E

2015-04-12 15:38:51 754

原创 Java 递归实现汉诺塔问题

汉诺塔问题就是:有ABC三根柱子,A柱子上从上到下摞了很多体积依次递增的圆盘,如果将圆盘从A移动到C柱子,且依然保持从上到下依次递增。class Hanio{ public void moveOne(int n, String init, String desti){ //只有一个盘子的情况 System.out.println(" move:"+n+" from "+init+"

2015-04-10 21:47:42 5355

转载 在浏览器输入网址后回车执行的具体步骤

一、URL自动解析 HTTPURL自动解析 HTTP,URL包含了用于查找某个资源的足够信息,基本格式如下:HTTP://host[“:”port][abs_path],其中HTTP表示桶盖HTTP协议来定位网络资源;host表示合法的主机域名或IP地址,port指定一个端口号,缺省80;abs_path指定请求资源的URI;如果URL中没有给出abs_path,那么当它作为请求URI时,

2015-04-10 11:54:21 2533

转载 详解Hadoop核心架构

发布时间: 2014-7-4 14:14:04     通过对Hadoop分布式计算平台最核心的分布式文件系统HDFS、MapReduce处理过程,以及数据仓库工具Hive和分布式数据库Hbase的介绍,基本涵盖了Hadoop分布式平台的所有技术核心。  通过这一阶段的调研总结,从内部机理的角度详细分析,HDFS、MapReduce、Hbase、Hive是如何运行,以及基于Hadoop数据

2015-04-09 13:11:36 867

转载 Java多线程中 synchronized和Lock的区别

在上一节中,我们已经了解了Java多线程编程中常用的关键字synchronized,以及与之相关的对象锁机制。这一节中,让我们一起来认识JDK 5中新引入的并发框架中的锁机制。我想很多购买了《Java程序员面试宝典》之类图书的朋友一定对下面这个面试题感到非常熟悉:问:请对比synchronized与java.util.concurrent.locks.Lock的异同。答案:

2015-04-08 21:28:35 15750

转载 Java8 十大新特性详解

本教程将Java8的新特新逐一列出,并将使用简单的代码示例来指导你如何使用默认接口方法,lambda表达式,方法引用以及多重Annotation,之后你将会学到最新的API上的改进,比如流,函数式接口,Map以及全新的日期API“Java is still not dead—and people are starting to figure that out.”本教程将用带注释的简单代

2015-04-08 21:21:02 2355

原创 Java 多线程实现生产者消费者问题(wait/notify)

本文参考网上一些例子,使用synchronized及对象的wait/notify方法实现。首先定义3个类,一个是容器类,属性有容器最大容量和当前容量;另外两个分别是生产者和消费者类,二者分别有生产方法和消费方法(均在各自的run方法中实现,实际上最好抽离出来成为一个单独的方法)package test3;class Container{ public int max; /

2015-04-08 20:59:32 1218

转载 判断32位无符号整数二进制中1的个数

1、比较简单和容易理解的方法就是逐位比较法:#include using namespace std; int findone(unsigned int n){ for(int i=0;n>0;n>>=1) i+=(n&1); return i; } int main(){ int n; cin>>n; c

2015-04-07 15:07:56 2969

转载 MapReduce工作原理图文详解

目录:1.MapReduce作业运行流程2.Map、Reduce任务中Shuffle和排序的过程正文:1.MapReduce作业运行流程下面贴出我用visio2010画出的流程示意图:   流程分析:1.在客户端启动一个作业。2.向JobTracker请求一个Job ID。3.将运行作业所需要的资源文件复制到HDFS上,包

2015-04-04 22:33:10 1074

转载 TCP三次握手/四次挥手详解

版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://justim.blog.51cto.com/740099/237548TCP(Transmission Control Protocol) 传输控制协议 TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接:位码

2015-04-04 22:18:35 2406 2

转载 java中volatile关键字的含义

在java线程并发处理中,有一个关键字volatile的使用目前存在很大的混淆,以为使用这个关键字,在进行多线程并发处理的时候就可以万事大吉。Java语言是支持多线程的,为了解决线程并发的问题,在语言内部引入了 同步块 和 volatile 关键字机制。 synchronized 同步块大家都比较熟悉,通过 synchronized 关键字来实现,所有加上synchronized

2015-04-04 20:29:49 614

原创 2015年阿里巴巴实习生招聘笔试题详细解析(研发大类:Java研发/C++研发)

这是2015年4月阿里巴巴集团实习生招聘的在线笔试题,本试题是Java研发工程师职位的题目(虽然选择题没有一道跟Java有关),C++研发及测试开发、算法工程师均是类似题目,重复率较高,故不再一一列出。图片中的选项不一定是正确答案。题目的分析答案由个人整理不保证完全正确,仅供大家参考。若针对个别题目有其他答案可以评论留言,一起学习。

2015-04-04 16:37:34 2301 2

原创 给定一个整数sum, 从有N个有序元素的数组中寻找元素a,b,使得a+b的结果最接近sum

class FindClosestPairExample { public static void findAndPrintClosest(int[] arrayOne, int expectedSum) { int lenOne = arrayOne.length; //数组长度,默认全部填满。 int diff = Intege

2015-04-04 12:58:04 8242 3

原创 Java中的Set集合接口实现插入对象不重复的原理

在java的集合中,判断两个对象是否相等的规则是:1)、判断两个对象的hashCode是否相等 。      如果不相等,认为两个对象也不相等,完毕       如果相等,转入2)(这一点只是为了提高存储效率而要求的,其实理论上没有也可以,但如果没有,实际使用时效率会大大降低,所以我们这里将其做为必需的。后面会重点讲到这个问题。) 2)、判断两个对象用equals运算是否相等

2015-04-02 13:54:40 4386

转载 Java中的Map List Set等集合类

一、概述在JAVA的util包中有两个所有集合的父接口Collection和Map,它们的父子关系:+Collection 这个接口extends自 --java.lang.Iterable接口 ├+List(接口 代表有序,可重复的集合。列表) │├ ArreyList     (Class 数组,随机访问,没有同步,线程不安全) │├ Vecto

2015-04-02 11:01:49 1021

转载 为什么list最好=new arraylist

List list = new ArrayList()1、这是一个好的编程习惯,代码有更大的灵活性因为List只是接口,实现List接口的不只是ArrayList,还有其他容器类,例如Vector。如果你用ArrayList   list  =   new  ArrayList(),那就失去了通用性,使用List,你就可以不必关注用的是ArrayList,还是Vector。例如在下

2015-04-02 10:38:19 2704 1

3D游戏开发大全 中文版PDF格式

游戏开发

2010-12-01

空空如也

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

TA关注的人

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