您的位置:首页 > 编程语言 > Java开发

JAVA基础知识

2015-12-02 22:56 183 查看
1.JAVA:write once,run anywhere
2.JAVA优势:跨平台、安全、完全面向对象、简单、健壮
3.java源文件-(编译器javac.exe编译)-java平台可以执行的字节码文件-(JVM java.exe解释)-本地机器码-机器运行(编译、解释的过程)
过程:编译源文件.java-java编译生成.class文件-java运行.class文件
4.java有51个关键字
数据类型(10):byte、short、int、long、float、double、char、class、interface、Boolean
流程控制(14):if、else、do、while、for、switch、case、default、try、catch、finally、break、continue、return
修饰符(12):private、protected、public、void、static、abstract、final、strictfp、transient、synchronized、volatile、native
动作(10):this、new、import、package、extends、implements、super、throws、throw、instanceof
保留字(5):true、false、goto、null、const
5.使用final定义符号常量:final double PI = 3.14;(常量必须有值,不能被重写、覆盖)
6.数据类型:基本数据类型+引用数据类型
基本数据类型:数值型(byte、short、int、long、float、double)+字符型(char)+布尔型(boolean)
引用数据类型:类(class)+接口(interface)+数组+string
7.继承条件下构造方法的调用规则:
a.如果子类的构造方法中没有通过super显示调用父类的有参构造方法,也没有通过this显示地调用自身的其他构造方法,则系统会默认先调用父类的午参构造方法。
b.如果子类的构造方法中通过super显示地调用父类的有参构造方法,那将执行父类的相应构造方法,而不执行父类的无参构造方法。
c.如果子类的构造方法中通过this显示调用自身的其他构造方法,在相应构造方法中应用以上两条规则。
8.抽象类便于复用,接口便于代码维护。接口里的数据成员必须初始化,且数据成员均为常量。
9.异常Throwable:Error+Exception(CheckedException+RunnableException)
Error:程序中不可捕获或处理,AWTError、ThreadDeath。
CheckedException:程序中必须处理,定义方法时声明所有可能会抛出的checked exception。
RunnableException:可以进行选择捕获或处理,定义方法时不需要声明(NullPointException、ClassNotFoundException、ArrayIndexOutOfBoundsException、NumberFormatException、ArithmeticException、InputMissmatchException…)。
10.面向对象设计思想的7条原则:
a.单一职责原则(SRP)。系统中每一个对象都应该只有一个单独的职责,而所有对象关注的就是自身职责的完成。
b.开闭原则(OCP)。一个对象要对扩展开放,对修改关闭。
c.里式替换原则(LSP)。在任何父类出现的地方都可以用它的子类替换。
d.依赖注入原则(DIP)。要依赖于抽象,不要依赖具体的实现。
e.接口分离原则(ISP)。不应该强迫客户程序依赖他们不需要使用的方法。
f.迪米特原则(LOP)。一个对象应该与其他对象尽可能少的了解。
g.优先使用组合而不是继承原则(CARP)。优先使用组合,而不是继承。
11.流:字节流(字节输入流InputStream+字节输出流OutputStream)+字符流(字符输入流Reader+字符输出流Writer)
序列化(Serializable):同时只有一个进程访问这段代码。
12.java获取Class对象的3种方法:
a.调用某个对象的getClass()方法
Person person= new Person;
Class class = person.getClass();
b.调用某个类的class属性来获取该类对应的class对象。
Class class = Person.class;
c.使用Class类的forName()静态方法。
Class class = Class.forName(“com.zheng.Person”);
第二种方法更安全,编译阶段可以检查class对象是否存在,程序性能更高。
13.进程和线程(User Thread(用户线程)、Daemon Thread(守护线程) )
进程:进程是应用程序的执行实例。特征:动态性、并发性、独立性。
线程:进程内部一个可执行单元,是程序中一个单一的顺序控制流程。
a.一个进程可以包含多个线程,一个线程至少要有一个父进程。
b.线程可以有自己的堆栈、程序计数器和局部变量。
c.线程和父进程内的其他线程共享进程内的全部资源。
d.独立运行,采用抢占方式。
e.一个线程可以创建和删除另一个线程。
f.同一个进程内的多个线程之间可以并发执行。
g.线程的调度管理是由进程来完成的。
线程生命周期:新建(new Thread)-就绪(runnable)-运行(running)-死亡(dead)-堵塞(blocked)
多线程优势:改善用户体验,提高资源利用率。
synchronized保证同一时刻同一资源只被同一线程使用。
14.TCP/IP:传输控制协议(网络层IP协议+传输层TCP协议)
HTTP:超文本传输协议,是一种为web设计的网络通信协议
OSI参考模型:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。
15.Socket编程步骤:
服务器端:
a.建立一个服务器socket,绑定指定端口开始监听。
b.使用accept()方法阻塞等待监听,获得新的连接。
c.建立输入输出流
d.在已有的协议上产生会话。
e.使用close()关闭流河socket。
客户端:
a.建立客户端socket连接,指定服务器的位置以及端口。
b.得到socket的读写流
c.利用流按照一定的协议对socket进行读/写操作。
d.使用close()关闭流和socket。
16.相等的属性值:两个对象具有相同的类型,相同的属性值。
同一个引用对象:两个引用指向同一个对象,即指向同一个地址。
17.范型:参数化类型,避免强制类型转换。范型是对java语言类型系统的一种扩展,以支持创建 可以按类型进行参数化的类。
好处:类型安全、避免强制类型转换、潜在的性能收益。
18.软件测试中的黑盒测试和白盒测试
白盒测试需要更加深入的接触到代码,例如代码语句的规范性、正确性之类的,可以通过画程序流程图来分析代码的路径,找出路径后可以根据路径来写测试用例。
黑盒测试不需要接触代码,主需要根据软件的功能来设计一些测试用例,例如某个按钮是否实现它的功能。
19.特殊字符:
空格: ;、>:>;、<:<;、版权符号:©
20.锁:用来共享资源控制并发访问的一种机制
悲观锁:指在读取数据之后马上锁定相关资源
乐观锁:把所有的锁定都延迟到即将执行更新之前。
21.JDBC API			作用
Connection接口		程序与数据库连接对象
DriverManager类		管理数据库驱动,获取数据看链接
Statement接口		执行静态SQL语句
PrepareStatement接口	预编译的SQL语句的对象
CallableStatement接口	执行SQL存储过程
ResultSet接口		查询结果集
22.JSP首次访问时经历的三个阶段:转译(JSP文件转换为JAVA源文件)-编译(JAVA源代码编译成字节码文件,生成class文件)-运行(执行并产生输出)
JSP九大内置对象:request、response、session、out、application、pageContext、page、config、exception
23.MVC设计模式=模型+视图+控制器
Model(javaBean):实现数据操作和业务处理(Dao+Service层)
View:显示信息,与用户交互的界面(JSP或HTML)
Controller:接收请求,调用模型实现业务,调用视图显示数据,完成操作(Servlet)
24.Hibernate执行持久化操作步骤:
<1>.读取并解析配置文件
Configuration config = new Configuration().configure();
<2>.读取并解析映射信息,创建SessionFaction
SessionFactory factory = config.buildSessionFaction();
<3>.打开session
this.session = faction.openSession();
<4>.开始一个事务
tran = this.session.beginTransaction();
<5>.持久化操作
this.session.save(begin);
<6>.提交事务
tran.commit();
<7>.关闭session
this.session.close();
25.设计模式与框架的异同
<1>.设计模式是设计重用;框架是部分代码重用,部分设计重用。
<2>.设计模式是抽象描述;框架有具体的代码实现
<3>.设计模式针对各种应用;框架针对某一特定应用
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: