自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 问答 (1)
  • 收藏
  • 关注

转载 sleep和wait有什么区别

第一种解释:功能差不多,都用来进行线程控制,他们最大本质的区别是:sleep()不释放同步锁,wait()释放同步缩.         还有用法的上的不同是:sleep(milliseconds)可以用时间指定来使他自动醒过来,如果时间不到你只能调用interreput()来强行打断;wait()可以用notify()直接唤起.第二种解释:sleep是Thread类的静

2015-07-31 19:04:14 428

转载 为何stop()和suspend()方法不推荐使用

stop()方法作为一种粗暴的线程终止行为,在线程终止之前没有对其做任何的清除操作,因此具有固有的不安全性。 用Thread.stop()方法来终止线程将会释放该线程对象已经锁定的所有监视器。如果以前受这些监视器保护的任何对象都处于不连贯状态,那么损坏的对象对其他线程可见,这有可能导致不安全的操作。 由于上述原因,因此不应该使用stop()方法,而应该在自己的Thread类中置入一个标志,用于

2015-07-31 18:57:51 832

转载 java中的sleep()和wait()的区别

对于sleep()方法,我们首先要知道该方法是属于Thread类中的。而wait()方法,则是属于Object类中的。sleep()方法导致了程序暂停执行指定的时间,让出cpu该其他线程,但是他的监控状态依然保持者,当指定的时间到了又会自动恢复运行状态。在调用sleep()方法的过程中,线程不会释放对象锁。而当调用wait()方法的时候,线程会放弃对象锁,进入等待此对象的等

2015-07-31 18:39:06 341

转载 快速排序 快速搞定

快速排序由于排序效率在同为O(N*logN)的几种排序方法中效率较高,因此经常被采用,再加上快速排序思想----分治法也确实实用,因此很多软件公司的笔试面试,包括像腾讯,微软等知名IT公司都喜欢考这个,还有大大小的程序方面的考试如软考,考研中也常常出现快速排序的身影。总的说来,要直接默写出快速排序还是有一定难度的,因为本人就自己的理解对快速排序作了下白话解释,希望对大家理解有帮助,达到快速

2015-07-31 11:52:55 347

转载 char与byte的区别

很多初学者(包括我,已经学了一年多java了)肯会对char和byte这两种数据类型有所疑惑,相互混淆,今天特地查了好多资料,对byte和char两种数据类型进行了总结和比较,先将结果与大家分享:        byte 是字节数据类型 ,是有符号型的,占1 个字节;大小范围为-128—127 。char 是字符数据类型 ,是无符号型的,占2字节(Unicode码 );

2015-07-30 20:42:49 478

转载 冒泡排序的三种实现

冒泡排序是非常容易理解和实现,,以从小到大排序举例:设数组长度为N。1.比较相邻的前后二个数据,如果前面数据大于后面的数据,就将二个数据交换。2.这样对数组的第0个数据到N-1个数据进行一次遍历后,最大的一个数据就“沉”到数组第N-1个位置。3.N=N-1,如果N不为0就重复前面二步,否则排序完成。 按照定义很容易写出代码:[cpp]

2015-07-30 20:00:46 444

转载 注册JDBC驱动的三种方式

1. Class.forName("com.mysql.jdbc.Driver"); 2. DriverManager.registerDriver(new com.mysql.jdbc.Driver())3. System.setProperty("jdbc.drivers","com.mysql.jdbc.Driver");  以前只知道前面两种方式,不知道还有

2015-07-27 16:43:12 512

转载 Oracle SQL性能优化

oracle SQL优化

2015-07-27 14:19:40 533

转载 ROW_NUMBER()函数的使用

Row_number() over只是用于把查询的数据,为他增加一列连续的ID数ROW_NUMBER()函数是Sql 2005中新添的一个函数。通常它被用在分页的SQL语句中。微软官方的对此函数的描述是:返回结果集分区内行的序列号,每个分区的第一行从 1 开始。我对此的理解:利用此函数可以为表中的某个字段建立序列,从1开始。就是说,根据已存在的某列,利用此函数可建立一新列,

2015-07-27 13:55:29 495

转载 Sql常见面试题 受用了

