2009-12-20 22:15:02
今天花了一天时间把传智播客的JAVA SE高级视频1 API看完了,还看了一部分高级食品2 IO的视频,以下是API的笔记。
API: Application Programming Interface 应用程序编程接口
windows API:windows系统提供的
JAVA API:JDK中提供的各种java类(掌握常用的API就可以了,API可现学现用,现用现学)。
怎么算学会一门编程语言:以够用为原则,适可而止。
JAVA IDE:JBuilder、Eclipse、NetBeans、Jcreator等。
String、StringBuffer、StringBuilder类
String类对象中的内容一旦被初始化就不能再改变。(String常量池)
StringBuffer:可改变的字符串,toString(),线程安全的。
StringBuilder:可改变的字符串,线程不安全,更快。(常用)
StringBuffer、StringBuilder都继承自AbstractStringBuilder。
集合类:
Collection、Set、List区别:
Collection:各元素之间没有指定顺序,允许重复,允许多个null元素。
Set:各元素之间没有指定顺序,不允许重复元素,最 ......
我写了一个程序用来接收客户端发过来的数据,但是如果多个客户端一起像这里发送数据时,报StandardWrapperValve[xmlreceiver]: Servlet.service() for servlet xmlreceiver threw exception java.lang.OutOfMemoryError,这时需要扩大tomcat的java虚拟机内存,如何更改呢?
在 Windows菜单中找到Tomcat安装菜单中的Monitor Tomcat打开,在java选项卡中可以设置jvm的内存:
......
栈与堆都是Java用来在RAM中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。
Java的堆是一个运行时数据区,类的对象从中分配空间。这些对象通过new、newarray、anewarray和multianewarray等指令建立,它们不需要程序代码来显式的释放。堆是由垃圾回收来负责的,堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,因为它是在运行时动态分配内存的,Java的垃圾收集器会自动收走这些不再使用的数据。但缺点是,由于要在运行时动态分配内存,存取速度较慢。
栈的优势是,存取速度比堆要快,仅次于寄存器,栈数据可以共享。但缺点是,存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。栈中主要存放一些基本类型的变量(,int, short, long, byte, float, double, boolean, char)和对象句柄。
栈有一个很重要的特殊性,就是存在栈中的数据可以共享。假设我们同时定义:
int a = 3;
int b = 3;
编译器先处理int a = 3;首先它会在栈中创建一个变量为a的引用,然后查找栈中是否有3这个值,如果没找到,就将3存放进来,然后将a指向3。接着处理int b = 3;在创建完b的引用变量后,因为在栈中已经有3这个值,便将b直接指向3。这样 ......
浮点数不能进行精确运算,这个问题想必大家都知道,我今天也不是讲这个问题,而是讲一个怪问题。
首先,请大家先看下以下几条语句的输出:
Double d1 = 0.005;
Double d2 = Double.parseDouble("0.005");
System.out.println(d1);
System.out.println(d1.toString());
System.out.println(d2);
输出会是什么呢?不就是0.005吗?
如果没遇到过,那大家是肯定想不到的了。输出是:
0.0050
0.0050
0.0050
为什么后面多了个0呢?我是无从知道原因了,经过多次测试,发现只有0.001,0.002直到0.009这 9 个数如果直接输出,是一定会多个0的,其他的浮点数未发现有这样的问题(若小数位太多,会以科学计数法方式显示,但不会后面多个0)。
最近做的一个项目就遇到了上述问题,虽然每次都得到了满足小数有效位数的要求,但就因为上述怪问题,害得我把每个结果都要用DecimalFomat进行格式化,由于数据多,而每个数据又由于所属对象的等级不同而有不同的有效位数要求,因此这样一来工作量一下子多了不少! ......
名词解释:
补码:1 在计算机系统中,数值一律有补码来表示(存储). 使用补码,可以将符号位和其他位统一处理;同时,减法也可按加法来处理.另外,两个用补码表示的数据相加时候,如果最高位(符号位)有进位,则进违被舍弃.
2 补码与原码的转换过程几乎是相同的
数值的补码表示也分两种情况:
(1)正数的补码:与原码相同. 例如,+9的补码是00001001
(2)负数的补码:符号位为1,其余位为该数绝对值的原码按位取反;然后整个数加1
&n ......
String uid=jTextField.getText();
String upass=jTextField.getText();
try {
Class.forName("oracle.jdbc.driver.OracleDriver");//要导入外部包
Connection conn=DriverManager.getConnection("jdbc:oracle:thin:scott/tiger@localhost:1522:stuf1dbsid");//最后一个是oracle的sid号
stuf1dbsid sid号 scott/tiger登陆 sql为sql命令串 logondb为表 表有userid upass
// sql句子 为 select * from logindb where userid='uid' and upass='upass' ""不显示 ''才显示 ''是sql语句中框变量的
String sql="select * from logindb where userid='" + uid + "'and upass='" + upass+ "'";
// 定义result
PreparedStatement psmt= conn.prepareStatement(sql);
ResultSe ......