自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(55)
  • 收藏
  • 关注

原创 一个Spring Bean配置文件注入时的异常:TypeMismatchException

异常堆栈:Initialization of bean failed; nested exception is org.springframework.beans.TypeMismatchException: Failed to convert property value of type [java.util.LinkedHashMap] to required type [java.util.c

2015-03-27 23:06:57 9269

原创 WebX中关于编码的问题

web中的编码一直是个rang

2014-06-30 13:14:37 997

转载 执行mvn eclipse:eclipse生成ecllipse项目文件,然后导入到eclipse中出错

错误:An internal error occurred during: "Importing Maven projects".Unsupported IClasspathEntry kind=4解决:

2014-06-11 01:29:10 1062

转载 MyISAM和InnoDB索引实现的不同

MyISAM引擎使用B+Tree作为索引结构,叶节点的data域存放的是数据记录的地址。下图是MyISAM索引的原理图:这里设表一共有三列,假设我们以Col1为主键,则上图是一个MyISAM表的主索引(Primary key)示意。可以看出MyISAM的索引文件仅仅保存数据记录的地址。在MyISAM中,主索引和辅助索引(Secondary key)在结构上没有任何区别,只是主索引要

2014-05-08 11:20:26 456

转载 数据结构和算法之:图的深度优先和广度优先遍历及其Java实现

转载自:图的遍历,所谓遍历,即是对结点的访问。一个图有那么多个结点,如何遍历这些结点,需要特定策略,一般有两种访问策略,深度优先遍历和广度优先遍历。 深度优先遍历:深度优先遍历,从初始访问结点出发,我们知道初始访问结点可能有多个邻接结点,深度优先遍历的策略就是首先访问第一个邻接结点,然后再以这个被访问的邻接结点作为初始结点,访问它的第一个邻接结点。总结起来可

2014-04-19 19:55:19 940

转载 BSON特性探讨及基于其特性的MongoDB优化

BSON是由10gen开发的一个数据格式,目前主要用于MongoDB中,是MongoDB的数据存储格式。BSON基于JSON格式,选择JSON进行改造的原因主要是JSON的通用性及JSON的schemaless的特性。BSON主要会实现以下三点目标:1.更快的遍历速度对JSON格式来说,太大的JSON结构会导致数据遍历非常慢。在JSON中,要跳过一个文档进行数据读取

2014-04-14 19:12:13 563

转载 MongoDB性能优化之连接优化

本文是BoxedIce公司遇到的一个真实案例,如果你正在使用MongoDB的话,此文又是一个实用教材。BoxedIce在plugin directory项目中添加了新的WEB机器结点后,发现其MongoDB集群的性能开始受到影响,表现在请求的高峰时期,MongoDB的响应时间变得非常长。通过监控发现,在其高峰时间MongoDB的连接数达到了1100~1500左右,由于每个连接需要使

2014-04-14 19:09:06 782

转载 MongoDB的内部构造 From 《MongoDB The Definitive Guide》

本文是一篇转载文章,正如作者所言,MongoDB的官方文档基本是how to do的介绍,而关于how it worked却少之又少,本人也刚买了《MongoDB The Definitive Guide》的影印版,还没来得及看,本文原作者将其书中一些关于MongoDB内部现实方面的一些知识介绍如下,值得一看。另外,关于MongoDB内部实现的知识,还可以看一下本站的另一篇文章:《深入

2014-04-14 17:19:00 457

转载 Mongodb数据库DBObject对象和Json数据的转化(用Gson操作)

Mongodb数据库DBObject对象和Json数据的转化(一.用Gson操作)转自:http://zyjustin9.iteye.com/blog/2018699   byMongodb官方提供的Java驱动,保存与读取,需要的者是DBObject对象,这是一个接口,实现put,get等方法,跟map类似,如 果我们要直接把普通的java对象保存到mongodb,就

2014-04-09 22:49:52 4725

转载 探秘Java虚拟机——内存管理与垃圾回收

本文主要是基于Sun JDK 1.6 Garbage Collector(作者:毕玄)的整理与总结,原文请读者在网上搜索。1、Java虚拟机运行时的数据区2、常用的内存区域调节参数-Xms:初始堆大小,默认为物理内存的1/64(-Xmx:最大堆大小,默认(MaxHeapFreeRatio参数可以调整)空余堆内存大于70%时,JVM会减少堆直到 -Xms的

2014-03-31 17:08:40 556

原创 cvte笔试(web后台)

1.下列语句在控制台输出的是什么?(B)public class A {}public class B extends A {}public class Test { public static void main(String[] args) { A a1=new A(); B b=new B(); A a2=b; System.out.println(a2.ge

2014-03-25 15:36:16 3633

转载 百度笔试题1

1. 假设一个 mp3 搜索引擎收录了 2^24 首歌曲,并记录了可收听这些歌曲的 2^30 条 URL,但每首歌的 URL 不超过 2^10 个。系统会定期检查这些 URL,如果一个 URL 不可用则不出现在搜索结果中。现在歌曲名和 URL 分别通过整型的 SONG_ID 和 URL_ID 唯一确定。对该系统有如下需求:1) 通过 SONG_ID 搜索一首歌的 URL_ID,给出 URL

2014-03-23 22:42:28 428

转载 httpSession的正确理解

关于HttpSession的误解实在是太多了,本来是一个很简单的问题,怎会搞的如此的复杂呢?下面说说我的理解吧:一个session就是一系列某用户和服务器间的通讯。服务器有能力分辨出不同的用户。一个session的建立是从一个用户向服务器发第一个请求开始,而以用户显式结束或session超时为结束。其工作原理是这样的:1.当一个用户向服务器发送第一个请求时,服务器为其建立一个ses

2014-03-21 22:56:08 481

转载 深入理解Java内存模型(一)——基础

转自:http://ifeve.com/java-memory-model-1/本文属于作者原创,原文发表于InfoQ:http://www.infoq.com/cn/articles/java-memory-model-1并发编程模型的分类在并发编程中,我们需要处理两个关键问题:线程之间如何通信及线程之间如何同步(这里的线程是指并发执行的活动实体)。通信是指线程之间以何种机制

2014-03-21 16:00:50 430

转载 Servlet 3.0 新特性概述

Servlet 3.0 新特性概述Servlet 3.0 作为 Java EE 6 规范体系中一员,随着 Java EE 6 规范一起发布。该版本在前一版本(Servlet 2.5)的基础上提供了若干新特性用于简化 Web 应用的开发和部署。其中有几项特性的引入让开发者感到非常兴奋,同时也获得了 Java 社区的一片赞誉之声:异步处理支持:有了该特性,Servlet 线程不再需

2014-03-20 00:15:45 472

转载 Struts2 是如何把Action交给Spring托管的?

首先,来看看如何让Spring 来管理Action.1.在struts.xml中加入  有两种整合方式:     (1) 将Struts的业务逻辑控制器类配置在Spring的配置文件中,Action中引用的业务类一并注入。                (这样的处理,必须将action类的scope配置成property)Xml代码  bea

2014-03-19 00:53:39 1895

转载 Tomcat 系统架构与设计模式,第 1 部分: 工作原理

转自:http://www.ibm.com/developerworks/cn/java/j-lo-tomcat1/本文以 Tomcat 5 为基础,也兼顾最新的 Tomcat 6 和 Tomcat 4。Tomcat 的基本设计思路和架构是具有一定连续性的。Tomcat 总体结构Tomcat 的结构很复杂,但是 Tomcat 也非常的模块化,找到了 Tomcat 最核心的模

2014-03-18 22:57:31 509

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

转自:http://www.ibm.com/developerworks/cn/java/j-lo-tomcat2/门面设计模式门面设计模式在 Tomcat 中有多处使用,在 Request 和 Response 对象封装中、Standard Wrapper 到 ServletConfig 封装中、ApplicationContext 到 ServletContext 封装

2014-03-18 22:56:32 370

转载 JVM内存配置详解

转自:http://www.open-open.com/lib/view/open1324736648468.html前段时间在一个项目的性能测试中又发生了一次OOM(Out of swap sapce),情形和以前网店版的那次差不多,比上次更奇怪的是,此次搞了几天之后啥都没调整系统就自动好了,死活没法再重现之前的OOM了!问题虽然蹊跷,但也趁此机会再次对JVM堆模型、GC垃圾算法等进行了一次

2014-03-18 19:16:50 462

转载 sql优化

近期因工作需要,希望比较全面的总结下SQL SERVER数据库性能优化相关的注意事项,在网上搜索了一下,发现很多文章,有的都列出了上百条,但是仔细看发现,有很多似是而非或者过时(可能对SQL SERVER6.5以前的版本或者ORACLE是适用的)的信息,只好自己根据以前的经验和测试结果进行总结了。我始终认为,一个系统的性能的提高,不单单是试运行或者维护阶段的性能调优的任务,也不单单是开发阶

2014-03-18 19:10:27 389

转载 进程间通信与线程间通信

以前一直想找个机会总结一下进程和线程的通信机制,但由于技术和平台的局限性,一直没有找准切入点。由于马上要毕业了,对自己技术的总结和梳理的前提下写了本篇文章,如有错误之处,敬请拍砖和指教。         操作系统的主要任务是管理计算机的软件、硬件资源。现代操作系统的主要特点是多用户和多任务,也就是程序的并行执行,windows如此linux也是如此。所以操作系统就借助于进程来管理计算机的软

2014-03-14 14:35:17 433

转载 深入研究servlet的线程安全问题(转)

Servlet/JSP技术和ASP、PHP等相比,由于其多线程运行而具有很高的执行效率。由于Servlet/JSP默认是以多线程模式执行的,所以,在编写代码时需要非常细致地考虑多线程的安全性问题。然而,很多人编写Servlet/JSP程序时并没有注意到多线程安全性的问题,这往往造成编写的程序在少量用户访问时没有任何问题,而在并发用户上升到一定值时,就会经常出现一些莫明其妙的问题。  Ser

2014-03-13 17:00:15 318

转载 java socket编程

转自:http://www.cnblogs.com/linzheng/archive/2011/01/23/1942328.html一,网络编程中两个主要的问题一个是如何准确的定位网络上一台或多台主机,另一个就是找到主机后如何可靠高效的进行数据传输。在TCP/IP协议中IP层主要负责网络主机的定位,数据传输的路由,由IP地址可以唯一地确定Internet上的一台主机。而TC

2014-03-12 22:47:10 388

转载 随机访问文件RandomAccessFile 与 内存映射文件MappedByteBuffer

RandomAccessFileRandomAccessFile是用来访问那些保存数据记录的文件的,你就可以用seek( )方法来访问记录,并进行读写了。这些记录的大小不必相同;但是其大小和位置必须是可知的。但是该类仅限于操作文件。RandomAccessFile不属于InputStream和OutputStream类系的。实际上,除了实现DataInput和DataOutput接口之

2014-03-12 20:33:30 566

转载 进程的状态转换

进程是操作系统为了控制多个程序而创建的数据,操作系统是通过修改进程的状态来完成对相应程序的控制,用户程序的一些操作也可以修改一些进程的状态。那么进程的状态都有哪些呢?状态之间是如何装换的呢?       进程三态状态装换图 注意:创建和退出不是进程的状态。创建操作不做重点解释。阻塞也叫等待,和就绪的区别:等待是等待除CPU以外的资源,而就绪等待的是CPU资源。   

2014-03-11 20:15:10 579

转载 java中关键字volatile的作用

用在多线程,同步变量。 线程为了提高效率,将某成员变量(如A)拷贝了一份(如B),线程中对A的访问其实访问的是B。只在某些动作时才进行A和B的同步。因此存在A和B不一致的情况。volatile就是用来避免这种情况的。volatile告诉jvm, 它所修饰的变量不保留拷贝,直接访问主内存中的(也就是上面说的A) =========================分割线1=======

2014-03-11 17:22:36 661

原创 重新学习一下Java中的几个关键字(final/static/volatile......)

1、 final关键字          final关键字可以修饰类,方法和变量,对于每一种修饰都有不同的意义,但目的是相同的,保持完整性防止改变。          例如,在Java中final类不可以被继承,final变量的值不可以修改,final方法不可以被重载。          在Java中,我们无法让对象被修饰为final,而只能修饰对象的引用,这意

2014-03-11 17:21:05 1358

转载 ConcurrentHashMap之实现细节

ConcurrentHashMap是Java 5中支持高并发、高吞吐量的线程安全HashMap实现。在这之前我对ConcurrentHashMap只有一些肤浅的理解,仅知道它采用了多个锁,大概也足够了。但是在经过一次惨痛的面试经历之后,我觉得必须深入研究它的实现。面试中被问到读是否要加锁,因为读写会发生冲突,我说必须要加锁,我和面试官也因此发生了冲突,结果可想而知。还是闲话少说,通过仔细阅读源代码

2014-03-09 16:13:31 497

转载 Java中的ReentrantLock和synchronized两种锁定机制的对比

原文:http://www.ibm.com/developerworks/cn/java/j-jtp10264/index.html多线程和并发性并不是什么新内容,但是 Java 语言设计中的创新之一就是,它是第一个直接把跨平台线程模型和正规的内存模型集成到语言中的主流语言。核心类库包含一个 Thread 类,可以用它来构建、启动和操纵线程,Java 语言包括了跨线程传达并发性约束的构造

2014-03-09 14:59:24 393

转载 聊聊并发-Java中的Copy-On-Write容器

Copy-On-Write简称COW,是一种用于程序设计中的优化策略。其基本思路是,从一开始大家都在共享同一个内容,当某个人想要修改这个内容的时候,才会真正把内容Copy出去形成一个新的内容然后再改,这是一种延时懒惰策略。从JDK1.5开始Java并发包里提供了两个使用CopyOnWrite机制实现的并发容器,它们是CopyOnWriteArrayList和CopyOnWriteArraySet。

2014-03-09 14:27:02 449

转载 Hashtable、synchronizedMap、ConcurrentHashMap 比较

util.concurrent包除了包含许多其他有用的并发构造块之外,还包含了一些主要集合类型List和Map的高性能的、线程安全的实现。Brian Goetz向您展示了用ConcurrentHashMap替换Hashtable或synchronizedMap,将有多少并发程序获益。 在Java类库中出现的第一个关联的集合类是Hashtable,它是JDK 1.0的一部分。Hashtable提

2014-03-09 13:41:55 700

原创 HashTable和ConcurrentHashMap的学习

一、HashTable的内部存储结构HashTable和HashMap采用相同的存储机制,二者的实现基本一致,不同的是:1、HashMap是非线程安全的,HashTable是线程安全的,内部的方法基本都是synchronized。2、HashTable不允许有null值的存在。在HashTable中调用put方法时,如果key为null,直接抛出NullPointe

2014-03-09 00:10:49 450

转载 java集合类深入分析之HashSet, HashMap篇

(转)java集合类深入分析之HashSet, HashMap篇http://shmilyaw-hotmail-com.iteye.com/blog/1700600简介    Map和Set是比较常用的两种数据结构。我们在平常的编程中经常会用到他们。只是他们的内部实现机制到底是怎么样的呢?了解他们的具体实现对于我们如何有效的去使用他们也是很有帮助的。在这一篇文章里,

2014-03-08 23:02:47 466

转载 通过分析 JDK 源代码研究 Hash 存储机制

通过 HashMap、HashSet 的源代码分析其 Hash 存储机制集合和引用就像引用类型的数组一样,当我们把 Java 对象放入数组之时,并不是真正的把 Java 对象放入数组中,只是把对象的引用放入数组中,每个数组元素都是一个引用变量。实际上,HashSet 和 HashMap 之间有很多相似之处,对于 HashSet 而言,系统采用 Hash 算法决定集合

2014-03-08 22:54:09 418

转载 Hash冲突解决办法

(转载)HashMap解决hash冲突的方法http://xiaolu123456.iteye.com/blog/1485349在Java编程语言中,最基本的结构就是两种,一种是数组,一种是模拟指针(引用),所有的数据结构都可以用这两个基本结构构造,HashMap也一样。当程序试图将多个 key-value 放入 HashMap 中时,以如下代码片段为例:

2014-03-08 22:33:25 1617

原创 关于int和Integer比较的问题

在看到好几道有关这个int和Integer的值比较的问题,于是捣腾了一番,也释了疑惑。1. Integer a = new Integer(12); Integer b = new Integer(12); System.out.println(a == b);输出结果:false分析:是两个integer引用的比较,==比较的是引用(内存地址)2. Inte

2014-03-06 22:57:32 2191

原创 在做CVTE在线测评时遇到的几个问题

记录一下在做测评时遇到的几个问题。1.count(*)和count(列名)cout(*)统计的是结果集的总条数count(列名)统计的是除了结果集中列值不为空(不为null)的记录的总条数2.关于==和equals的public class T13 { public static void main(String[] args) { String s1="

2014-03-06 14:45:47 6664 1

原创 Java中Vector类学习之深入学习

在学习的过程中,发现Vector的有些方法看起来差不多,比较疑惑。1.有两个增加元素的方法add()和addElement(),。通过查看源代码和API文档比较: public synchronized void addElement(E obj) { modCount++; ensureCapacityHelper(elementCount + 1

2014-03-06 02:25:21 524

原创 Java中Vector类和Stack类的学习

1.Vector类API文档的解释:     Vector类可以实现可增长的对象数组。与数组一样,它包含可以使用整数索引进行访问的组件。但是,Vector 的大小可以根据需要增大或缩小,以适应创建 Vector 后进行添加或移除项的操作。每个向量可通过维护 capacity 和capacityIncrement 来优化存储空间的管理。capacity 至少和向量大小一样

2014-03-06 01:25:52 805

转载 java中equals方法和“==”的比较

在做项目的过程中也没去研究过这两个用法,之前准备面试看了一些面试题,关于equals和==的比较看了之后似乎懂了,可是之后看了在一篇将这个的文章后又有点迷糊了,今天看到以下这篇文章后才又清晰了。(转)------------------------------------------------------------------------------------------

2014-03-04 21:42:08 897

空空如也

空空如也

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

TA关注的人

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