跟着老师学java这么久了,对这种这个语言小虾是这样理解的,它是个种上乘的武功秘籍 (当然包括其他语言),学习时很容易走火入魔!有很多java的高手,很厉害!何以见得,你要什么什么都能给你写出来而且用时非常的少,小虾不才,一直以来信奉这样才叫程序员!其实小虾理解错咯,错在败了!玩技术,只要考一考便知道你的水平有多高。便知道你的功力有多深!而10年3月3日的一次考试才使的小虾恍然大悟。一直以来小虾勤奋的敲代码,勤奋的练习,勤奋的研究各种老师没有讲到的技术,并把自己的速度提升的最快,背API争取真正的脱离工具。
有一次恩师抽我回答他的问题,你知道我问什么这样讲(他讲java sun认证)我回答到“就当做是复习”!老师生气咯!下来一想!我确实错咯,原因有3;一表明你很强不在意(这预兆着狂妄,做程序员应该踏实); 二表明我没有真正理解老师的意思 ;三老师下面要讲新知识需要很强的基础!之后我想恩师道歉说知道错了。(但我真的知道么!非也!直到自己走火入魔,真正的失败了。才领悟!)
之后恩师赐予了我们两本书,<<thinking in java>>和<<core java>>相信绝大多数的java程序员都看过,要求我们下去认真的 ......
JDBC:
|-- 数据库互联。
|-- 由SUN公司所制定的用来访问数据库的规范。
|-- 数据库数据 <= 交互 => 应用程序。
JDBC包含主要两个部分:
|-- part 1.由SUN公司制定的规范接口
|-- java.sql
--> 核心包
|-- javax.sql --> 扩展包
|-- part 2.由数据库厂商所提供的数据库驱动程序,它们实现了part 1部分。
JDBC的驱动程序包含以下四种类型:
|-- 第一代驱动(JDBC - ODBC Bridge)
|-- 首先把JDBC的调用转换成ODBC的调用,再用ODBC与具体的数据库系统通信。
|-- 第二代驱动 (Native - API party - Java
driver 本地API部分Java驱动)
|-- Conrerts JDBC calls into calls
on the native client API of a specific RODMS.
|-- 缺点� ......
前段时间公司开始用SSH框架,因为以前没有用过,下个几个demo看看,发现想理解Structs2的流程真是困难;后来又想整合Ext进行界面开发,上网找资料,发现用Structs整合Ajax还真是麻烦,不仅前台要做修改,后台还要改配置文件以及action类,真不知道这样的东西做完了该怎么样去维护!继续在网上找终于被我发现了Vraptor,该框架不仅使用方便,而且代码层次简单,易于程序员理解和扩展。现将Structs与Vraptor对比如下:
功能
Structs2
Vraptor3
请求路径与方法映射
要写Structs的配置文件
采用“约定优于配置”原则自动映射,也可通过注解进行指定
请求参数的映射
需要在Controller里设置每一个参数的属性,还要整一堆get/set
直接映射到方法的参数类的属性中
请求参数验证
想要验证个字段不仅要改类文件、还要添加配置文件、页面还要使用Structs的标签
内置可扩展验证类、Harbernate验证,验证失败后自动将错误信息放入requestscope中
view的调用
要在配置文件中配置对应方法的Result
根据规则映射、也可在java代码中通过注入Result对象进行自定义的页面调用
ajax支持
要改页面文件、配置文件、java类一大堆工作
只需简单修改requ ......
JDBC Name: jTDS
URL: http://jtds.sourceforge.net/
Version: 0.5.1
Download URL: http://sourceforge.net/project/showfiles.php?group_id=33291
语法:
Class.forName("net.sourceforge.jtds.jdbc.Driver
");
Connection con =
DriverManager.getConnection("jdbc:jtds:sqlserver://host:port/database","user","password");
or
Connection con =
DriverManager.getConnection("jdbc:jtds:sybase://host:port/database","user","password");
MySQL
JDBC Name: Connector/J 3.0
URL: http://www.mysql.com/
Version: 3.0.8-stable
Download URL: http://www.mysql.com/downloads/api-jdbc-stable.html
语法:
Download URL: http://www.mysql.com/downloads/api-jdbc-stable.html
语法:
Class.forName("com.mysql.jdbc.Driver");
Connection con =
DriverManager.getConnection("jdbc:mysql://host:port/database","user","password");
Oracle
JDBC Name: Connector/J 3.0
URL: http://otn.oracle.com/
Version: 3.0.8-stable
Download URL: http://otn.oracle.com/software/tech/java/sqlj_jdbc/content.h ......
import java.io.*;
/**
* linux 下cpu 内存 磁盘 jvm的使用监控
* @author avery_leo
*
*/
public class TT {
/**
* 获取cpu使用情况
* @return
* @throws Exception
*/
public double getCpuUsage() throws Exception {
double cpuUsed = 0;
Runtime rt = Runtime.getRuntime();
Process p = rt.exec("top -b -n 1");// 调用系统的“top"命令
BufferedReader in = null;
......
java类的成员变量有俩种:
一种是被static关键字修饰的变量,叫类变量或者静态变量
另一种没有static修饰,为实例变量 类的静态变量在内存中只有一个,java虚拟机在加载类的过程中为静态变量分配内存,静态变量位于方法区,被类的所有实例共享。 静态变量可以直接通过类名进行访问,其生命周期取决于类的生命周期。
而实例变量取决于类的实例。每创建一个实例,java虚拟机就会为实例变量分配一次内存,实例变量位于堆区中,其生命周期取决于实例的生命周期。 ......