xml地图|网站地图|网站标签 [设为首页] [加入收藏]

写给自己的面试题,Java个人知识点总结

来源:http://www.ccidsi.com 作者:集成经验 人气:191 发布时间:2019-05-29
摘要:壹.java面向对象 1.面向对象的天性 基础篇 首先,什么是指标(Object)?Java中有一种构思叫做“万物皆对象”, (1)封装 (2)继承 (3)多态 JDK常用的包 对象正是怀有有些特殊性质(成

壹.java面向对象

1.面向对象的天性

基础篇

  首先,什么是指标(Object)?Java中有一种构思叫做“万物皆对象”,

(1)封装 (2)继承 (3)多态

JDK常用的包

对象正是怀有有些特殊性质(成员变量)和行事艺术(方法)的实体。

2.final finally finalize的区别

java.lang:这么些是系统的根底类,比方String、Math、Integer、System和Thread,提供常用功用。

        其次,什么是面向对象?那些是相对于面向进程。

(1)final  :  被final修饰的类,就象征不能够再派生出新的子类,不能够看做父类而被子类承接。因而八个类无法既被abstract申明,又被final评释。将变量或格局注解为final,能够有限补助他们在运用的历程中不被涂改。被声称为final的变量必须在宣称时提交变量的起来值,而在之后的引用中不得不读取。被final表明的章程也如出1辙只好利用,无法重载。

(2)finally : 在极其管理时提供finally块来举办其余清除操作。不管有未有卓殊被抛出、捕获,finally块都会被施行。try块中的内容是在无丰裕时实行到完工。catch块中的内容,是在try块内容产生catch所注解的拾叁分时,跳转到catch块中施行。finally块则是无论相当是还是不是爆发,都会推行finally块的剧情,所以在代码逻辑中有亟待无论发生怎样都必须举办的代码,就能够放在finally块中。

(3)finalize : finalize是方法名。java技能允许利用finalize()方法在垃圾收罗器将对象从内存中革除出去从前做供给的清理职业。那么些点子是由垃圾收罗器在规定这几个目的未有被引述时对那些目的调用的。它是在object类中定义的,因而有所的类都承接了它。子类覆盖finalize()方法以盘整系统财富可能被实行此外清管事人业。finalize()方法是在垃圾搜罗器删除对象在此以前对那几个指标调用的。

java.io:这里面是具有输入输出有关的类,举例文件操作等

面向进程是以函数为底蕴,达成各个操作,重申进程;

3.int 和 Integer有如何分别

java.net:这几个中是与网络有关的类,举例ULX570L,U奥迪Q三LConnection等。

面向进度的编程语言,重申的是法力行为,珍视进程的一步步落到实处。

(1)int属于原始基本数据类型,而Integer是应和的包装类

因为Java为每一种原始类型提供了封装类:为了能够将那几个核心数据类型当成对象操作,Java为每 3个主导数据类型都引进了相应的卷入档案的次序,int的卷入类就是Integer,从Java 伍开端引进了自动装箱/拆箱机制,使得两岸能够相互调换。

原始类型: boolean,char,byte,short,int,long,float,double

封装类类型:Boolean,Character,Byte,Short,Integer,Long,Float,Double

(二)Integer变量必须实例化后技艺采取

因为Integer是目的的引用,new Integer(xxx),实际上是生成1个指针指向此指标;而int是一向存款和储蓄数据值  

(3)Integer是指标(对象的引用),int是主导项目,直接存款和储蓄数值。

(肆)Integer暗许值是null,而int默许值是0;

java.util:那些是系统协理类,非常是集结类Collection,List,Map等。

而面向对象:是以指标为根基,完毕各样操作首要重申对象、结果。

四.重载和重写的界别

java.sql:这一个是数据库操作的类,Connection, Statememt,ResultSet等

面向对象的编制程序语言,是将作用封装进对象,重申具有有个别意义的靶子,

重载:发生在同二个类里有五个或多个方法措施名一样但参数分裂的境况

重写/覆盖:子类重新定义了父类的措施

Get和Post的区别

        最后,面向对象有啥样特色?

5.抽象类和接口有怎样分裂

壹.get是从服务器上获取数据,post是向服务器传送数据,

在面向对象的顺序设计中,对象与音信传递分别展现事物及东西之间的相互关系,

抽象类:

(1)抽象类中能够有构造方法;

(2)抽象类中可以存在一般属性、方法,静态属性和艺术

(3)抽象类中不必然带有抽象方法,但含有抽象方法的类一定要被声称为抽象类

(4)抽象类中的抽象方法,供给被子类落成,假若子类不落到实处,则子类也要被定义为抽象类

接口:

(1)接口中尚无构造方法,所以也无法实例化接口的对象

(2)在接口中唯有方法的宣示,未有方法体

(3)在接口中唯有常量,被定义的变量也会在编写翻译的时候暗中同意加上public static final

(4)在接口中的方法,都以被public修饰的

(5)接口能够实现多延续

(6)接口中定义的措施都急需被完毕呢完成,假如达成类无法促成接口中的全数办法,则达成类要被定义为抽象类(abstract)

2.get传递的数据量一点都不大,不能够高出2KB。post传送的数据量一点都不小,一般被默感觉不受限制。

因此封(Encapsulation)将对象的定义和对象的兑现分开,

6.说说反射的用途及贯彻

三.get安全性非常的低,post安全性较高。但是施行效用却比Post方法好。

透过延续(Inheritance)突显类与类之间的相互关系,以及通过拉动的实业的多态(Polymorphism)性,构成了面向对象的基本特征。

7.说说自定义注脚的景观及贯彻

四.在开始展览文件上传时只可以选择post而不能够是get。

 

捌.HTTP请求的GET 、POST方式的区分

Java多态的切实可行显示

2.session和cookie的区别:

GET:

a.一般只用于查询请求

b.能够被珍藏,以及缓存

c.请求参数放在U奥迪Q5L中

d.请求数据大小受限于url长度(10二四字节)

e.安全性非常的低,不该处理敏感数据的伸手

POST:

a.不可能缓存以及贮藏

b.请求数据放在body中,长度不限量

c.安全性相比高

面向对象编制程序有三个特色:抽象,封装,承接,多态。

一 存款和储蓄地方不一样: cookie数据存放在客户的浏览器上,session数据放在服务器上。

9.session与cookie的区别

多态有多样彰显方式:

二正式因为存款和储蓄地点差异,所以变成安全性分裂: cookie不是很安全,别人可以深入分析存放在本地的老董KIE并开始展览老总KIE欺诈,思索到平安应该选取session。

1、cookie数据存放在客户的浏览器上,session数据放在服务器上.

2、cookie不是很安全,别人能够剖析存放在地面包车型客车老总KIE并张开老董KIE诈骗,记挂到平安应该采纳session。

三、session会在一按期间内保存在服务器上。当访问增加,会相比较占用你服务器的性情考虑到缓慢消除服务器品质方面,应当利用老总KIE。

四、单个cookie保存的数额不能够超出4K,许多浏览器都限制一个站点最多保留212个cookie。(Session对象未有对存款和储蓄的数据量的限制,个中能够保留更为复杂的数据类型)

  注意:

a.session很轻易失效,用户体验很差;

b.固然cookie不安全,然而足以加密 ;

c.cookie也分为长久 和不常 存在的; 

d.浏览器 有取缔cookie功用 ,但一般用户都不会安装; 

e.一定要安装失效时间,要不然浏览器关闭就流失了;

 f.两个最大的区分在于生存周期,七个是IE运营到IE关闭.(浏览器页面壹关 ,session就烟消云散了)

三个是预先安装的生存周期,或永世的保存于地点的文本。(cookie)

一.接口和接口的持续。

3session会在料定时期内保存在服务器上。当访问增加,会相比较占用你服务器的性能, 惦记到减轻服务器质量方面,应当接纳首席施行官KIE。

十.session遍布式管理

2.类和类的后续。

④单个cookie保存的数据不能够赶过4K,诸多浏览器都限制三个站点最多保留十八个cookie。且只可以存款和储蓄string类型的对象,而session能够存款和储蓄java大4等级次序的指标

11.JDBC流程

3.重载。

5所以一般提出:  将登录音信等关键音讯寄存为SESSION ,   其余音讯壹旦急需保留,能够放在主任KIE中

(一)注册驱动

        Class.forName("com.mysql.cj.jdbc.Driver");

(贰)连接数据库

Connection  connection =    DriverManager.getConnection("jdbc:

mysql://localhost/Contacts?serverTimezone=UTC", "root", "Cc229654512");

 (3).始建语句

        Statement state = conn.createStatement();

(4).执行SQL语句

ResultSet resultSet=state.executeQuery("select Name, PhoneNumber, Email, QQ, Note from Contacts");

(五).处理结果集

while(resultSet.next())

{

System.out.println(resultSet.getString(1) "t" resultSet.getString(2) "t" resultSet.getString(3));

}

 (陆).关闭连接

     rs.close();

     state.close();

      conn.close();

1二.MVC设计方式

4.重写。

 

13.equals 与 == 的区别

当中重载和重写为着力。

三.成立线程的不二诀窍

 (1)基本数据类型(也称本来数据类型):byte,short,char,int,long,float,double,boolean,他们之间的可比,行使双等号(==),相比的是他俩的值。

(二)复合数据类型(类):当她们用(==)进行相比较的时候,相比较的是他俩在内部存款和储蓄器中的存放地点。所以,除非是同一个new出来的对象,他们的比较后的结果为true,不然相比较后结果为false。 

JAVA当中全部的类都以一而再于Object那么些基类的,在Object中的基类中定义了一个equals的办法,那一个方法的伊始行为是比较对象的内部存款和储蓄器地 址,但在一部分类库个中那个办法被覆盖掉了,如String,Integer,Date在这几个类个中equals有其本人的达成,而不再是相比较类在堆内部存款和储蓄器中的存放地方了。【对此复合数据类型之间开始展览equals比较,在平素不覆写equals方法的事态下,他们之间的可比依旧基于他们在内部存款和储蓄器中的存放地点的地址值的,因为Object的equals方法也是用双等号(==)举行比较的,所以相比较后的结果跟双等号(==)的结果一律。】

值类型是积攒在内部存款和储蓄器中的仓库(简称栈),而引用类型的变量在栈中仅仅是积存引用类型变量的地点,而其自己则存款和储蓄在堆中。所以,==比较的是栈里的地方,而equals比较的是栈里面地址所针对的堆里面包车型客车剧情。

重载:重载爆发在同三个类中,在此类中1旦存在多少个同名方

 

1四.自动装箱与活动拆箱

法,然则方法的参数类型和个数不等同,那么注解该办法被重

Java中享有线程对象都必须是Thread类或其子类的实例。Java能够用二种办法来创制线程,如下所示:
 1承接Thread类创立线程 
 2落成Runnable接口创制线程
 三使用Callable和Future创造线程

一五.设计方式的6大原则   

载了。

 

(1)单壹职务规范

(二)开放封闭原则

(三)里氏替换原则

(四)重视倒置原则

(伍)接口隔绝原则

(陆)迪米特法则

重写:重写产生在子类承继父类的涉嫌中,父类中的方法被子

一般提出选取完成Runnable接口创造线程,因为java只可以单承继,能够多完毕

详解参考此文章设计形式之六大口径(转发) - chenxiangxiang - 天涯论坛

类继承,方法名,重返值类型,参数完全1致,不过方法体不

 

查漏补缺,未完待续

1律,那么注脚父类中的该方法被子类重写了。

  1. String类 能不能够被接续,为啥?

StringBuffer StringBuilder String区别√

无法,因为String 是被 final 修饰的,被 final 修饰的类无法被接续。

String字符串常量 不可变 使用字符串拼接时是见仁见智的二个空中

String 类的写法是这般的public final class String extends Object

StringBuffer字符串变量 可变 线程安全 字符串拼接直接在字符串后扩充

 

StringBuilder字符串变量 可变 非线程安全 字符串拼接直接在字符串后扩张

 

1.StringBuilder进行作用当先StringBuffer高于String.

 

贰.String是二个常量,是不可变的,所以对于每一趟 =赋值都会创制一个新的指标,StringBuffer和StringBuilder都以可变的,当举办字符串拼接时使用append方法,在本来的功底上进展追加,所以质量比String要高,又因为StringBuffer 是线程安全的而StringBuilder是线程非安全的,所以StringBuilder的效用

X .待续。。。想到就来更新,能够留言补充,谢谢。

高于StringBuffer.

①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯⑰⑱⑲⑳

叁.对此大数据量的字符串的拼凑,采取StringBuffer,StringBuilder.

① ② ③ ④ ⑤ ⑥ ⑦ ⑧ ⑨ ⑩ ⑪ ⑫ ⑬ ⑭ ⑮ ⑯ ⑰ ⑱ ⑲ ⑳

Stringbuilder 实行功能要大于stringbuffer更加高于string

 

String是变量 是不可变的 所以在在 = 赋值的时候创造新的目的

Stringbuffer stringbuilder俩个都是可变的,当在字符串拼接的时候能够应用appent方法,在原本的功底上扩张,所以品质比string 越来越高 ,又因为stringbuffer是现存安全的 but stringbuilder是线程非安全的 所以 stringbuilder比stringbuffer成效更低

对此大数据字符串拼接能够选取stringbuffter或是 stringbuilder

Hashtable与HashMap的区别√

HashMap不是线程安全的,HashTable是线程安全。

HashMap允许空的键和值,HashTable则差异意。

HashMap质量优于Hashtable。

Map

一.Map是一个以键值对存款和储蓄的接口。Map下有多少个有血有肉的落到实处,分别是HashMap和HashTable.

2.HashMap是线程非安全的,HashTable是线程安全的,所以HashMap的成效高于HashTable.

三.HashMap允许键或值为空,而HashTable不允许键或值为空.

Map是3个键值的积累接口 , map下还应该有俩个完成各自是 hashmap 和 hashtable

Hashmap线程非安全的 hashtable是线程安全的 所以hashmap要比hashtable功效要高

Hashmap允许键值 为空 可是 hashtable不容许为空

九大隐式对象

输入/输出对象: request response out

作用域通讯对象:session application pageContext

Servlet对象: page config

错误对象:exception

Forword与Redirect

1、从数据共享上

Forword是贰个呼吁的延续,能够共享request的数量

Redirect开启二个新的央浼,不得以共享request的数额

二、从地址栏

Forword转载地址栏不爆发变化

Redirect转载地址栏产生变化

八、JQurey总结

jquery是一个轻量级的js框架,具备跨浏览器的性状,包容性好,

还要封装了繁多工具,方便使用。

常用的有:选取器 ,dom操作 ,ajax ,特效,工具类

XML和Json的特点

Xml特点:

一、有且只有四个根节点;

2、数据传输的载体

3、全体的竹签都亟需自定义

四、是纯文本文件

Json(JavaScript Object Notation)特点:

json分为二种格式:

json对象(就是在{}中积累键值对,键和值时期用冒号分隔,

键值对里面用逗号分隔);

json数组(就是[]中贮存多个json对象,json对象时期用逗号分隔)

(两个间能够开始展览互相嵌套)数据传输的载体之一

区别:

传输一样格式的数码,xml供给利用更加多的字符进行描述,

风行的是依附json的数据传输。

xml的档期的顺序结构比json更清晰。

共同点:

xml和json都以数码传输的载体,并且具备跨平台跨语言的表征。

request.getSession()、reqeust.getSession和 request.getSession

getSession()/getSession:当session存在时回来该session,不然新建一个session并赶回该对象

getSession:当session存在时重回该session,不然重回null

Page和PageContext的区别

Page是servlet对象;使用this关键字,它的效率范围是在同壹页面。

PageContext是功效域通讯对象;平时使用setAttribute()和getAttribute()来安装和获得存放对象的值。

Ajax总结

AJAX全称: 异步JavaScript及 XML(Asynchronous JavaScript And XML)

Ajax的中央是JavaScript对象XmlHttpRequest。

Ajax的优点:

抓实用户体验度

拉长应用程序的属性

拓展一些刷新

AJAX不是1种新的编制程序语言,而是一种用于创制更加好更加快以及交互性越来越强的 Web 应用程序的技巧。

二.经过 AJAX,大家的 JavaScript 可采取JavaScript的XMLHttpRequest对象来直接与服务器举行通讯。通过那些指标,大家的 JavaScript 可在不重载页面包车型大巴事态与Web服务器调换数据,就可以局地刷新。

  1. AJAX在浏览器与 Web 服务器之间使用异步数据传输,那样就可使网页从服务器请求一丢丢的音讯,而不是任何页面,缓慢解决服务器的担任,提高站点的品质。

AJAX可使因特网应用程序更加小、越来越快,更融洽,用户体验好。

  1. Ajax是凭仗标准化并被大面积帮助的技术,并且没有须要插件和下载小程序

JSP九大隐视对象中四个作用域的轻重与功能范围

多个效用域从大到小:appliaction>session>request>page

application:全局意义范围,整个应用程序共享.生命周期为:应用程序运行到截至。

session:会话成效域,当用户第3次访问时,发生一个新的对话,以往服务器就足以记 住那几个会话状态。

request:请求功能域,正是客户端的二回呼吁。

page:一个JSP页面。

如上成效范围使更小,request和page的生命周期都以短暂的,他们之间的界别正是:3个request可以包罗几个page页(include,forward)。

List,Set,Collection,Collections√

[if !supportLists]1.[endif]List和Set都以接口,他们都卫冕于接口Collection,List是贰个静止的可另行的聚集,而Set的严节的不可重复的会集。Collection是聚众的顶层接口,Collections是四个打包了多数有关集合操作的静态方法的工具类,因为构造方法是私有的,所以不能够实例化。

二.List接口兑现类有ArrayList,LinkedList,Vector。ArrayList和Vector是依据数组完成的,所以查询的时候速度快,而在实行追加和删除的时候速度很慢LinkedList是基于链式存款和储蓄结构,所以在进展查询的时候速度相当慢但在开始展览追加和删除的时候速度相当慢。又因为Vector是线程安全的,所以他和ArrayList相比来讲,查询功用要低。

List和set都属于接口 他们都承继于collection

List是多个平稳的 可重复的 set是冬辰得到不可重复的

Collection是聚众的顶层接口 , collections是包裹可众多集结的操作的静态的工具类 因为他是私有化的之所以她不能够实例化

List的接口实现类分为arraylist vertor linkedlist arraylist 和 verson是基于数组完成的,说以询问的时候相当慢 ,可是扩展 与删除 的快慢极慢。 Linkelist是依靠链式存款和储蓄 ,所以查询的时候相当的慢, 扩充与删除数独异常快, 又因为vertor线程安全 所以arraylist比较 效用

借令你仍然感觉多少不解,比不上加入我的Java架构师之路:76652953一跟有多年Java开辟经历的资深程序员聊一聊。也可收获无需付费的录制学习材质以及电子书学习资料喔!

java的基本数据类型

数据类型大小

byte

shot 2

int

long 8

float4

double8

char2

boolean1位

附加:

String是核心数据类型吗?(String不是主导数据类型)

本文由68399皇家赌场发布于集成经验,转载请注明出处:写给自己的面试题,Java个人知识点总结

关键词: 68399皇家赌场 java 基础 面试 知识点

上一篇:皇家国际娱乐生成证书请求和自建CA

下一篇:没有了

最火资讯