1)工具准备:jdk安装:jdk1.6或jdk1.7
2)环境配置:配置环境变量JAVA_HOME
3)编写Hello World代码
4)执行Hello World程序。
public class Helloword{
public static void main(String[] agres){
System.out.println("Helloword");
}
}
类的定义:访问说明符class类名、extends超类名、implements接口名
类名是自己定义的可以反映该程序的作用的命名,用public定义的类是公共类,任何都可以访问;
超类名是指已经存在的类,可以是系统类(即是:父类);
接口名:是指没有实际方法的类;
包括成员变量,方法。
成员变量:指类的属性,标志性的静态特征(如:人的名字、年龄、身高等)
访问说明符:public、private、protected三种,分别是公开的(可以从外部访问)、私有的(可以间接从外部访问)、受保护的(子类访问受限)
方法:定义方法(访问说明符 数据类型 方法名(数据类型 变量名))
创建类的实例:利用关键字new进行创建
接口的定义:接口是没有完全实现的类,在接口中只包含了抽象方法和常量的定义。接口的定义需要用interface进行定义,接口里不能定义构造方法一个接口不能实现另一个接口,但是一个接口可以继承多个其他接口。
接口的声明:访问修饰符 interface 接口名{访问修饰符 方法名}。
public interface A{
public int sum();
}
接口的实现:接口的实现要通过类进行实现,一个类可以实现多个接口,实现接口的方法必须用public来定义。
public class B implements A{
public int num1;
public int num2;
public int sum(){
return num1+num2;
}
}
String类:String类是继承了Object类,当采用equals比较时,比较的是两个对象的地址。
String类重写了toString方法,输出对象是直接输出内容,用equals比较时,是采用的两个对象的内容。
每次对String改变时会生成一个新的String对象,当内存中引用对象多了以后会导致性能下降,所有不要使用String来频繁的拼接,在单线程中数据较少时用String。
String:内容被定义了就不能被修改,只能定义一次
StringBuffer:是一个线程安全的可变的字符串变量(在实际开发中,如果要频繁对一个变量修改,使用StringBuffer更加合理),主要用在全局变量中
StringBuillder:是一个线程不安全的可变的字符串序列,可以用在单线程的程序中。
基本数据类型 | 对应的包装类 |
---|---|
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
char | Character |
boolean | Boolean |
包装类型的初始值是null
装箱:基本数据类型转换成包装类型
拆箱:包装类型转换成基本数据类型
Collection | Map | |||||
---|---|---|---|---|---|---|
List | Set | HashMap | Hashtable | |||
ArrayList | Vector | HashSet | HashMap | Hashtable | ||
线程不安全、不同步、有序、可重复,查询效率高 | 线程不安全、同步、有序、可重复,查询效率高 | 不保证集合中元素顺序,不重复 | 不同步,可以用containsKey()来判断存在键,可以有一个null | 同步,可以用get()判断存在键,用在多线程,不允许出现null |
参考地址:https://blog.csdn.net/qq_37465368/article/details/80854672
IO:Java对数据的操作是通过流的方式,IO流用来处理设备之间的数据传输,上传文件和下载文件,Java用于操作流的对象都在IO包中。
参考地址:https://www.cnblogs.com/shuaiguoguo/p/8883862.html
参考地址:https://www.jianshu.com/p/49d2c3975c56
JDBC是JAVA数据库连接的简称,它是连接数据库与JAVA应用程序之间的桥梁,直接连接,在程序代码中直接编写JDBC代码连接数据库。
驱动程序的加载:class.forName()
Oracle驱动加载程序:oracle.jdbc.driver.OracleDriver;
连接地址:jdbc:oracle:thin:@localhost:1521:oracle
连接用户名:登录管理用户(conn sys/密码)
创建用户(create user 用户名 identified by 密码 account unlock;)
给创建的用户权限(grant connect,resource to admin;)
密码:(自己设置:如果是sys/system用户,密码为安装Oracle时的口令)
代码:Connection conn = DriverManager.getConnection(连接地址, 用户名, 密码); // 连接数据库
关闭连接:conn.close();
基本操作:executeQuery(sql) 查询
executeUpdate(sql) 插入、更新、删除
execute(); 创建
我遇到比较特殊的操作语句
select语句的应用 ·································参考地址
其他详细笔记请看:······························参考地址
····普通条件查询········
select 字段名 from 表名 where 查询条件;
····内联条件查询··········
select 显示字段名 from 表名 where 查询条件;
其中"表名"可以是:inner join 表名 on 查询条件 ... (inner join 表名 on 查询添加)括号里的可以添加任意多个 where 查询条件;
····外部条件查询·······口诀:(+)在哪边,哪边就是部分显示表
左外连接:select 显示字段名 from 全显表 left join 其他表 on 条件;
==select 显示字段名 from 全显表,其他表 where 全表条件=他表条件(+);
右外连接:select 显示字段名 from 全显表 right join 其他表 on 条件;
==select 显示字段名 from 全显表,其他表 where 他表条件(+)==全表条件;
····子查询(嵌套语句)······(in,exists作为where查询条件的一部分)
select 显示字段名 from 表名 where 查询条件;
==select 字段名 from 表名 where exists (查询条件);该方法的exists==字段名>。
其中"查询条件"可以是:字段名>(select 字段名 from 表名 where 查询条件);
····分组查询························
select 字段名/计算结果 from 表名 group by 分组名 having 查询条件;
····select语句优化····························[参考地址](https://blog.csdn.net/yyl7727/article/details/81483020)
1、where 后的条件执行时是从后往前,因此能够筛选更多数据的条件排在后面。
2、将or换为in。 比如 select * from vehicle where syxz in ('R','O')性能优于select * from vehicle where syxz='R' or syxz='O'
3、尽量少嵌套子查询,这种查询会消耗大量的CPU资源;对于有比较多or运算的查询,建议分成多个查询,用union all联结起来;多表查询的查询语句中,选择最有效率的表名顺序。Oracle解析器对表解析从右到左,所以记录少的表放在右边。
4、尽量多用commit语句提交事务,可以及时释放资源、解锁、释放日志空间、减少管理花费;在频繁的、性能要求比较高的数据操作中,尽量避免远程访问,如数据库链等,访问频繁的表可以常驻内存:alter table...cache;
····DML数据操纵语句···········(insert、update、delete)
插入语句:insert into 表名 value (表值);
更新语句:update 表名 set 字段名=修改值 where 查询条件;
删除语句:delete from 表名 where 查询条件;
····DDL定义语句······(create、alter、drop、sequence)
创建用户:create user 用户名 identified by 密码 account unlock;
授权给用户:grant connect,resource to admin;
[详细请看](https://blog.csdn.net/qq_33271984/article/details/83020212)
····DCL数据控制语句·········
系统权限:
DBA: 拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。
RESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数据库结构。
CONNECT:拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。
数据对象权限:
select, update, insert, alter, index, delete, all //all包括所有权限