序 言
本篇文章还不足以囊括所有 Java 问题,都是日常的总结,后续也会继续更新… …
如想了解更多更全面的Java必备内容可以阅读:所有JAVA必备知识点面试题文章目录:
面向对象编程有四个特征:抽象,封装,继承,多态。
多态有四种体现形式:
其中重载和重写为核心。
Map是一个以键值对存储的接口。HashMap和HashTable两个就是Map下具体的实现。
jquery是一个轻量级的js框架,具有跨浏览器的特性,兼容性好,
并且封装了很多工具,方便使用。
常用的有: 选择器 ,dom操作 ,ajax(ajax不能跨域) ,特效,工具类
Xml特点:
1、有且只有一个根节点;
2、数据传输的载体
3、所有的标签都需要自定义
4、是纯文本文件
Json(JavaScript Object Notation)特点,Json分为两种格式:
Json对象(就是在{}中存储键值对,键和值之间用冒号分隔,
键 值 对之间用逗号分隔)。
Json数组(就是[]中存储多个Json对象,Json对象之间用逗号分隔)
(两者间可以进行相互嵌套)数据传输的载体之一。
区别:
共同点:
getSession()/getSession(true):当session存在时返回该session,否则新建一个 session并返回该对象。
getSession(false):当session存在时返回该session,否则返回null。
Page是servlet对象;使用this关键字,它的作用范围是在同一页面。
PageContext是作用域通信对象;通常使用setAttribute()和getAttribute()来设置和获取存放对象的值。
AJAX 全称: 异步JavaScript及 XML(Asynchronous JavaScript And XML)
Ajax的核心是JavaScript对象XmlHttpRequest(XHR)。
Ajax的优点:
提高用户体验度(UE)
提高应用程序的性能
进行局部刷新
1、 AJAX不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的 Web 应用程序的技术。
2、 通过 AJAX,我们的 JavaScript 可使用JavaScript的XMLHttpRequest对象来直接与服务器进行通信。通过这个对象,我们的 JavaScript 可在不重载页面的情况与Web服务器交换数据,即可局部刷新。
3、 AJAX 在浏览器与 Web 服务器之间使用异步数据传输(HTTP 请求),这样就可使网页从服务器请求少量的信息,而不是整个页面,减轻服务器的负担,提升站点的性能。
4、 AJAX 可使因特网应用程序更小、更快,更友好,用户体验(UE)好。
5、 Ajax是基于标准化并被广泛支持的技术,并且不需要插件和下载小程序。
四个作用域从大到小:appliaction>session>request>page
以上作用范围使越来越小, request和page的生命周期都是短暂的,他们之间的区别就是:一个request可以包含多个page页(include,forward)。
List和Set都是接口,他们都继承于接口Collection,List是一个有序的可重复的集合,而Set的无序的不可重复的集合。Collection是集合的顶层接口,Collections是一个封装了众多关于集合操作的静态方法的工具类,因为构造方法是私有的,所以不能实例化。
单例就是该类只能返回一个实例。
单例所具备的特点:
单例分为饿汉式、懒汉式和双层锁式(线程安全)
饿汉式:
public class Singleton{
private Singleton() {
};
private static Singleton single = new Singleton();
public static Singleton getInstance() {
return single;
}
}
懒汉式:
public class Singleton{
private Singleton() {
}
private static Singleton single=null;
public tatic Singleton getInstance() {
if (single == null) {
single = new Singleton();
}
return single;
}
}
线程安全:
public class Singleton{
private Singleton() {
}
private static Singleton single ;
public static Singleton getInstance() {
if(null == single){
synchronized(single ){
if(null == single){
single = new Singleton();
}
}
}
return single;
}
}
1、 解析xml的几种技术:dom4j 、sax、jaxb、jdom、dom
2、dom4j 与 sax 之间的对比:【注:必须掌握!】
dom4j不适合大文件的解析,因为它是一下子将文件加载到内存中,所以有可能出现内存溢出, sax是基于事件来对xml进行解析的,所以他可以解析大文件的xml;也正是因为如此,所以dom4j可以对xml进行灵活的增删改查和导航,而sax没有这么强的灵活性。所以sax经常是用来解析大型xml文件,而要对xml文件进行一些灵活(crud)操作就用dom4j。
1). 需求分析
2). 概要设计
3). 详细设计(用例图,流程图,类图)
4). 数据库设计(powerdesigner)
5). 代码开发(编写)
6). 单元测试(junit 白盒测试)(开发人员)
svn版本管理工具(提交,更新代码,文档)
7). 集成测试 (黑盒测试,loadrunner(编写测试脚本)(高级测试))
8). 上线试运行 (用户自己体验)
9). 压力测试(loadrunner)
10). 正式上线
11). 维护
session:是一种将会话状态保存在服务器端的技术。客户端登录完成之后,服务器会创建对应的 session,session 创建完之后,会把 session 的 id 发送给客户端,客户端再存储到浏览器cookie 中。这样客户端每次访问服务器时,都会带着 sessionid,服务器拿到 sessionid 之后,在内存找到与之对应的 session 这样就可以正常工作了。
Cookie :是在 HTTP 协议下, Web 服务器保存在用户浏览器(客户端)上的小文本文件,它可以包含有关用户的信息。无论何时用户链接到服务器,Web 站点都可以访问 Cookie 信息 。
Final是一个修饰符:
Finally:
Finally只能与try/catch语句结合使用,finally语句块中的语句一定会执行, 并且会在return,continue,break关键字之前执行。
finalize:
Finalize是一个方法,属于java.lang.Object类,finalize()方法是GC (garbage collector垃圾回收)运行机制的一部分,finalize()方法是在 GC清理它所从 属的对象时被调用的。
Jdk【Java Development ToolKit】就是java开发工具箱, JDK是整个JAVA的核心里边包含了jre,它除了包含jre之外还包含了一些javac的工具类,把java源文件编译成class文件,java文件是用来运行这个程序的,除此之外,里边还包含了java源生的API,java.lang.integer在rt的jar包里边【可以在项目中看到】,通过rt这个jar包来调用我们的这些io流写入写出等
JDK有以下三种版本:
Jre【Java Runtime Enviromental】是java运行时环境,那么所谓的java运行时环境,就是为了保证java程序能够运行时,所必备的一基础环境,也就是它只是保证java程序运行的,不能用来开发,而jdk才是用来开发的,所有的Java程序都要在JRE下才能运行。
包括JVM和JAVA核心类库和支持文件。与JDK相比,它不包含开发工具——编译器、调试器和其它工具。
Jvm【Java Virtual Mechinal】因为jre是java运行时环境,java运行靠什么运行,而底层就是依赖于jvm,即java虚拟机,java虚拟机用来加载类文件,java中之所以有跨平台的作用,就是因为我们的jvm。
301 永久重定向
302 临时重定向
304 服务端 未改变
403 访问无权限
200 正常
404 路径
500 内部错误
父类的静态代码块,子类的静态代码块,调用子类的main方法中的方法,父类的构造代码块,父类的构造器,子类的构造代码块,子类的构造器
注意:静态代码块是在类加载时加载的
将List的值addAll到Set中,再将set放入List
*CAP的三进二理论:
任何分布式系统CAP理论只能3进2 (一个分布式系统不可能同时满足一致性、可用性、分区容错性这个三块需求,因此CAP原理将NOSQL数据库分为满足SA原则、CP原则、AP原则)
BASE是什么:为了解决关系数据库强一致性引起的问题而引起的可用性降低而提出的解决方案
思想:让系统放松对某一时刻数据一致性的要求来换取系统整体伸缩性和性能上的改观。(例:放松双十一当天的数据一致性来换取淘宝的不卡,可以先把不一致性数据存在redis中,过了这段时间后再来实现双十一当天的数据一致性)
分布式:不同的多台服务器上面部署不同的服务器模块(工程),他们之间通过RPC/RMI通信和调用,对外提供服务和组内协作。
集群:不同的多台服务器上面部署相同的服务器模块,通过分布式调度软件进行统一调度,对外提供服务和访问。
… …
总结尚未结束,后续会继续更新中!
帮助他人,快乐自己,最后,感谢您的阅读!
所以如有纰漏或者建议,还请读者朋友们在评论区不吝指出!
……
个人网站…知识是一种宝贵的资源和财富,益发掘,更益分享…