2012年3月14日
#
摘要: 此法则适合所有语言,咱们以JavaScript和Java两个角度分析一下这个东东。 一、javascript 有这样的一个页面,js、css代码都写在html页面中。 例如:gnj.html v1版本Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-...
阅读全文
一、列与行的参数都由三个部分组成:对齐方式、固定尺寸、调整方式。
1.对齐方式:
1)列对齐有left, center, right, fill.默认fill
2)行对齐有:top, center, bottom, fill. 其中fill表示填充至整个区域。默认center。
2.固定尺寸:
pref表示preferred size,适当大小,即首选尺寸大小。
min表示minimum size,
dlu 表示dialog units,
px, pt, in, mm, cm)分别表示Pixel, Points, Inches, Millimeter, Centimeter。
3. 调整方式:
二、CellConstraints:
cc.xywh(3, 1, 3, 1):表示3列,1行,colspan=3,rowspan=1
三、FormLayout:
1.FormLayout layout = new FormLayout(
new ColumnSpec[]{
FormSpecs.DEFAULT_COLSPEC,
FormSpecs.GLUE_COLSPEC,
FormSpecs.DEFAULT_COLSPEC,
FormSpecs.GLUE_COLSPEC,
FormSpecs.DEFAULT_COLSPEC,
FormSpecs.GLUE_COLSPEC},
new RowSpec[]{
FormSpecs.DEFAULT_ROWSPEC,
FormSpecs.GLUE_ROWSPEC,
FormSpecs.DEFAULT_ROWSPEC,
FormSpecs.GLUE_ROWSPEC,
FormSpecs.DEFAULT_ROWSPEC,
FormSpecs.GLUE_ROWSPEC
}
);
2.
FormLayout layout = new FormLayout(
"right:pref, 6dlu, 50dlu, 4dlu, center:50dlu", // columns
"pref, 3dlu, pref, 3dlu, pref"); // rows
参考文章:
http://hi.baidu.com/lijunwyf/item/a18d95f719ff01da6225d26f
例子:
import java.util.*;
public class TestVector{
public static void main(String[] args){
Vector v = new Vector();
v.add(null);
v.add(new Integer(1));
v.add("123");
for(Enumeration e = v.elements();e.hasMoreElements();){
System.out.println(e.nextElement());
}
v.insertElementAt("insert",2);
v.setElementAt("insert",0);
for(Enumeration e = v.elements();e.hasMoreElements();){
System.out.println(e.nextElement());
}
}
}
结果:
null
1
123
insert
1
insert
123
结论:
vector中可以放入null;
vector可以放入不同类型的对象;
vector是同步的容量自增长的向量;
一、前提须知:
1.北京铁路局:
直属站15个:
北京站、
北京西站、
天津站、
天津西站、
丰台站、
丰台西站、
南仓站、
塘沽站、
唐山站、
石家庄站、
石家庄南站、邯郸站、
阳泉站、北京南站、天津西站。
2.郑州铁路局:
直属车站11个:
郑州站、郑州北站、郑州东站、洛阳站、
新乡站、开封站、商丘站、
月山站、长治北站、长治站。
二、
北京电话订票窍门:1、座机打!;2.用手机加区号打!北京铁路局管内,如唐山区号:打0315-95105105,手机打95105105的有效区号:河北省邯郸0310石家庄0311保定0312张家口0313承德0314唐山0315廊坊0316沧州0317衡水0318邢台0319秦皇岛0335山东德州0534山西阳泉0353天津022。订好之后可以在北京取票!!
ERROR - Exception executing batch:
org.hibernate.StaleStateException: Batch update returned unexpected row count fr
om update [0]; actual row count: 0; expected: 1
ERROR - Could not synchronize database state with session
org.hibernate.StaleStateException: Batch update returned unexpected row count fr
现象:
页面报500.
原因:
在request.getRequestDispatcher("/success.html").forward(request, response);
后面还有未执行的代码,但是已经提交了响应。
1.UML:unified modeling Language(统一建模语言)
2.草图与蓝图:
前者指:手工绘制的、规范度较低的UML模型;
后者指:case工具绘制的正式的、规范的UML模型;
3.不同可视性的符号:
“+”:public “#”:protected “-”:private “~”:package
4.UML主要包含三种图:静态图、动态图、物理图
5.关联关系:用来表示一个对象持有另外一个对象的引用,或是调用另外一个对象的方法
6.类图:
7.类图之间的关联:
—▷▷ —>持有
1.public class TestKnowleage5 {
public static void main(String[] args){
String strValue = "ABCDEFG";
strValue.substring(3);
System.out.println("result1"+strValue);
strValue.concat("123");
System.out.println("result2"+strValue);
String value = new String("ABCDEFG");
System.out.println(strValue==value);
}
}
运行结果:
result1ABCDEFG
result2ABCDEFG
false
2.public class Test{
public static void main(String[] args){
int x = 100;
int y = 200;
if(x == y)
System.out.println("not equal");
else
System.out.println("equal");
}
}
运行结果:
equal
3.public class TestKnowleage5 {
public static void main(String[] args){
try{
new TestKnowleage5().methodA(5);
}catch(IOException e){
System.out.println("caught IOException");
}catch(Exception e){
System.out.println("caught Exception");
}finally{
System.out.println("no Exception");
}
}
public void methodA(int i) throws IOException{
if(i%2 != 0){
throw new IOException("methodA IOException");
}
}
}
运行结果:
caught IOException
no Exception
4.public class TestKnowleage5 {
static boolean isTrue(){
System.out.println("isTrue");
return true;
}
static boolean isFalse(){
System.out.println("isFalse");
return false;
}
public static void main(String[] args){
if(isTrue() || isFalse()){
System.out.println("|| operate return true");
}
if(isFalse() & isTrue()){
System.out.println("& operate return true");
}
}
}
运行结果:
isTrue
|| operate return true
isFalse
isTrue
5.public class TestKnowleage5{
public static void main(String args[]){
MyThread t = new MyThread();
t.run();
t.start();
System.out.println("A");
}
}
class MyThread extends Thread{
public void run(){
try{
Thread.currentThread().sleep(3000);
}catch(InterruptedException e){
}
System.out.println("B");
}
}
运行结果:
BBA或
BAB
6.class A{
void fun1(){
System.out.println(fun2());
}
int fun2(){
return 123;
}
}
public class TestKnowleage5 extends A{
int fun2(){
return 456;
}
public static void main(String[] args){
A a;
TestKnowleage5 b = new TestKnowleage5();
b.fun1();
a = b;
a.fun1();
}
}
运行结果:
7.class A{
int val;
public int getVal() {
return val;
}
public void setVal(int val) {
this.val = val;
}
}
public class TestKnowleage5{
public static void main(String[] args){
A data = new A();
ArrayList list = new ArrayList();
for(int i=100;i<103;i++){
data.setVal(i);
list.add(data);
}
int j = 0;
while(j<list.size()){
A tmp = (A)list.get(j);
System.out.println("list("+j+")="+tmp.getVal());
j++;
}
}
}
运行结果:
list(0)=102
list(1)=102
list(2)=102
8.hibernate导入大量数据时,为了避免内存中产生大量对象,在编码时注意什么,如何去除?
9.视图与表的区别
10.触发器有哪几种类型
11.
事务操作有那几个步骤
12.写出对应正则表达式:
1)1-6位字母或数字;
[a-zA-Z0-9]{1,6}
2)手机号(只能是139或159开头,11位数字)
1[35][9][0-9]{8}
13.字符串反转:new StringBuilder(str).reverse().toString();
14.写程序:1+2²+3²+...+n²
int func(int n){
return n==1?1:func(n-1)+n*n
}
15.写一个延迟加载的单例模式:
public class SingleTon{
private static SingleTon instance = null;
private SingleTon(){}
public static SingleTon getInstance(){
if(instance == null){
synchronized(""){
if(instance == null){return new SingleTon();}
}
}
return instance;
}
}
16.
JSP的9种内置对象:request:
HttpServletRequest类的实例,客户端的请求信息被封装在request对象中response:
HttpServletResponse类的实例,response对象包含了响应客户请求的有关信息,但在JSP中很少直接用到它。out:
out对象是JspWriter类的实例,是向客户端输出内容常用的对象session:
session对象指的是客户端与服务器的一次会话,从客户端连到服务器的一个WebApplication开始,直到客户端与服务器断开连接为止。它是HttpSession类的实例page:
page对象就是指向当前JSP页面本身,有点象类中的this指针,它是java.lang.Object类的实例application:
ServletContext类的实例,application对象实现了用户间数据的共享,可存放全局变量。它开始于服务器的启动,直到服务器的关闭exception:
exception对象是一个例外对象,当一个页面在运行过程中发生了例外,就产生这个对象。如果一个JSP页面要应用此对象,就必须把isErrorPage设为true,否则无法编译。他实际上是java.lang.Throwable的对象pageContext:
pageContext对象提供了对JSP页面内所有的对象及名字空间的访问,也就是说他可以访问到本页所在的SESSION,也可以取本页面所在的application的某一属性值,他相当于页面中所有功能的集大成者,它的本类名也叫pageContextconfig:
config对象是在一个Servlet初始化时,JSP引擎向它传递信息用的,此信息包括Servlet初始化时所要用到的参数(通过属性名和属性值构成)以及服务器的有关信息(通过传递一个ServletContext对象)17.session和cookie的区别?
18.JDBC的操作步骤?
1.方法重载与多态,简述;
2.什么是设计模式?使用过哪些?
3.列出熟悉的java开源项目及简述;
4.一组radio,用alert弹出当前所选的是第几个radio?用原生javascript;
5.function showme(){
Book.prototype.abc = function(){
alert('456');
}
var abook = new Book(1,2);
Book.abc = function(){
alert('123');
}
abook.abc();
Book.abc();
abc();//此方法调用浏览器会报错,未定义
}
function Book(a,b){
this.a = a;
this.b = b;
Book.abc = function(){
alert('def');
}
this.abc = function(){
alert('xyz');
}
abc = function(){
alert('@@@@@@');
}
var abc = function(){
alert('$$$$$$');
}
}
点击按钮调用showme(),页面显示结果为:
第一个弹出框:xyz
第二个弹出框:123
6.线程的四种状态?
7.ext有哪些组件?ext如何与后台交互?
8.HashMap放入、查找、删除,将所有value放入一个数组,得到map中所有内容;List添加、查找、删除;
9.List<Student> student(name,age) 比较oldList<Student>和newList<student>,按名字比较,获得新增的、修改的、删除学生列表;
10.使用过哪些xml技术?怎么实现的?
11.java异常:throws、throw、try、catch、finally,举例,如何处理异常
12.字符串反转:
public class TestKnowleage5 {
public static void main(String[] args){
System.out.println(reverse("abc"));
System.out.println(reverse2("abc"));
System.out.println(reverse3("abc"));
}
public static String reverse(String str){
return new StringBuffer(str).reverse().toString();
}
public static String reverse2(String str){
char[] chs = str.toCharArray();
char[] re = new char[chs.length];
for(int i = 0 ; i<chs.length;i++){
re[i] = chs[chs.length - i - 1];
}
return new String(re);
}
public static String reverse3(String str){
char[] chs = str.toCharArray();
String re = "";
for(int i = 0;i<chs.length;i++){
re += chs[chs.length - 1 -i];
}
return re;
}
}
//此句,编译无法通过,Cannot make a static reference to the non-static field b
1.arrayList、linkedList、vector的区别
2.写几种J2EE规范并简要描述
3.什么是设计模式?用过哪些设计模式?
4.OO的四大特性是哪些?并简要描述
5.方法重载、多态概念及简要描述;
6.sql常用的优化方法有哪些?
7.sleep()与wait()的区别?
8.
public class TestException {
public static void main(String[] args) {
int i = 1;
switch(i){
case 0:
System.out.println(0);
break;
case 1:
System.out.println(1);
default:
System.out.println(4);
case 2:
System.out.println(2);
case 3:
System.out.println(3);
}
}
}
运行结果:
1
4
2
3
9.HashTable和HashMap的区别
10.怎样理解mvc模式?
11.抽象类、接口的区别?
12.智力题:
有1-7号,7块地,S、U、V、W、X 5个遗产继承者,
S若继承2号,不能继承3号;
3号和4号不能同时继承;
S若继承一块或多块地,则U不能继承
1块地不能被2人合分;
问:若S继承2号地,剩余3个人中,不能同时哪2块地?
A:1和6 B:1和7 c:3和7 d:1和5 e:1和3
13.
public class TestKnowleage5 {
static int a;
int b,c=0;
public static void main(String[] args){
a++;
b++;//此句,编译无法通过,Cannot make a static reference to the non-static field b
c++; //此句,编译无法通过,cannot make a static reference to the non-static field c
参考文章:
1,有三个jsp页面:a.jsp b.jsp c.jsp,流程是a.jsp--> b.jsp--> c.jsp,其中a.jsp提交的数据要在c.jsp中访问,用最简单的办法怎么做?不用session。
在b.jsp中放N个hidden隐藏域保存a.jsp中的数据,一起提交到c.jsp,在c.jsp中取出。2.sql server支持集群么?
支持,不过属于热备份类型,不能做负载均衡。不过符合你的条件
首先系统做集群,数据库文件放到磁盘阵列里,双机或多机共同访问磁盘阵列,就可以了,可以集群后做负载均衡;
3.HashTable与HashMap的区别:
1)HashMap非线程安全,HashTable线程安全;
2)HashMap可放一条key为空的记录,任意记录的value可为空,hashTable不可以;
3)hashMap去掉了contains方法,增加了containsKey和containsValue方法;
4.如何理解mvc模式:
mvc是sun提出的model2开发模式,将控制、视图、模型进行了分离;提高了可维护性、扩展性、可移植性、组件的可复用性;
5.SingleTon:
6.对象序列化的含义:
java序列化技术可以使你将一个对象的状态写入一个byte流里,并且可以从其它地方把该byte流里的数据读出来,重新构造一个相同的对象。
这种机制允许你将对象通过网络传播,并且随时可以把对象持久化到数据库、文件等系统里,java的序列化技术是RMI、EJB等技术的基础;
实现方法:implements Serializable标记为可序列化,然后用ObjectOutputStream和ObjectInputStream读写;
7.数据库中的锁包含哪些?
排它锁和共享锁
8.jsp和servlet的区别:
1)简单来说:jsp就是含有java代码的html,servlet就是含有html的java代码;
2)jsp最终被解释成servlet,编译再执行,jsp不过是servlet的另一种编写形式;
3)jsp擅长表示,servlet擅长数据处理,在mvc中jsp处于视图层,servlet处于控制层;
9.oracle在数据库中的交集怎么表示:
1)用intersect操作符 2)用in 语句
9.JNDI、JMS、JTA、RMI:
JNDI:java naming and directory interface java命名目录接口
JMS:java messing service java消息服务
JTA:java transaction api java事务api
RMI:
Remote Method Invocation 远程方法调用
10.事务:
1)ACID属性:
A:atomic 原子性
C:consistent 一致性
I:isolation 隔离性
D:duration 持久性
2)概念:事务就是一系列操作,它们完成一项任务。只要这些操作里有一项没成功,事务就操作失败,发生回滚事件。即撤销前面的操作,这样可以保证数据的一致性。而且可以把操作放在缓存里,等所有操作都成功就提交数据库,这样保证费时的操作都是有效操作。
3)隔离级别 4)传播行为
参考文档:
http://wenku.baidu.com/view/56a532eb856a561252d36f81.html
1.String b = new String("1"+"2"); -->4个
2.Customer(id,name,phone,country);每个客户均有地区(country)属性,每个地区可有1或多个客户,查询拥有超过10名客户的地区的列表;
3.public interface TreeNode{
String getName();
List getChildren();
}
写一个print()方法,打印各级节点名称.
4.String与StringBuffer的区别?
String
5.ajax名词解释,它的核心价值及原理;
6.事务的概念及名词解释;
7.数据库表之间有几种关系,并举例;
8.Filter的原理,常见用例;
9.视图与表的区别?触发器类型有哪些类型?
10.建表及各种约束;
11.hibernate导入大量数据时,为了避免内存中产生大量对象,在编码时注意什么,如何去除?
一、unix:
1.ps -ef|grep tomcat
2.mkdir dir
3.打tar包:tar -cvf XXX.tar XXX
4.解压tar包:tar -xvf XXX.tar
二、java
1.HashMap和HashTable的区别:HashMap不是线程安全的,HashTable是线程安全的
HashTable不允许null值(key和value都不可以),HashMap允许null值(key和value都可以)。
HashTable使用Enumeration,HashMap使用Iterator。
HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。
Hashtable是基于陈旧的Dictionary类,完成了Map接口;HashMap是Java 1.2引进的Map接口的一个实现(HashMap继承于AbstractMap,AbstractMap完成了Map接口)。
HashTable中hash数组默认大小是11,增加的方式是 old*2+1。HashMap中hash数组的默认大小是16,而且一定是2的指数。
哈希值的使用不同,HashTable直接使用对象的hashCode。
2.什么是java的序列化?如何实现java的序列化:
序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化。可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间。序列化是为了解决在对对象流进行读写操作时所引发的问题。
序列化的实现:将需要被序列化的类实现Serializable接口,然后使用一个输出流(如:FileOutputStream)来构造一个ObjectOutputStream(对象流)对象,接着,使用ObjectOutputStream对象的writeObject(Object obj)方法就可以将参数为obj的对象写出(即保存其状态),要恢复的话则用输入流。
3.什么是java的单例模式?写一个单例模式;
单例模式:确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类。
代码清单1:饿汉式单例类
public class EagerSingleton
{
private static final EagerSingleton m_instance = new EagerSingleton();
/**
* 私有的默认构造方法
*/
private EagerSingleton() { }
/**
* 静态方法获得单例
*/
public static EagerSingleton getInstance()
{
return m_instance;
}
}
代码清单2:懒汉式单例类
package com.javapatterns.singleton.demos;
public class LazySingleton
{
private static LazySingleton m_instance = null;
/**
* 私有的默认构造方法,保证外界无法直接实例化
*/
private LazySingleton() { }
/**
* 静态方法,返还此类的惟一实例
*/
public synchronized static LazySingleton getInstance()
{
if (m_instance == null)
{
m_instance = new LazySingleton();
}
return m_instance;
}
}
4.静态块与构造器在继承中的执行顺序:
public class TestExeuteOrder {
public static void main(String[] args) {
Parent p = new ChildTest();
p = new ChildTest();
}
}
class ChildTest extends Parent{
static{
System.out.println("in child static");
}
public ChildTest(){
System.out.println("in child construtor");
}
}
class Parent{
static{
System.out.println("in parent static");
}
public Parent(){
System.out.println("in parent construtor");
}
}运行结果:in parent static
in child static
in parent construtor
in child construtor
in parent construtor
in child construtor5.成员内部类:public class TestExeuteOrder{
class Inner{
void test(){
if(TestExeuteOrder.this.flag){
System.out.println("what a funny");
}
}
}
private boolean flag = true;
public TestExeuteOrder(){
new Inner().test();
}
public static void main(String[] args){
new TestExeuteOrder();
}
}运行结果:what a funny6.参数传递:public class TestExeuteOrder{
public static void main(String[] args){
String a = "ello";
TestExeuteOrder t = new TestExeuteOrder();
t.change(a);
System.out.println(a);
}
public void change(String str){
str += "H";
}
}结果:ello7.参数传递2:public class TestExeuteOrder{
public static void main(String[] args){
StringBuffer x = new StringBuffer("A");
StringBuffer y = new StringBuffer("B");
change(x,y);
System.out.println(x+" "+y);
}
public static void change(StringBuffer a,StringBuffer b){
a.append(b);
b = a;
}
}结果为:AB B8.public class TestExeuteOrder{
public static void main(String[] args){
String a = "good";
char[] b = new char[]{'a','b','c'};
method(a,b);
System.out.println("a="+a+"------>b="+new String(b));
}
public static void method(String a,char[] b){
a = "Test ok";
b[0] = 'g';
}
三、SQL:
1.存储过程与函数的区别:
1)前者,程序头部声明用的是procedure;后者,程序头部声明用的是function;
2)前者,不需要描述返回类型,后者需要;
3)前者可以作为一个独立的pl/sql语句来执行;后者不能独立运行,必须作为表达式的一部分条用;
4)sql语句中不可调用procedure,但可以调用function;
2.查询student表中name重复的记录:
select * from student where name in(select name from student group by sname having count(*) >1);3.table表中有两列A,B,如果A>B选择A,如果A<B,选择B:
select( case when s1.A>s1.B then s1.A when s1.A<s1.B then s1.B end) re from student s1;
一、利用框架:
1.jre下的rt.jar中sun.net.ftpClient
2.common net 中的ftp包
二、ftp协议认识:
参考规范:RFC 959
1.文件传输协议:file transfer protocol (ftp)
2.名词解释:
DTP:数据传输过程
EOR:记录尾
PI:协议解释器
NTV:网络虚拟终端
NVFS:网络虚拟文件系统
3.控制连接是建立在USER-PIT和SERVER-PI之间用于交换命令与应答的通信链路。
4.数据连接是传输数据的全双工连接。传输数据可以发生在服务器DTP和用户DTP之间也可以发生在两个服务器DTP之间。
5.数据连接只传输数据,控制连接传送命令和响应。
6.FTP使用Telnet协议进行控制连接
7.
参考文章:
http://blog.csdn.net/williamzhou/article/details/215293
摘要: 文章来源:http://www.iteye.com/topic/7339711.通过getSession()方法获得session进行操作 Java代码 public class Test extends HibernateDaoSupport{  ...
阅读全文
一、setter DI:
<bean>
<property name="">
<ref bean="bean的name或id"/>
</property>
<property name="">
<!--内部bean-->
<bean></bean>
</property>
<property name="">
<ref local="只能是同一文件的bean的id"/>
</property>
<!--idref元素用来引用其它bean的id,spring会验证id是否存在-->
<property name="">
<idref bean=""/>
</property>
<!--idref元素的local属性用来引用其它bean的id,spring会验证id是否存在,并且验证与引用的bean是否在同一文件-->
<property name="">
<idref local=""/>
</property>
<property name="">
<value></value>
</property>
<property name="" ref=""/>
<property name="" value=""/>
<property name="">
<null/>
</property>
<property name="">
<props>
<prop key=""></prop>
<prop key=""></prop>
</props>
</property>
<property name="">
<list>
<value></value>
<ref bean=""/>
</list>
</property>
<property name="">
<set>
<value></value>
<ref bean=""/>
</set>
</property>
<property name="">
<map>
<entry>
<key>
<value></value>
</key>
<value></value>
</entry>
<entry key="" value=""/><!--推荐-->
<entry key="">
<value>
</value>
</entry>
<entry key-ref="" value-ref=""/>
<entry>
<key>
<value></value>
</key>
<ref bean=""/>
</entry>
</map>
</property>
</bean>
二、contructor DI:
<bean>
<constructor-arg>
<ref bean=""/>
</constructor-arg>
<constructor-arg ref="bean的name或id"/>
<constructor-arg value=""/>
<constructor-arg type="" value=""/>
<constructor-arg index="" value=""/><!--首选-->
</bean>
1.spring2.5完全支持java1.6
2.完全支持Java EE 5
3.spring2.5提供了完整的annotation集合:@Autowired,以及对JSR-250注解@Resource,@PostConstruct,@PreDestroy
4.在classpath中自动搜索带有annotation的组件。
5.spring2.5加入了对bean(...)pointcut元素的支持,在spring定义的bean命名中对指定的命名进行匹配
6.在spring应用中使用AspectJ加载时织入context:load-time-weaver
7.增加,通过context:load-time-weaver和tx:annotation-driven mode="aspectj"联合使用的注解驱动的事务管理
8.对JPA,升级到支持Open JPA1.0
9.2.5显著的扩充了SimpleJdbcTemplate的功能,引入了SimpleJdbcCall和SimpleJdbcInsert操作对象
10,web层,增加了基于注解的Controller
11.spring2.5引入了基于annotation的MVC编程模型,使用@RequestMapping、@RequestParam、@ModelAttribute等等
12.增加对tiles2的支持
13.引入了sping TestContext Framework,它提供了注解驱动的单元和集成测试支持
1.
引入request scope、session scope和可自定义的scope(hooks)
2.引入了XML Schema的namespace,简化了配置,包括了对bean属性的各种简化,AOP配置的简化,事务配置的简化,JNDI配置的简化等方面
3.spring2.0集成了AspectJ切入点(pointcut)语言和@AspectJ切面(aspect)声明类型
4.支持@AspectJ注解定义切面
5.提供了JPA的抽象层
6.对于JMS,spring2.0提供异步接受消息
7.对于jdbc,增加了NamedParameterJdbcTemplate、SimpleJdbcTemplate
8.对java1.5的支持,结合AspectJ使用@Transactional、使用AspectJ来为domain object进行依赖注入、@AspectJ、@Required、SimpleJdbcTemplate
进入注册表:
HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe
新建DWORD值,然后重命名为:CodePage,修改其值为十进制的936
1, a & 0xff 可得到a对应而二进制的最后8位;
2,左移n位--》表示乘以2的N次方
3, 右移n位-->表示除以2的N次方
摘要: 文章来源:http://hi.baidu.com/liuzhe041/blog/item/e12251dcf2ffe053ccbf1ad2.htmlspring 和struts整合 有3种方式,推荐用第三种。下面一一介绍,不管使用哪种方式,都需要在web.xml 中配置 spring的 监听器Java代码 <context-param> &n...
阅读全文
文章来源:
http://hi.baidu.com/breezedancer/blog/item/7eebb499680d8f086e068cb9.html import javax.sound.sampled.*;
import java.io.*;
public class TestMusic{
private AudioFormat format;
private byte[] samples;
public static void main(String args[])throws Exception{
TestMusic sound =new TestMusic("1.wav");
InputStream stream =new ByteArrayInputStream(sound.getSamples());
// play the sound
sound.play(stream);
// exit
System.exit(0);
}
public TestMusic(String filename) {
try {
// open the audio input stream
AudioInputStream stream =AudioSystem.getAudioInputStream(new File(filename));
format = stream.getFormat();
// get the audio samples
samples = getSamples(stream);
}
catch (UnsupportedAudioFileException ex) {
ex.printStackTrace();
}
catch (IOException ex) {
ex.printStackTrace();
}
}
public byte[] getSamples() {
return samples;
}
private byte[] getSamples(AudioInputStream audioStream) {
// get the number of bytes to read
int length = (int)(audioStream.getFrameLength() * format.getFrameSize());
// read the entire stream
byte[] samples = new byte[length];
DataInputStream is = new DataInputStream(audioStream);
try {
is.readFully(samples);
}
catch (IOException ex) {
ex.printStackTrace();
}
// return the samples
return samples;
}
public void play(InputStream source) {
// use a short, 100ms (1/10th sec) buffer for real-time
// change to the sound stream
int bufferSize = format.getFrameSize() *
Math.round(format.getSampleRate() / 10);
byte[] buffer = new byte[bufferSize];
// create a line to play to
SourceDataLine line;
try {
DataLine.Info info =
new DataLine.Info(SourceDataLine.class, format);
line = (SourceDataLine)AudioSystem.getLine(info);
line.open(format, bufferSize);
}
catch (LineUnavailableException ex) {
ex.printStackTrace();
return;
}
// start the line
line.start();
// copy data to the line
try {
int numBytesRead = 0;
while (numBytesRead != -1) {
numBytesRead =
source.read(buffer, 0, buffer.length);
if (numBytesRead != -1) {
line.write(buffer, 0, numBytesRead);
}
}
}
catch (IOException ex) {
ex.printStackTrace();
}
// wait until all data is played, then close the line
line.drain();
line.close();
}
}