- 浏览: 66701 次
- 性别:
- 来自: 成都
-
最新评论
-
cherishlive:
学习了,多谢。
Oracle递归查询 start with..
文章列表
本文通过分析 Java 动态代理的机制和特点,解读动态代理类的源代码,并且模拟推演了动态代理类的可能实现,向读者阐述了一个完整的 Java 动态代理运作过程,希望能帮助读者加深对 Java 动态代理的理解和应用。
本文的标签: 1, aop, dynamic, java, proxy, 动态代理, 动态代理机制分析及扩展, 动态代理机制分析及扩展,第, 部分
标记本文!
引言
Java 动态代理机制的出现,使得 Java 开发人员不用手工编写代理类,只要简单地指定一组接口及委托类对象,便能动态地获得代理类。代理类会负责将所有的方法调用分派到委托对象上反射执行,在分派执行的过程中,开发人员 ...
synchronized(class)很特别,它会让另一个线程在任何需要获取class做为monitor的地方等待.class与this做为不同的监视器可以同时使用,不存在一个线程获取了class,另一个线程就不能获取该class的一切实例.
根据下面的代码自行修改,分别验证下面的几种情况:
synchronized(class)synchronized(this)->线程各自获取monitor,不会有等待.synchronized(this)synchronized(this)->如果不同线程监视同一个实例对象,就会等待,如果不同的实例,不会等待.synchronized(class ...
在创建一个bean定义(通常为XML配置文件)时,你可以简单的将其理解为:用以创建由该bean定义所决定的实际对象实例的一张“处方(recipe)”或者模板。就如class一样,根据一张“处方”你可以创建多个对象实例。
你不仅可以 ...
基本的使用方法是:(1)
<bean id="propertyConfigurerForAnalysis" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location">
<value>classpath:/spring/include/dbQuery.properties</value>
< ...
原来 jsp页面是这样
var grpname = "超级用户";
var url = "/xx.action?grpname="+grpname;
传到action去是这样处理
String grpname = getRequest().getParameter("grpname"); grpname = new String(grpname.getBytes("iso-8859-1"),"utf-8");
tomcat下完全可以,不过在webl ...
ALTER SESSION SET NLS_SORT=''; 排序影响整个会话
Oracle9i之前,中文是按照二进制编码进行排序的。 在oracle9i中新增了按照拼音、部首、笔画排序功能。设置NLS_SORT值 SCHINESE_RADICAL_M 按照部首(第一顺序)、笔划(第二顺序)排序 SCHINESE_STROKE_M 按照笔划(第一顺序)、部首(第二顺序)排序 SCHINESE_PINYIN_M 按照拼音排序
oracle9i中新增了按照拼音、部首、笔画排序功能拼音 SE ...
Spring框架的核心就是控制反转(Inversion of Control)和依赖注入(Dependency Injection),通过这两方面来实现松耦合。
使用IoC,对象是被动的接受依赖类,而不是自己主动的去找。容器在实例化的时候主动将它的依赖类注入给它。可以这样理解:控制反转将类的主动权转移到接口上,依赖注入通过xml配置文件在类实例化时将其依赖类注入。通过下面的实例来逐步的理解:
首先假设有一个需求,类Business需要调用类Dependency的方法f(),按照日常的做法,得到下面的代码://**类Dependency**public class Dependency {pu ...
synchronized原语和ReentrantLock在一般情况下没有什么区别,但是在非常复杂的同步应用中,请考虑使用ReentrantLock,特别是遇到下面2种需求的时候。 1.某个线程在等待一个锁的控制权的这段时间需要中断 2.需要分开处理一些wait-notify,ReentrantLock里面的Condition应用,能够控制notify哪个线程 3.具有公平锁功能,每个到来的线程都将排队等候 下面细细道来…… 先说第一种情况,ReentrantLock的lock机制有2种,忽略中断锁和响应中断锁,这给我们带来了很大的灵活性。比如:如果A、B2个线程去竞争锁,A线程得到了锁,B线程等 ...
在java项目的实际开发和应用中,常常需要用到将对象转为String这一基本功能。本文将对常用的转换方法进行一个总结。常用的方法有Object.toString(),(String)要转换的对象,String.valueOf(Object)等。下面对这些方法一一进行分析。 方法1:采用 Object.toString()方法 请看下面的例子: Object object = getObject(); System.out.println(object.toString()); 注1 在这种使用方法中,因为java.lang.Object类里已有public方法.toString(), ...
Java中堆与栈的区别
- 博客分类:
- Java中堆与栈的区别
1. 栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。 2. 栈的优势是,存取速度比堆要快,仅次于直接位于CPU中的寄存器。但缺点是,存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。另外,栈数据可以共享,详见第3点。堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,Java的垃圾收集器会自动收走这些不再使用的数据。但缺点是,由于要在运行时动态分配内存,存取速度较慢。 3. Java中的数据类型有两种。 一种是基本类型(primitive types), 共有8种,即int, shor ...
大概如下:
查询出部门的最低工资的userid 号
表结构:
D号 工资 部门
userid salary dept
1 2000 1
2 1000 1
3 500 2
4 1000 2
有一个高人给出了一种答案:
SELECT MIN (salary) OVER (PARTITION BY dept ) salary, dept
FROM ss
运行后得到:
1000 1
1000 1
500 ...
select 2*3 from dual;
--求年薪
select ename,sal, sal*12 from emp;
--别名
select ename,sal, sal*12 as "年薪" from emp;
select ename,sal, sal*12 "年薪" from emp;
--员工一年总收入
select * from emp;
select ename,sal, sal*12+comm as "年总收入" from emp;
--注意:含有任何null值的数学表达 ...
1.指定了自己的javaEncoding
<servlet>
<servlet-name>jsp</servlet-name>
<servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
<init-param>
<param-name>fork</param-name>
<param-value>false</ ...
一直以来都是用javax.mail来写email发送,看了spring的javamail之后才知道javax.mail臃肿繁杂。下面总结一下spring javamail的应用:首先导入使用jar包:activation.jar,commons-logging-1.0.4.jar,mail.jar,spring.jar
1、使用xml配置javamail:在classpath ...
什么是backbone
backbone不是脊椎骨,而是帮助开发重量级的javascript应用的框架。
主要提供了3个东西:1、models(模型) 2、collections(集合) 3、views(视图)
backbone.js文件本身很小,压缩后只有5.3KB,作为一个框架级别的核心JS文件,这个数字很可怕。
除此之外,这个JS还必须依赖于另一个JS文件:underscore.js(包含许多工具方法,集合操作,js模板等等)。
简介
用Backbone.Model表示应用中所有数据,models中的数据可以创建、校验、销毁和保存到服务端。
当models中值被改变时自 ...