自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

三千弱水的专栏

技术,管理,一个程序员的点滴记录。

  • 博客(96)
  • 资源 (4)
  • 收藏
  • 关注

转载 Mybatis的<where><foreach><set>等标签详解

sql语句where条件中,需要一些安全判断,例如按性别检索,如果传入的参数是空的,此时查询出的结果很可能是空的,也许我们需要参数为空 时,是查出全部的信息。这是我们可以使用动态sql,增加一个判断,当参数不符合要求的时候,我们可以不去判断此查询条件。 下文均采用mysql语法和函数(例如字符串链接函数CONCAT3.1 if标签 一个很普通的查询:Xml代码     

2014-09-24 17:31:03 484

原创 PL/SQL记住登陆密码

PL/SQL Developer记住登陆密码    在使用PL/SQL Developer时,为了工作方便希望PL/SQL Developer记住登录Oracle的用户名和密码; 设置方法:PL/SQL Developer 7.1.2 ->tools->Preferences->Oracle->Logon History , “Store history”是默认勾选的,勾上“Sto

2014-09-24 16:43:25 1029

转载 Oracle将字符串(例:69.05%)转换为数字

最近用到了将Oracle数据库中某个字符类型的字段值转换为数字并保存至另一个新字段,Oracle自带有ToNumber函数,但需要说明的是这个函数只能转换字符串格式是正确数字的情况,也就是一旦字符串为空,或者有特殊字符,或者有空格等等,都会抛错,以下提供一种方式成功解决以上问题:TO_NUMBER(decode(decode(lower(nvl(replace(translate(strT

2014-09-24 16:42:10 7039

转载 Spring@Autowired注解与自动装配

1   配置文件的方法 我们编写spring 框架的代码时候。一直遵循是这样一个规则:所有在spring中注入的bean 都建议定义成私有的域变量。并且要配套写上 get 和 set方法。 Boss 拥有 Office 和 Car 类型的两个属性:       清单 3. Boss.java [java] vi

2014-09-24 10:53:20 555

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

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

2014-09-24 10:50:55 617

原创 java 二叉树概念

以根节点为顺序基础前序遍历:     1.访问根节点     2.前序遍历左子树     3.前序遍历右子树 中序遍历:     1.中序遍历左子树     2.访问根节点     3.中序遍历右子树 后序遍历:     1.后序遍历左子树     2.后序遍历右子树     3.访问根节点

2014-09-23 17:55:06 828

原创 代理模式

代理设计模式定义:为其他对象提供一种代理以控制对这个对象的访问。代理模式的结构如下图所示。动态代理使用java动态代理机制以巧妙的方式实现了代理模式的设计理念。代理模式示例代码public interface Subject { public void doSomething(); } public class R

2014-09-23 17:54:13 430

转载 Servlet 是否线程安全 看完便知

摘 要:介绍了Servlet多线程机制,通过一个实例并结合Java 的内存模型说明引起Servlet线程不安全的原因,给出了保证Servlet线程安全的三种解决方案,并说明三种方案在实际开发中的取舍。  关键字:Servlet 线程安全 同步 Java内存模型 实例变量  Servlet/JSP技术和ASP、PHP等相比,由于其多线程运行而具有很高的执行效率。由于Servl

2014-09-23 17:50:41 495

原创 MySQL基础----动态SQL语句

动态sql语句基本语法 1 :普通SQL语句可以用Exec执行 eg:   Select * from tableName          Exec('select * from tableName')          Exec sp_executesql N'select * from tableName'    -- 请注意字符串前一定要加N 2:字段名,表名,

2014-09-23 17:49:48 25178

原创 struts2如何跟spring整合的,原来是:struts2-spring-plugin.jar

在我们集成struts2+spring+hibernate,也就是所谓的S2SH,不可避免的要引入struts2-spring-plugin.jar插件。当引入这个插件后,原先所struts创建的action类,交给了spring创建。在struts2-spring-plugin.jar中有一个struts-plugin.xml,里面声明了action类由spring工厂创建。在struts2插件

2014-09-23 17:49:17 7307

转载 Java NIO原理和使用

Java NIO非堵塞应用通常适用用在I/O读写等方面,我们知道,系统运行的性能瓶颈通常在I/O读写,包括对端口和文件的操作上,过去,在打开一个I/O通道后,read()将一直等待在端口一边读取字节内容,如果没有内容进来,read()也是傻傻的等,这会影响我们程序继续做其他事情,那么改进做法就是开设线程,让线程去等待,但是这样做也是相当耗费资源的。Java NIO非堵塞技术实际是采取Rea

2014-09-23 17:48:19 555

原创 NIO简介

传统的解决方法通常在Java中处理阻塞I/O要用到线程(大量的线程)。一般是实现一个线程池用来处理请求,如图二图二线程使得服务器可以处理多个连接,但是它们也同样引发了许多问题。每个线程拥有自己的栈空间并且占用一些CPU时间,耗费很大,而且很多时间是浪费在阻塞的I/O操作上,没有有效的利用CPU。3.    nio 简介 nio 是 java New IO

2014-09-23 17:47:47 1144

原创 泛型方法和可变参数方法

1)泛型方法 他可以动态的设置返回的参数类型.方法名字要用 +空格+T 来修饰,参数中,必须带Class类型的参数.如果设置了Integer类型,则会返回Integer类型的值. public T getTemp(String temp, Class clazz) { T obj = null; obj = (T)getObject(); return obj; } 

2014-09-23 17:47:00 2261

原创 Hibernate get和load区别

get和load方式是根据id取得一个记录下边详细说一下get和load的不同,因为有些时候为了对比也会把find加进来。 1.从返回结果上对比:load方式检索不到的话会抛出org.hibernate.ObjectNotFoundException异常get方法检索不到的话会返回null 2.从检索执行机制上对比: get方法和find方法都是直接从数

2014-09-23 17:46:35 457

原创 hibernate缓存:一级缓存和二级缓存

1.什么是缓存? 缓存是介于物理数据源与应用程序之间,是对数据库中的数据复制一份临时放在内存中的容器,其作用是为了减少应用程序对物理数据源访问的次数,从而提高了应用程序的运行性能。Hibernate在进行读取数据的时候,根据缓存机制在相应的缓存中查询,如果在缓存中找到了需要的数据(我们把这称做“缓存命 中"),则就直接把命中的数据作为结果加以利用,避免了大量发送SQL语句到数据库查询的性能损耗。

2014-09-23 17:46:05 2259

原创 hibernate save,update,saveorupdate方法有什么区别

save()方法很显然是执行保存操作的,如果是对一个新的刚new出来的对象进行保存,自然要使用这个方法了,数据库中没有这个对象。update()如果是对一个已经存在的托管对象进行更新那么肯定是要使用update()方法了,数据中有这个对象。saveOrUpdate()这个方法是更新或者插入,有主键就执行更新,如果没有主键就执行插入。

2014-09-23 17:45:25 880

转载 hibernate简介(Session,几种状态,方法······等)概括全面,经典

2.Hibernate跟jdbc的关系        Hibernate封装JDBC,持久化内存中的对象,同步到数据库 .           1.关于封装,我得强调两点:(1).把尽可能多的东西藏起来.对外提供简捷的接口.(2)把所有的属性藏起来      当然我们,我们如果能够做到单一原则就更好了        2.关于持久化的概

2014-09-23 17:44:58 673

原创 在JAVA中,如何跳出当前的多重嵌套循环?

在Java中,要想跳出多重循环,可以在外面的循环语句前定义一个标号,然后在里层循环体的代码中使用带有标号的break 语句,即可跳出外层循环。例如,ok:for(int i=0;i{for(int j=0;j{System.out.println(“i=” + i + “,j=” + j);if(j == 5) break ok;}

2014-09-23 17:44:26 557

原创 final修饰符

使用final关键字修饰一个变量时,是指引用变量不能变,引用变量所指向的对象中的内容还是可以改变的。例如,对于如下语句: final StringBuffer a=new StringBuffer("immutable");执行如下语句将报告编译期错误:a=new StringBuffer("");但是,执行如下语句则可以通过编译:a.append(" broken

2014-09-23 17:43:56 432

原创 String 和StringBuffer的区别,性能吧

AVA平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个String类提供了数值不可改变的字符串。而这个StringBuffer类提供的字符串进行修改。当你知道字符数据要改变的时候你就可以使用StringBuffer。典型地,你可以使用StringBuffers来动态构造字符数据。另外,String实现了equals方法,new St

2014-09-23 17:42:10 610

原创 hashcode

hashcode方法一般用户不会去调用,比如在hashmap中,由于key是不可以重复的,他在判断key是不是重复的时候就判断了hashcode这个方法,而且也用到了equals方法。这里不可以重复是说equals和hashcode只要有一个不等就可以了!所以简单来讲,hashcode相当于是一个对象的编码,就好像文件中的md5,他和equals不同就在于他返回的是int型的,比较起来不直观。

2014-09-23 17:41:38 474

原创 forward() 与redirect()的区别

a) forward 请求转发只能将请求转发给同一个WEB应用中的组件,而sendRedirect还可以重定向到同一个站点的其他应用程序的资源。甚至是使用绝对URL重定向到其他站点的资源b) 调用forward 方法浏览器保持初始的URL地址,而sendRedirect方法重定向访问结束时,浏览器的地址则会由初始地址转变为目标URLc) forward方法的调用者及被调用者之间共享

2014-09-23 17:39:53 546

原创 Java内存泄露的一个小例子

Java内存泄露    一般来说内存泄漏有两种情况。一种情况如在C/C++语言中的,在堆中的分配的内存,在没有将其释放掉的时候,就将所有能访问这块内存的方式都删掉(如指针重新赋值);另一种情况则是在内存对象明明已经不需要的时候,还仍然保留着这块内存和它的访问方式(引用)。第一种情况,在Java中已经由于垃圾回收机制的引入,得到了很好的解决。所以,Java中的内存泄漏,主要指的是第二

2014-09-23 17:39:00 5618

原创 JAVA 实现Runnable接口

/*     需求: 实现一个售票程序         创建线程的第二种方式:实现Runnable接口     步骤:     1,定义类实现Runnable接口     2,覆盖Runnable接口中的run方法          将线程要运行的代码存放在该run方法中     3,通过Thread 类建立线程对象     4,将Runnable接口的

2014-09-23 17:38:36 11442

原创 Spring AOP 的简单例子

Spring AOP 实现了AOP联盟(Alliance)的制定的接口规范,它基于java的代理机制实现。AOP作为Spring的核心技术之一. 更多关于Spring AOP介绍 可参考:http://oss.org.cn/ossdocs/framework/spring/zh-cn/aop.html  下面给出一个例子来简单介绍Spring AOP具体实现过程    现假设用户通过l

2014-09-23 17:37:42 545

原创 Spring事务管理(较全)

Spring提供了一流的事务管理。在Spring中可以支持声明式事务和编程式事务。     本章主要目标如下:     1,Spring事务     2,事务属性     3,事务管理器     4,声明式事务             1.1Spring的事务     事务管理在应用程序中起着至关重要的作用:它是一系列任务的组成工作单元,在这个工作单元中,所有的任务

2014-09-23 17:36:33 621

转载 MQ消息中间件

消息队列技术是分布式应用间交换信息的一种技术。消息队列可驻留在内存或磁盘上,队列存储消息直到它们被应用程序读走。通过消息队列,应用程序可独立地执行--它们不需要知道彼此的位置、或在继续执行前不需要等待接收程序接收此消息。消息中间件概述消息队列技术是分布式应用间交换信息的一种技术。消息队列可驻留在内存或磁盘上,队列存储消息直到它们被应用程序读走。通过消息队列,应用程序可独立地执行--它们不需

2014-09-23 17:35:27 2262

转载 学习:java设计模式—工厂模式

一、工厂模式主要是为创建对象提供过渡接口,以便将创建对象的具体过程屏蔽隔离起来,达到提高灵活性的目的。 工厂模式在《Java与模式》中分为三类:1)简单工厂模式(Simple Factory):不利于产生系列产品;2)工厂方法模式(Factory Method):又称为多形性工厂;3)抽象工厂模式(Abstract Factory):又称为工具箱,产生产品族,但

2014-09-23 17:34:43 378

原创 Java防止SQL注入

Java防止SQL注入SQL 注入简介:        SQL注入是最常见的攻击方式之一,它不是利用操作系统或其它系统的漏洞来实现攻击的,而是程序员因为没有做好判断,被不法用户钻了SQL的空子,下面我们先来看下什么是SQL注入:        比如在一个登陆界面,要求用户输入用户名和密码:        用户名:     ' or 1=1

2014-09-23 17:32:56 4093

原创 PreparedStatement和Statement的用法区别

Preparedstatement的预编译结果会被缓存,下次执行相同的sql语句是,数据库端不会再进行编译了。而直接用数据库的缓冲区,提高数据访问率。1、 PreparedStatement接口继承Statement, PreparedStatement 实例包含已编译的 SQL 语句,所以其执行速度要快于 Statement 对象。2、作为 Statement 的子类,Pre

2014-09-23 17:31:52 409

原创 NOSQL-Memcached

memcached是高性能的分布式内存缓存服务器。一般的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度、提高可扩展性。memcached作为高速运行的分布式缓存服务器,具有以下的特点。· 协议简单· 基于libevent的事件处理· 内置内存存储方式· memcached不互相通信的分布式通信分布式

2014-09-23 17:30:44 638

原创 NOSQL-Mongodb

MongoDB使用了BSON这种结构来存储数据和网络数据交换。把这种格式转化成一文档这个概念(Document),因为BSON是schema-free的,所以在MongoDB中所对应的文档也有这个特征,这里的一个Document也可以理解成关系数据库中的一条记录(Record),只是这里的Document的变化更丰富一些,如Document可以嵌套。

2014-09-23 17:28:27 530

原创 Serializable的本质

java.io.Serializable的本质就是将内存的对象,以文本的形式保存到磁盘上,使用的时候再读出来,以减少应用程序的压力.有点类似与虚拟内存.在openJPA里,entity的时候,一般需要使用.     序列化的时候有以下几点需要注意. 1)先序列化,先读取(FIFO); 2)反序列化的时候,返回的都是Object,要自动转换类型; 3)用关键字transient标记的

2014-09-23 17:24:36 1472

原创 接口与抽象类的区别(待更新....)

根据本人的工作经验来讲,最重要的区别有3点: 1)概念的不同 接口更倾向与设计的使用;抽象类则倾向于实现 2)最明显的区别 抽象类可以提供部分方法的具体实现;接口只能声明方法,不能实现 3)最重要的区别 接口可以多继承(实现);抽象类只能单继承(实现) 接口概念 一个没有声明任何方法的接口叫做标识接口.

2014-09-23 17:22:53 418

转载 Iterator循环的用法

一般遍历list的时候,我们习惯下面的写法,但这种写法有缺陷,不能及时释放iterator的内存(?).Java代码  Iterator iterator = list.iterator();  while (iterator.hasNext()) {      String str = iterator.next();      System.out.printl

2014-09-23 17:21:57 3810

原创 tomcat6.0下解决struts2.2中文乱码

本人的环境为 Eclipse3.6_javaee(helios) jdk6.0.21 网上有好多关于乱码的说明,其实从根本上解决这个问题,就是页面编码和容器编码的相关配置. 1)配置JSP头文件编码(总共3处) pageEncoding="UTF-8"%>     2)tomcat的编码,在节点加上下面属性 URIEncoding="UTF-

2014-09-23 17:21:51 606

原创 简单工厂模式

一 介绍     工厂模式有3种,1:简单工厂模式;2:工厂方法模式;3:抽象工厂模式     简单工厂(Simple Factory)模式,又叫做静态工厂方法(Static Factory Method)模式,简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例.     工厂模式里,一般分3个部分: 1)制造器(具体工厂):FruitGardener 2)抽象产品:Fr

2014-09-23 17:20:55 434

原创 Oracle --- 事务隔离级别(简介概述)

事务隔离程度越高,并发性越差、性能越低;事务隔离程度越低,并发性越强、性能越高。read uncommited:读未提交,允许脏读read commited:读提交,允许不可重复读,幻读repeatable read:可重复读,一个事务读取的数据不允许被其他事务读取。允许幻读(新增数据)serializable:序列化,最高隔离级别。系统中所有的事务都是一个接一个执行的。因此也就不

2014-09-23 17:19:29 745 2

转载 JDBC对事务的支持

JDBC对事务的支持     并不是所有的数据库都支持事务,即使支持事务的数据库也并非支持所有的事务隔离级别,你可以通过Connection# getMetaData()方法获取DatabaseMetaData对象,并通过该对象的supportsTransactions()、supportsTransactionIsolationLevel(int level)方法查看底层数据库的事务支持

2014-09-23 17:16:57 663

转载 理解ThreadLocal

ThreadLocal是什么  早在JDK 1.2的版本中就提供java.lang.ThreadLocal,ThreadLocal为解决多线程程序的并发问题提供了一种新的思路。使用这个工具类可以很简洁地编写出优美的多线程程序。  当使用ThreadLocal维护变量时,ThreadLocal为每个使用该变量的线程提供独立的变量副本,所以每一个线程都可以独立地改变自己的副本,而不会影

2014-09-23 17:16:13 424

arm课后习题答案

第一章 思考与练习 1、举出3个书本中未提到的嵌入式系统的例子。 答:红绿灯控制,数字空调,机顶盒 2、什么叫嵌入式系统 嵌入式系统:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系 统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。 3、什么叫嵌入式处理器?嵌入式处理器分为哪几类? 嵌入式处理器是为完成特殊的应用而设计的特殊目的的处理器。 嵌入式微处理器(Embedded Microprocessor Unit, EMPU) 嵌入式微控制器(Microcontroller Unit, MCU) 嵌入式DSP 处理器(Embedded Digital Signal Processor, EDSP) 嵌入式片上系统(System On Chip)

2011-12-13

dsp 课件 汇编语言程序开发工具

汇编指令的介绍及使用,汇编语言程序开发工具

2011-11-30

空空如也

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

TA关注的人

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