昨天睡得太晚,严重影响了今天的学习,实在是得不偿失!
关于java的基础知识还有二十天就要结束了,现在我们已经开始做一些小的练习,发现自己的思路有时候跟不上,
真上火!
学而实习之,不能丢了西瓜捡芝麻,上课要紧跟老师节奏,不能自己做自己的,老师讲老师的!
调整心态,用好的学习方法方能事半功倍;
JDBC(Java Database Connnectivity)
JDBC本身是java连接数据库的一个标准,是进行数据库连接的抽象层,由java编写的一组类或接口,
java的实现由各大数据库厂商来完成。
本地协议的纯 Java 驱动程序:
1多数数据库厂商已经支持允许客户程序通过网络直接与数据库通信的网络协议。
2这种类型的驱动程序完全使用 Java 编写,通过与数据库建立的 Socket 连接,
采用具体与厂商的网络协议把 JDBC 调用转换为直接连接的网络调用
jbdc驱动,实现jdbc规范的类的集合,也就是各大数据库厂商用来实现接口后的类的封装包,即jar包。
比如mysql驱动,oralce驱动。
ODBC
JDBC-ODBC桥是由sun公司开发,API最新,性能不高,层次太多了!
我们使用的是 ......
运用加密技术保护Java源代码
java
程序的源代码很容易被别人偷看。只要有一个反编译器,任何人都可以分析别人的代码。本文讨论如何在不修改原有程序的情
况下,通过
加密
技术保护源代
码。
一、为什么要
加密
?
对于传统的C或C++之类的语言来说,要在Web上保护源代码是很容易的,只要不发布它就可以。遗憾的是,Java程序的源代码很容易被别
人偷看。只要有一个反编译器,任何人都可以分析别人的代码。Java的灵活性使得源代码很容易被窃取,但与此同时,它也使通过加密保护代码变得相对容易,
我们唯一需要了解的就是Java的ClassLoader对象。当然,在
加密
过程中,有关
java
Cryptography Extension(JCE)的知识也是必不可少的。
有几种技
术可以“模糊”
java
类文
件,使得反编译器处理类文件的效果大打折扣。然而,修改反编译器使之能够处理这些经过模糊处理的类文件并不是什么难事,所以不能简单地依赖模糊技术来保证
源代码的
安全
。
我们可以用流行的加密工具
加密
应
用,比如PGP(Pretty G
OO
......
package、import
的相关问题是java中的一个不大不小的问题,但classpath问题却是java的一个著名的难题。今晚得闲研究了一下,在这里将我的研究成果跟各位
朋友分享一下。由于同包的情况很简单,所以这里就不讨论同包情况,只讨论不同包和不同路径的情况。为了能让读者更容易理解,我这里以举例的方式来说明问
题。
假设在路径E:\share下写了两个类,它们分别是Book.java和Paper.java,代码如下:
Book.java
:
package p1;
public class Book {
public static void main(String[] args) {
p2.Paper p = new
p2.Paper(); //line 5
p.helloworld();
}
}
Paper.java
:
package p2;
public class Paper {
public
void helloworld(){
System.out.println("HelloWorld");
}
}
Book类和Paper是
位于同一路径(E:\share)下的,但他们不同包
。那
么,我们应该如果运行Book呢?正确的流程如下:
1 ......
<!--
@page { margin: 0.79in }
P { margin-bottom: 0.08in }
-->
Java中的
io
我对流的理解是:源到目的地的轨迹,所以流的一端是数据源(输入流)或者接收器(输出流),另一端是
io中的某个类;这里说明下,
Scanner
不是
io类,这个从它的导入包就可以看出(
java.util.Scanner)
,我的理解
Scanner是个方便输入操作的工具类;
我把流分为
4类,字节级,字符级,对象级,其他;
一,字节级
1.文件输入
/输出流(
FileInputStream/FileOutputStream)
2字节数组输入
/输出流(
ByteArrayInputStream/ByteArrayOutputStream)
3.数据输入
/输出流(
DataInputStream
/DataOutputStream)
4缓存输入输出流(
BufferedInputStream/BufferedOutputStream)
5回退输入字节流(
PushbackInputStream)
6格式化输出流(
PrintStream)
二,字符级
1.FileReader/FileWriter
2.BufferedReader/BufferedWriter
3CharArrayReader/CharArrayWriter
4PushbackReader
5PrintWriter
三,对象级
ObjectInputStream/O ......
相信大家已经对Eclipse的使用有一定的经验,在编写java源代码是件听自豪的事,大要编译一大批java源代码却实践比较苦恼的事情,如果一个一个点"run"去编译实在太浪费时间了.想脱离"苦海",现在就跟着偶们一齐走吧,步入Ant的使用历程.
1.安装Ant
a.使用Eclipse.3.2版本自带的Ant可以省去安装的麻烦,默认版本时Ant-1.6.5,现在最新的Ant是1.7.0
b.手工安装Ant,在http://ant.apache.org上下载最新的ant-1.7.0
解压到任意目录下,设置path与classpath以及ANT_HOME,之后就可以在命令行模式下运行ant了.
(个人建议还是去官网下载一个最新版的Ant,以为eclipse中以插件形式默认安装的ant通常没有doc,下个ant-1.7.0,看看里面的doc对详细的学习ant是很有用的)
2.simple开发实例
a.在eclipse新建一个project名为HelloWorld,在src目录下新建一个名为helloworld的package.
b.在helloworld包中,新建一个类,名为HelloWorld
源码如下:
package helloworld;
public ......
常用的:
导出
mysqldump -hyour_host -uyour_username -pyour_password database_name > file.sql
导入
mysql -hyour_host -uyour_username -pyour_password database_name < file.sql
或者先用mysql客户端登陆后,
>\. file.sql
也可以完成导入功能
上面的两个命令结合起来用,可以完成将一个数据库的数据导入到另外一个数据库中
这样也可以实现上面的功能
mysqldump -hyour_host -uyour_username -pyour_password –opt database_name | mysql -hyour_host -uyour_username -pyour_password -C database_name
附上从网上找到的mysqldump主要参数的解释
–add-locks :在每个表导出之前增加LOCK TABLES并且之后UNLOCK TABLE。
–add-drop-table :在每个create语句之前增加一个drop table。
–allow-keywords :允许创建是关键词的列名字。这由表名前缀于每个列名做到。
-c, –complete-insert :使用完整的insert语句(用列名字)。
-C, –compress :如果客户和服务器均支持压缩,压缩两者间所有的信息。
–delayed :用INSERT DELAYED命令插入行。
- ......