【DAY26】JAVA 基础回顾

基础回顾

----------------

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.

时间: 2024-10-09 17:16:53

【DAY26】JAVA 基础回顾的相关文章

四、Android学习第四天——JAVA基础回顾(转)

(转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 四.Android学习第四天——JAVA基础回顾 这才学习Android的第四天,在程序中已经遇到了JAVA中以前不常用的一些知识点,赶紧回顾复习一下,打下基础 这里就做个简单的小结: 一.匿名内部类 匿名内部类说白了就是个没有被命名的JAVA类 在以下条件下使用匿名内部类比较适合: ①只用到该类的一个实例时 ②类在定义后被马上用到 ③类非常小(SUN推荐是在4行代码以下

1、java基础回顾与加强

一.    基础回顾 1   集合 1.1  集合的类型与各自的特性 ---|Collection: 单列集合 ---|List: 有存储顺序, 可重复 ---|ArrayList:    数组实现, 查找快, 增删慢 由于是数组实现, 在增和删的时候会牵扯到数组 增容, 以及拷贝元素. 所以慢.数组是可以直接按索引查找, 所以查找时较快 ---|LinkedList:   链表实现, 增删快, 查找慢由于链表实现, 增加时只要让前一个元素记住自己就可以, 删除时让前一个元素记住后一个元素, 后

Java基础回顾(上)

一.唠叨 有朋友开始接触Java,问我一些基础的问题,突然发现不知该如何回答,十分尴尬.痛定思痛,便回炉重造,将java基础的知识重新梳理了一遍. 以下是我看书时或摘要.或总结的语言,完全是Java中基础的基础. 二.学习笔记 (一)基本数据类型 1.标识符区分大小写:hello与Hello是不同的标识符. 2.基本数据类型的精度由低到高依次为:byte short char int long float double 3.格式控制符号: %d int类型 %c char类型 %f 浮点类型 %

[Java基础回顾]Tomact及Http 部分总结.

前言:   刚好今天回来的很早, 总结下 Tomcat及Http的基础知识. 1, Tomcat    web相关概念        web:网页的意思,网页资源包括服务器上的所有资源.            web资源分类:                静态的资源:内容不会发生改变的资源                动态的资源:内容可能发生改变的资源            web技术:                静态的web技术:html css js 等               

5.JAVA基础回顾

java有什么特点? 1.简单性 2.面向对象的语言 3.一种与平台无关的语言(可跨平台) 4.健壮性和安全性 5.多线程 6.垃圾回收机制 2.什么是JDK?什么是JRE? JDK是JAVA的开发工具集.(编译环境,运行环境,调试环境,基础类库) JRE是JAVA的运行环境. (虚拟机,核心类库以及连接文件:JDK包括JRE) 3.JDK的目录结构是怎样的? bin:存放可执行的命令文件.javac.exe为编译的可执行文件: java.exe为执行java的可执行文件. db:数据库支持目录

java基础回顾(2)

java中只有两种类型:基础类型.引用类型 8中基本类型:byte  short int long float double char boolean,其中byte类型取值范围[-2^7~2^7-1],short类型 取值范围为[-2^15~2^15-1],int类型取值范围[-2^31~2^31-1] 定义long类型,习惯性在数字后加L 定义float类型,习惯性在数字后加f ☆强制转换语法        小类型 变量名 = (小类型)大类型值. 可能会出现溢出现象 运算符:算术运算符.逻辑

java基础回顾之IO

Java的IO 是Java运用重要部分之一,涉及到的内容也比较多,容易混淆,一段时间不用,可能就会遗忘,要时常回顾记忆一下: (图片来源于网络) Java 流在处理上分为字符流和字节流. 字符流处理的单元为 2 个字节的 Unicode 字符,分别操作字符.字符数组或字符串,而字节流处理单元为 1 个字节,操作字节和字节数组.Java 内用 Unicode 编码存储字符,字符流处理类负责将外部的其他编码的字符流和 java 内 Unicode 字符流之间的转换.类 InputStreamRead

java基础回顾(五)线程详解以及synchronized关键字

本文将从线程的使用方式.源码.synchronized关键字的使用方式和陷阱以及一些例子展开java线程和synchronized关键字的内容. 一.线程的概念 线程就是程序中单独顺序的流控制.线程本 身不能运行,它只能用于程序中. 二.线程的实现 线程的实现有两种方式: 1.继承Thread类并重写run方法 2.通过定义实现Runnable接口的类进而实现run方法 当用第一种方式时我们需要重写run方法因为Thread类里的run方法什么也不做(见下边的源码),当用第二种方式时我们需要实现

输出 n=6 的三角数字阵(JAVA基础回顾)

package itcast.feng; import java.util.Scanner; //需求:输出 n=6 的三角数字阵 //1 //2 3 //4 5 6 //7 8 9 10 //11 12 13 14 15 //16 17 18 19 20 21 //分析:看到正三角,就想到for循环格式,外循环控制行,内循环控制列,内循环条件y<x; //思路: //1. 定义一个计数器,每输出一次,计数器累加1.这个计数器的值就是我们要打印的值 //2. 行号跟这一行里面元素的个数一样,所以