1.classPath作用是为了类加载的时候加载搜索路径,先jre/lib/rt.jar 再是classPath指定的路径
2.java与c++编译与运行上最大的差别就是,java编译成字节码在JVM里面运行,c++编译后生成的是特定机器能够直接运行的文件(.exe之类的)
3.JVM是一个虚拟的机器,有自己的内存,处理器,相应的指令系统等等 他运行java就是一台机子运行C++,c一样
4.java的堆内存是垃圾回收机制自动释放的,无需程序员跟C++ 一样调用delete方法,可以避免程序员忘记释放内存而造成内存溢出的情况(垃圾回收线程的进程级别很低)
5.EJB:JBOSS、Weblogic、Websphere,EJB定义了三类bean(Entity Bean:、Session Bean:接受客户端请求实现业务逻辑、MessageDriven Bean:异步开发)
6.java分为基本数据类型&&引用类型 基本数据类型:int,byte,short,long,char,boolean,float,double 最大的区别 基本数据类型储存的是值,而引用类型存放的是地址
7.java中的main是入口函数
8.equal与==: ==比较基本数据类型的时候比较的是值是否相等,而比较引用类型的时候比较的是两个引用是否相等;而equal可以被程序员自定义的判断两个对象是否相等。其实是比较字符串的字符序列是否相等
9.类与对象:类是一种抽象的集合,比如学生类,对象就是抽象类的具体实例,比如说学生中的小明同学 总而言之,类是抽象的集合,对象是具体的实现
10.多态:通过将子类的对象引用赋值给父类的对象引用变量来实现动态方法的调用
11.静态成员:静态块,静态方法,静态成员变量 都在类加载的时候初始化、创建或者执行代码,他们对于类来说都只有一份,类里面的所有实例都可以访问到他们
12.接口与抽象类:接口只有抽象方法+静态不能变的数据集合,而抽象类是单继承,而接口是多实现
13.内部类:静态内部类,成员内部类,局部内部类,匿名内部类
14.private friendly protected public
15.对象池-8种+String for example: String str="hello";对象池取出来的 String str2 = new String("hello");重新创建 为了避免频繁创建销毁对象而影响效率
16.StringBuffer&&Stringbuilder 线程不安全&&线程安全 自增长
17.集合:set(无序,不允许重复 hashset 有序,不允许重复)、list(有序,允许重复)、map(键值对)
18.比较器:实现comparable || comparator 接口 再来重写compareto方法 实现数据集合之间的动态排序
19.Vector 与 ArrayList 线程安全&&线程不安全 一般为了使用效率 使用ArrayList比较多一点
20.Hashtable与hashmap 线程安全、都不不允许(key,value)null值&&线程不安全都允许null值
21.-----IO操作
import java.io.File;
import java.io.IOException;
public class FileDirTest{
public void main(String[] args){
File file1 = new File("D:/test/1.tet");
if(!file1.exists()){
try file1.createNewFile();
}catch(IOException){
e.printStackTrace();
}
File dir = new File("D:/test/1.txt");
if(dir.isDirectory){
String[] files = dir.list();
for(String fileName: files){
File f = new File(dir.getPath()+File.separator+fileName);
if(f.isFile()){
System.out.println("file:"+f.getName());
}else if(f.isDirectory){
System.out.println("dir:"+f.getName());
}
}
}
}
}
22.进程与线程: 进程属于某个线程,进程是程序的一种动态形式,是CPU、内存资源占用的基本单位、而线程不能独立占用资源,进程之间通信困难,而线程共享一块内存空间,通信简单。线程属于进程
23.实现Thread类 : 继承Thread类,实现Runnable接口
24:反射是为了动态的加载一个类,动态的调用一个方法,动态的访问一个属性。反射可以访问私有成员
25.TCP/IP 四层:应用层、传输层、互联网络层、网络接口层 确保不丢包 面向连接的 可靠的 安全的 采用字节流方式
26.UDP 无连接协议,字节开销很小,
27.JDBC 分为API SPI JDBC事物:先设置自动提交为false,finally里面做一个回滚
28.数据库连接池:就是对会话的的维护
29.Servlet的生命周期:主要是四个:因为是java类 所以还有个加载类的过程、初始化、服务、销毁。
30.forward && redirect forward重定向,一般用在用户没有登录的情况下访问一些后台管理页面直接给重定下,redirect 在开发中用的多一点,可以把response跟request的参数都带过去
31.Filter实现javax.servlet.Filter 过滤器 struts2 要实现doFilter() 方法
32.JSP :request response application session page out PageContext exception config
33.MVC:model1 && model2 jsp javabean servlet
34.Struts 标准MVC模型:M:ActionForm V:JSP C:Action类(struts-config.xml)
35.ORM (object relational mapping)对象关系映射 java程序与数据库之间的桥梁 五个最重要的接口:
session:实现CRUD(有点类似JDBC Connection、statement)
sessionFactory:生成seesion的工厂,一般来说一个数据库配置一个sessionFactory
Configuration:负责hibernate的配置,
transction:数据库事务相关
Query:负责各种数据库查询工作
36.hibernate 实体状态:
(1)瞬时态:Person p = new Person("zhushiqing","man");没有ID
(2)托管态:当与之关联的session关闭之后,就成了托管状态 一般由close(),evict()转换而来
(3)持久态:存在Session中的实体为持久态,一般是由于save(),saveOrUpdate()转换而来。