基础回顾
----------------
1.跨平台 os
JVM : sandbox
1995
2.基本数据类型
byte //1 -128 ~ 127
short //2 -32768 - 32767
int //4
long //8
float //4
doule //8
char //2
boolean //1
3.引用类型
[]
class
interface
4.运算符
&& //短路
|| //短路
& //
| //
^ //抑或,相同0,不同为1
>>> //
>> //
负数的存储 : 补码 -- 取反 + 1.
5.byte = -1 ; //1111 1111
数组
-------------------
1.定长
2.类型相同.
3.IndexOutofBounds
4.[0]...[length - 1]
5.
6.OOP,面向对象。
类: //现实世界对事物的软件抽象。图纸.
面向过程,
封装 : //private
继承 : //重用。extends ,父类引用任何子类的对象,接口引用任何实现类的对象。
多态 : //多种形态。接口
对象 : //实例。切实存在的实体。
构造函数 //跟类同名,没有返回值。
重载 //同名,返回值。
重写 //子类对父类的方法的重新解释。方法可以覆盖,属性不可以覆盖。属性是资产。
对象构造 //包含整个继承树的创建。
匿名内部类对象 //new IRich(){
xxx(){....}
}
Xxxx$1InnerClass
抽象类 //abstract class
abstract + final // 非法
abstract + private // 非法
abstract + static // 非法的
类可以多层继承,只能单重继承。
类可以实现多个接口。
接口可以继承多个接口。
public //
private //
protected //受保护的
static //和对象无关。ClassName.
final //方法 -- 不能重写
类中 -- 不能继承
Field -- 不能修改
finally //try-catch-finally{...}
class Object{
hashcode() //内存地址
wait() //
toString() //
notify() //
notifyAll() //
wait(int n) //
getClass() //
equals() //
}
7.反射
动态访问对象的属性和方法。
Class //类描述符
Method //方法
Field //字段
Constructor //
修改类成员的可访问性。
8.内省
操纵javabean
java.beans.Introspector
PropertyDescriptor
MethodDescriptor
8.设计模式
------------------
1.单例模式
某个类有且只有一个实例。
保证
构造私有
静态的指向自身的引用。
synchronized if(instance == null){
}
2.Factory模式
XxxFactory.createObject(){...}
3.适配器
GUI
MouseAdapter;
9.interface
1.降低耦合(交互程度)度.
2.高内聚(内部),低耦合(之间)。
10.集合
--------------------
1.List | Set ---|> Collection Map<key-value>
2.ArrayList //数组
LinkedList //链表,不是环.
3.HashMap
hash //散列。bucket
Key : 数组 + 链表.
TreeMap //sort
4.HashSet //hashMap
TreeSet //
Comparator | Comprable
11.Thread
-------------------
1.应用程序中并发执行的代码段。共享内存的。 javaw.exe
2.extends Thread | implements Runnable
void run(){
}
3.每个线程对应的是方法栈。
start() //
run() //
yield() //放弃 CPU抢占权。和监视权无关。
join() //等待指定结束.内部wait()实现
setDaemon() //
sleep(int n)//休眠,放弃 CPU抢占权。不释放锁。
wait() //
wait(int n) //
notify() //通知等待队列中随机选取一个线程.
notifyAll() //全部通知
线程的状态
-------------
1.NEW //还未启动
2.RUNNABLE //正在JVM中执行(等待OS的其他资源(例如CPU))
3.BLOCKED //阻塞态,等待检视器的锁。
4.WAITING //wait() wait(int n ) ,park , join
5.TIMED_WAITING //限时等待. wait(int n) join
6.TERMINATED //终止.
4.生产者和消费者
notify() wait();必须在同步代码中调用。
synchronized(lock){
...
wait();
.
.
.
}
synchronized(lock){
...
notify();
.
.
.
}
//
IO:input / output
----------------
1.InpuStream OutputStream
2.Reader | Writer
3.InputStreamReader,OutputStreamWriter
4.BufferedInpuStream BufferedReader
5.ByteArrayInputStream / ByteArrayOutputStream
6.DataInputStream/DataOutputStream
dos.writeByte(byte)
dos.writeInt(int);
...
dis.readByte(); //
7.ObjectOutputStream/OIS
8.java.io.Serializable //标识性接口 jvm SID : 反串行。
串行化 / 序列化 //java --> byte[] byte[] -- > java
9.File //文件 isDirectory() | isFile()
递归.
10.FileReader | FileWriter
11.FileInputStream FileOuputStream(file,boolean append);
12.RandomAccessFile //任意定位
seek(); //定位
skip(); //跳过
13.使用读行方法访问字节流
new BuffedReader(new InputStreamReader(System.in));
14.Socket编程·
java.net.ServerSocket / java.net.socket
InetAddress //ip
SocketInetAddress //ipt + port
java.nio.channels.ServerSocketChannel
java.nio.channels.SocketChannel
java.nio.channels.Selector
java.nio.ByteBuffer //
17.物理层 -> 数据链路层->网络层-> 传输层 -> 表示层->会话层-> 应用层
TCP : transfer control protocal,传输控制协议。
ip : internet protocal.
udp : user datagram protocal. //realtime实时要求较高,
装饰模式
-------------
1.decorate .
DataSource
-----------------
1.javax.sql.DataSource LinkedList
RDBMS
--------------
1.relation database management system
2.二维表 table , 结构化数据
3.NoSQL : not only sql.
4.SQL //structrual query language.
insert into
udpate
delete
select * from where limit
select id,name,age from
select avg() max min sum() count() from ...
select fxxx as newname from ... ;
[DDL data define language]
create table
drop table
alter table
create procedure
JDBC
-------------
1.Connection
conn.autcommit(false);
conn.commit() ; //conn.rollback();
2.Statement < PreparedStatement(addBatch() + executeBatch(),sql注入) < CallalbeStatment
3.ResultSet
rs.next()
rs.getInt(1) //从1开始.
rs.getString()
4.ResultSetMeatadata
5.mysql
longblob | text
ppst.setBinaryStream(,,is.available);
ppst.getBinaryStream(xxx);
6.transaction //事务
一组操作。
a //atomic,原子性
c //consistent,一致性
i //isolate,隔离性
d //durable,永久性
7.mysql client cmd
set autocommit = 0 ; //自动关闭mysql的自动提交
start transaction ;
commit ; //rollback;
8.事务并发执行现象
1.脏读 //读未提交
2.不可重复读 //读不回去。 other == update xxx
3.幻读(虚读) //读多了. == insert xxx
9.事务隔离级别
1.读未提交 //set session transaction isoaltion level read uncommitted;
2.读已提交 //set session transaction isoaltion level read committed;
4.可以重复读 //set session transaction isoaltion level repeatable read;
8.串行化 //set session transaction isoaltion level serializable;
10.mysql查询隔离级别
select @@global.tx_isolation;
select @@session.tx_isolation;
select @@tx_isolation;
11.行级锁
delete from
12.lock tables xxx ...
13.show engines
14.InnoDB / memory.