1. 用一条SQL 语句 查询出每门课都大于80 分的学生姓名name   kecheng   fenshu 张三     语文       81张三     数学       75李四     语文       76李四     数学       90王五     语文       81王五     数学       100王五     英语       90

2015-07-27 11:06:10 577

转载 存储过程的优缺点个人总结

公司的系统是自主开发的,历史比较悠久,有不少是传统C/S架构,采用存储过程来处理业务逻辑。近来做新系统的时候,我采用了三层架构,抛弃存储过程改用ORM。有同事问及不用存储过程的理由,我想了一下,对存储过程做了如下总结。本人经验和水平有限,总结有所偏颇,还请大家纠察。 优点1.在生产环境下,可以通过直接修改存储过程的方式修改业务逻辑(或bug),而不用

2015-07-27 10:29:57 458

转载 ORACLE 中ROWNUM用法总结! (转)

ORACLE 中ROWNUM用法总结! 对于 Oracle 的 rownum 问题,很多资料都说不支持>,>=,=,between...and,只能用以上符号(,>=,=,between..and 时会提示SQL语法错误,而是经常是查不出一条记录来,还会出现似乎是莫名其妙的结果来,其实您只要理解好了这个 rownum 伪列的意义就不应该感到惊奇,同样是伪列,rownum 与 rowid 可有些

2015-07-26 17:33:03 424

转载 Hibernate与 MyBatis的比较

最近做了一个Hibernate与MyBatis的对比总结,希望大家指出不对之处。第一章     Hibernate与MyBatisHibernate 是当前最流行的O/R mapping框架,它出身于sf.net,现在已经成为Jboss的一部分。 Mybatis 是另外一种优秀的O/R mapping框架。目前属于apache的一个子项目。MyBatis 参考资料官网:

2015-07-19 19:48:00 388

转载 Hibernate 与mybatis的区别

为方便以后准备面试,把一些常用的技术整理出来,会不定期更新。首先简单介绍下两者的概念:Hibernate :Hibernate 是当前最流行的ORM框架,对数据库结构提供了较为完整的封装。Mybatis:Mybatis同样也是非常流行的ORM框架,主要着力点在于POJO 与SQL之间的映射关系。其次具体从几个方面说一下两者的区别:1.两者最大

2015-07-19 19:35:16 376

转载 hibernate集合映射inverse和cascade详解

1、到底在哪用cascade="..."?cascade属性并不是多对多关系一定要用的,有了它只是让我们在插入或删除对像时更方便一些,只要在cascade的源头上插入或是删除,所有cascade的关系就会被自己动的插入或是删除。便是为了能正确的cascade,unsaved-value是个很重要的属性。Hibernate通过这个属性来判断一个对象应该save还是update,如果这个对象的

2015-07-19 17:20:08 375

转载 悲观锁和乐观锁解决hibernate并发

转载自http://blog.csdn.net/csh624366188/article/details/7654996 锁( locking ),这个概念在我们学习多线程的时候曾经接触过,其实这里的锁和多线程里面处理并发的锁是一个道理,都是暴力的把资源归为自己所有。这里我们用到锁的目的就是通过一些机制来保证一些数据在某个操作过程中不会被外界修改,这样的机制,在这里,也就是所谓的“锁”,即

2015-07-19 14:54:51 550

转载 hibernate的list和iterate的区别

一、先介绍一下java中的缓存系统JCS(java cache system) 1、JCS(Java Caching System)是一个对象Cache,它可以把Java对象缓存起来,提高那些访问频率很高的Java对象的存取效率。JCS是按照对象的唯一标示来存取对象的,比如说可以按照对象的    hashCode来存取。 2、对于Hibernate来说,可以利用JCS来缓存查询结果,这样当

2015-07-18 17:50:23 458

转载 Java项目性能监控和调优工具-Javamelody

JavaMelody能够在运行环境监测Java或Java EE应用程序服务器。并以图表的形式显示:Java内存和Java CPU使用情况,用户Session数量,JDBC连接数,和http请求、sql请求、jsp页面与业务接口方法(EJB3、Spring、Guice)的执行数量,平均执行时间,错误百分比等。图表可以按天,周,月,年或自定义时间段查看。 监控效果图见本文结尾部分.

2015-07-18 17:01:58 498

转载 hibernate缓存机制详细分析

在本篇随笔里将会分析一下hibernate的缓存机制,包括一级缓存(session级别)、二级缓存(sessionFactory级别)以及查询缓存,当然还要讨论下我们的N+1的问题。随笔虽长,但我相信看完的朋友绝对能对hibernate的 N+1问题以及缓存有更深的了解。一、N+1问题首先我们来探讨一下N+1的问题,我们先通过一个例子来看一下,什么是N+1问题:li

2015-07-18 11:33:02 492

转载 Hibernate的evict方法和clear方法的区别

问:先创建一个Student,然后调用session.save方法,然后再调用evict方法把Student对象清除出缓存,再提交事务, 可是会报错:Exception in thread "main" org.hibernate.AssertionFailure: possible nonthreadsafe access to session 但是如果我用的不是evict方法,而是

2015-07-17 19:40:36 607

转载 Hibernate中session的clear(),flush(),evict()方法详解

一、Clear 方法无论是Load 还是 Get 都会首先查找缓存(一级缓存) 如果没有,才会去数据库查找,调用Clear() 方法,可以强制清除Session缓存。例:public void testClear(){ Session session = HibernateUitl.getSessionFactory().getCurrentSession();

2015-07-17 19:31:08 1028

转载 hibernate N+1问题

Hibernate 中常会用到set,bag等集合表示1 对多的关系, 在获取实体的时候就能根据关系将关联的对象或者对象集取出, 还可以设定cacade进行关联更新和删除。这不得部说hibernate 的orm做得很好,很贴近oo的使用习惯了。 但是对数据库访问还是必须考虑性能问题的, 在设定了1 对多这种关系之后, 查询就会出现传说中的n +1 问题。 1 )1 对多,在1 方,查找得到

2015-07-17 16:28:44 457

转载 hibernate延迟加载(get和load的区别)

在hibernate中我们知道如果要从数据库中得到一个对象,通常有两种方式,一种是通过session.get()方法,另一种就是通过session.load()方法,然后其实这两种方法在获得一个实体对象时是有区别的,在查询性能上两者是不同的。一.load加载方式当使用load方法来得到一个对象时,此时hibernate会使用延迟加载的机制来加载这个对象,即:当我们使用session

2015-07-17 15:58:44 458

转载 session.flush()与session.clear()的区别及使用环境

首先session是有一级缓存的,目的是为了减少查询数据库的时间,提高效率,一级缓存的生命周期和session是一样的,session.flush()和session.clear()就针对session的一级缓存的处理。   简单的说,1 session.flush()的作用就是将session的缓存中的数据与数据库同步。2 session.clear()的作用就是

2015-07-17 15:31:45 1018

转载 HQL和SQL的区别

hql是面向对象查询,格式:from + 类名 + 类对象 + where + 对象的属性sql是面向数据库表查询,格式:from + 表名 + where + 表中字段1、查询一般在Hibernate中使用查询时,推荐使用hql(Hibernate Query Language)查询语句。使用hql的时候需要注意:A、大小写敏感因为hql是面向对象的,

2015-07-17 15:28:28 383

转载 SpringMVC与Struts2的对比

下面这些东西基本都是我从网上粘贴过来的,没有那么多耐心和时间一个字一个字的敲了,但是基本能表明我选择SpringMVC的思路和原因。把这张图放在这里,我是想说SpringMVC和Struts2真的是不一样的,虽然在都有着核心分发器等相同的功能组件(这些由MVC模式本身决定的)。 为什么SpringMVC会赢得最后的胜利呢?谈几点我自己的看法: 第

2015-07-16 16:41:37 490

转载 spring里面事务的传播属性和事务隔离级别

一、Propagation (事务的传播属性)Propagation :  key属性确定代理应该给哪个方法增加事务行为。这样的属性最重要的部份是传播行为。有以下选项可供使用:PROPAGATION_REQUIRED--支持当前事务,如果当前没有事务,就新建一个事务。这是最常见的选择。PROPAGATION_SUPPORTS--支持当前事务,如果当前没有事务,就以非事务方式执行。PRO

2015-07-12 14:47:41 854

转载 用Gradle 构建你的android程序

转载自http://www.cnblogs.com/youxilua/archive/2013/05/20/3087935.html

2015-07-09 18:14:30 305

转载 安卓开发黄金搭档:android-studio+Genymotion模拟器

转载注明:http://blog.csdn.net/langyuewu/article/details/39196653最近换了电脑,重新配置安卓开发环境,记录一下:早期研究安卓开发,用eclipse觉得挺臃肿庞大,后来出了android-studio,等版本渐渐稳定下来用起来还不错,但是还是比较难忍受AVD模拟器的缓慢启动速度,又不喜欢一直用真机联调,后来发现Geny

2015-07-09 18:13:48 844

转载 Windows环境下Android Studio v1.0安装教程

Windows环境下Android Studio v1.0安装教程准备工具JDK安装包。要求:JDK 7以及以上版本。Android Studio安装文件。Windows:exe(包含SDK) (813 MB)exe(不包含SDK) (250 MB)zip (235 MB)Macdmg (234 MB)zip (233 MB)Linux:zip

2015-07-09 17:03:36 411

转载 Spring事务配置的五种方式

前段时间对Spring的事务配置做了比较深入的研究,在此之间对Spring的事务配置虽说也配置过,但是一直没有一个清楚的认识。通过这次的学习发觉Spring的事务配置只要把思路理清,还是比较好掌握的。    总结如下:    Spring配置文件中关于事务配置总是由三个组成部分,分别是DataSource、TransactionManager和代理机制这三部分,无论哪种配置方式,一

2015-07-08 16:48:34 406

转载 Spring框架包含的模块

Spring框架由七个定义明确的模块组成如果作为一个整体,这些模块为你提供了开发企业应用所需的一切。但你不必将应用完全基于Spring框架。你可以自由地挑选适合你的应用的模块而忽略其余的模块。就像你所看到的,所有的Spring模块都是在核心容器之上构建的。容器定义了Bean是如何创建、配置和管理的——更多的Spring细节。当你配置你的应用时,你会潜

2015-07-08 16:06:56 1391

转载 Spring框架中获得DataSource对象的方法

转载自http://www.oschina.net/code/snippet_117958_4699在Spring框架中有如下3种获得DataSource对象的方法: 1.从JNDI获得DataSource. 2.从第三方的连接池获得DataSource. 3.使用DriverManagerDataSource获得DataSource.1. [代码]JNDI方式    

2015-07-08 15:21:19 953

转载 spring Bean的生命周期

任何一个事物都有自己的生命周期,生命的开始、生命中、生命结束。大家最熟悉的应该是servlet 的生命周期吧。和 servlet 一样 spring bean 也有自己的生命周期。本文我就向大家讲述 spring bean 的生命周期,这个对理解 spring 框架有非常好的作用。大家应该知道spring 中有几种供 springbean 生存的容器: BeanFactory 、 Appl

2015-07-07 14:30:52 423

转载 Spring中 @Autowired标签与 @Resource标签 的区别

Spring不但支持自己定义的@Autowired注解,还支持由JSR-250规范定义的几个注解,如:@Resource、 @PostConstruct及@PreDestroy。1. @Autowired    @Autowired是Spring 提供的,需导入    Package:org.springframework.beans.factory.annotation.Autowi

2015-07-07 14:02:31 436

转载 java类的初始化顺序

对于静态变量、静态初始化块、变量、初始化块、构造器,它们的初始化顺序依次是(静态变量、静态初始化块)>(变量、初始化块)>构造器。我们也可以通过下面的测试代码来验证这一点:public class InitialOrderTest { // 静态变量 public static String staticField = "静态变量 1"; // 变量 public String

2015-07-04 14:53:07 431

转载 交互式设计

时间感知对交互设计的影响-界面设计-火龙果软件工程 http://www.uml.org.cn/jmshj/201507031.asp

2015-07-03 16:38:06 416

转载 WEB服务器与应用服务器的区别

一.简述WEB服务器与应用服务器的区别:1.WEB服务器:理解WEB服务器,首先你要理解什么是WEB?WEB你可以简单理解为你所看到的HTML页面就是WEB的数据元素,处理这些数据元素的应用软件就叫WEB服务器,如IIS、apache。 WEB服务器与客户端打交道,它要处理的主要信息有:session、request、response、HTML、JS、CS等。2.应用服

2015-07-01 16:00:38 461

空空如也

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

TA关注的人

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