AG游戏网站_亚洲最佳百家乐游戏平台_AG环亚集团_搜狐娱乐

IT技术问答

Java个人知识点总结(根底篇)

文章来源:http://www.thewebtvdb.com    时间:2018-11-14

  导读:根底篇JDK常用的包 java.lang:这个是体系的根底类,比方String、Math、Integer、System和Thread, 供给常用功用。 java.io:这里边是一切输入输出有关的类,比方文件操作等 java.

根底篇

JDK常用的包

java.lang:这个是体系的根底类,比方String、Math、Integer、System和Thread, 供给常用功用。

java.io:这里边是一切输入输出有关的类,比方文件操作等

java.net:这里边是与网络有关的类,比方URL,URLConnection等。

java.util:这个是体系辅佐类,特别是调集类Collection,List,Map等。

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

Get和Post的差异

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

2.get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默以为不受约束。

3.get安全性十分低,post安全性较高。可是履行功率却比Post办法好。

4.在进行文件上传时只能运用post而不能是get。

Java多态的具体表现?

面向目标编程有四个特征:笼统,封装,承继,多态。

多态有四种表现办法:

1. 接口和接口的承继。

2. 类和类的承继。

3. 重载。

4. 重写。

其间重载和重写为中心。

重载:重载发作在同一个类中,在该类中假如存在多个同名方

法,可是办法的参数类型和个数不相同,那么阐明该办法被重

载了。

重写:重写发作在子类承继父类的联系中,父类中的办法被子

类承继,办法名,回来值类型,参数彻底相同,可是办法体不

相同,那么阐明父类中的该办法被子类重写了。

StringBuffer StringBuilder String差异 √

String字符串常量 ??不行变 ?运用字符串拼接时是不同的2个空间

StringBuffer字符串变量 ??可变 ??线程安全 ?字符串拼接直接在字符串后追加

StringBuilder字符串变量 ??可变 ??非线程安全 ?字符串拼接直接在字符串后追加

1.StringBuilder履行功率高于StringBuffer高于String.

2.String是一个常量,是不行变的,所以关于每一次+=赋值都会创立一个新的目标, StringBuffer和StringBuilder都是可变的,当进行字符串拼接时选用append方 法,在本来的根底上进行追加,所以功能比String要高,又由于StringBuffer ?是 线程安全的而StringBuilder是线程非安全的,所以StringBuilder的功率

高于 StringBuffer.

3.关于大数据量的字符串的拼接,选用StringBuffer,StringBuilder.

Stringbuilder 履行功率要高于stringbuffer更高于string

String是变量 是不行变的 所以在在+ = 赋值的时分创立新的目标

Stringbuffer stringbuilder俩个都是可变的,当在字符串拼接的时分能够选用appent办法,在原有的根底上追加,所以功能比string 更高 ?,又由于stringbuffer是现成安全的 ??but ????stringbuilder是线程非安全的 ?所以 ?stringbuilder比stringbuffer功率更低? ?

关于大数据字符串拼接能够选用stringbuffter或是 stringbuilder

Hashtable与HashMap的差异 √

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

?????HashMap答应空(null)的键和值(key),HashTable则不答应。

?????HashMap功能优于Hashtable。

Map

1.Map是一个以键值对存储的接口。Map下有两个具体的完结,分别是HashMap和HashTable.

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

3.HashMap答应键或值为空,而HashTable不答应键或值为空.


Map是一个键值的存储接口 ?, ?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的数据

2、从地址栏

Forword转发地址栏不发作改变

Redirect转发地址栏发作改变

八、JQurey总结 ?

?jquery是一个轻量级的js结构,具有跨阅读器的特性,兼容性好,

?而且封装了许多东西,方便运用。

?常用的有:挑选器 ,dom操作 ,ajax(ajax不能跨域) ,特效,东西类?

XML和Json的特色

Xml特色:

1、有且只要一个根节点;

2、数据传输的载体

3、一切的标签都需求自界说

4、是纯文本文件

Json(JavaScript Object Notation)特色:

json分为两种格局:

json目标(就是在{}中存储键值对,键和值之间用冒号分隔,

键值对之间用逗号分隔);

json数组(就是[]中存储多个json目标,json目标之间用逗号分隔)

(两者间能够进行彼此嵌套)数据传输的载体之一

差异:

传输相同格局的数据,xml需求运用更多的字符进行描绘,

盛行的是依据json的数据传输。

xml的层次结构比json更明晰。


共同点:

xml和json都是数据传输的载体,而且具有跨渠道跨言语的特性。

request.getSession()、reqeust.getSession(false)和?????request.getSession(true)

getSession()/getSession(true):当session存在时回来该session,不然新建一个?????session并回来该目标

getSession(false):当session存在时回来该session,不然回来null

Page和PageContext的差异

????Page是servlet目标;运用this关键字,它的作用规模是在同一页面。

PageContext是作用域通讯目标;一般运用setAttribute()和getAttribute()来设置和获取寄存目标的值。

Ajax总结

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

Ajax的中心是JavaScript目标XmlHttpRequest(XHR)。

Ajax的长处:

进步用户体会度(UE)

进步应用程序的功能

进行部分改写

AJAX不是一种新的编程言语,而是一种用于创立更好更快以及交互性更强的 Web 应用程序的技能。

2.经过 AJAX,咱们的 JavaScript 可运用JavaScript的XMLHttpRequest目标来直接与服务器进行通讯。经过这个目标,咱们的 JavaScript 可在不重载页面的状况与Web服务器沟通数据,即可部分改写。

3. ?AJAX在阅读器与 Web 服务器之间运用异步数据传输(HTTP 恳求),这样就可使网页从服务器恳求少数的信息,而不是整个页面,减轻服务器的担负,提高站点的功能。

AJAX可使因特网应用程序更小、更快,更友爱,用户体会(UE)好。

5. ?Ajax是依据规范化并被广泛支撑的技能,而且不需求插件和下载小程序

JSP9大隐视目标中四个作用域的巨细与作用规模

???四个作用域从大到小:appliaction session request page

application:大局作用规模,整个应用程序同享.生命周期为:应用程序启动到中止。

session:会话作用域,当用户初次拜访时,发作一个新的会话,今后服务器就能够记??????????????住这个会话状况。

request:恳求作用域,就是客户端的一次恳求。

page:一个JSP页面。

以上作用规模使越来越小,request和page的生命周期都是时刻短的,他们之间的差异就是:一个request能够包含多个page页(include,forward)。

List,Set,Collection,Collections √

[if !supportLists]1.[endif]List和Set都是接口,他们都承继于接口Collection,List是一个有序的可重复的调集,而Set的无序的不行重复的调集。Collection是调集的顶层接口,Collections是一个封装了许多关于调集操作的静态办法的东西类,由于结构办法是私有的,所以不能实例化。

2.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架构师之路:766529531 跟有多年Java开发经历的资深工程师聊一聊。也可获取免费的视频学习材料以及电子书学习材料喔!

java的根本数据类型

数据类型 巨细

byte(字节) 1(8位)

shot(短整型) 2(16位)

int(整型) 4(32位)

long(长整型) 8(32位)

float(浮点型) 4(32位)

double(双精度) 8(64位)

char(字符型) 2(16位)

boolean(布尔型) 1位

附加:

String是根本数据类型吗?(String不是根本数据类型)

String的长度是多少,有约束?(长度受内存巨细的影响)

冒泡排序

public class Sort {

public static void sort() {

Scanner input = new Scanner(System.in);

int sort[] = new int[10];

int temp;

System.out.println("请输入10个排序的数据:");

for (int i = 0; i sort.length; i++) {

sort[i] = input.nextInt();

}

for (int i = 0; i sort.length - 1; i++) {

for (int j = 0; j sort.length - i - 1; j++) {

if (sort[j] sort[j + 1]) {

temp = sort[j];

sort[j] = sort[j + 1];

sort[j + 1] = temp;

}

}

}

System.out.println("摆放后的次序为:");

for(int i=0;i sort.length;i++){

System.out.print(sort[i]+" ??");

}

}

public static void main(String[] args) {

sort();

}

}


二分查找法

十八、时刻类型转化

public class DateFormat {

public static void fun() {

SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");

String newDate;

try {

newDate = sdf.format(new SimpleDateFormat("yyyyMMdd")

.parse("20121115"));

System.out.println(newDate);

} catch (ParseException e) {

e.printStackTrace();

}

}

public static void main(String args[]) {

fun();

}

}


阶乘

public class Multiply {

public static int multiply(int num) {

if (num 0) {

System.out.println("请输入大于0的数!");

return -1;

} else if (num == 0 || num == 1) {

return 1;

} else {

return multiply(num - 1) * num;

}

}

public static void main(String[] args) {

System.out.println(multiply(10));

}

}


UE和UI的差异

UE是用户体会度

UI界面原型(用户界面)(相当于买房时用的模型)


规划UI的作用:

1、协助程序员作业(界面已由美工规划完结)

2、提早让用户对项目有个微观的了解,知道作用是什么姿态。


osi七层模型

第一层:物理层

第二层:数据链路层

第三层:网络层

第四层:传输层

第五层:会话层

第六层:表明层

第七层:应用层

线程和进程的差异

1.线程(Thread)与进程(Process)

进程界说的是应用程序与应用程序之间的鸿沟,一般来说一个进程就代表一个与之对应的应用程序。不同的进程之间不能同享代码和数据空间,而同一进程的不同线程能够同享代码和数据空间。

假如你仍然觉得有些茫然,不如参加我的Java架构师之路:766529531?跟有多年Java开发经历的资深工程师聊一聊。也可获取免费的视频学习材料以及电子书学习材料喔!

1、一个进程能够包含若干个线程,一起创立多个线程来完结某项使命,就是多线程。

2、完结线程的两种办法:承继Thread类,完结Runable接口

jvm的内存结构

1、java虚拟机的内存结构分为堆(heap)和栈(stack),堆里边寄存是目标实例也就是new出来的目标。栈里边寄存的是根本数据类型以及引证数据类型的地址。

2、关于所谓的常量是存储在办法区的常量池里边。


内存走漏和内存溢出

内存走漏(memory leak),是指应用程序在请求内存后,

无法开释现已请求的内存空间.一次内存走漏损害能够疏忽,

但假如任其发展最终会导致内存溢出(out of memory).

如读取文件后流要进行及时的封闭以及对数据库衔接的开释。

内存溢出(out of memory)是指应用程序在请求内存时,

没有满足的内存空间供其运用。

如咱们在项目中关于大批量数据的导入,选用分段批量提交的办法。


单例

单例就是该类只能回来一个实例。

单例所具有的特色:

1.私有化的结构函数

2.私有的静态的大局变量

3.公有的静态的办法

单例分为懒汉式、饿汉式和双层锁式

饿汉式:

public class Singleton1 {

??????private Singleton1() {};

??????private static Singleton1 single = new Singleton1();

??????public static Singleton1 getInstance() {

??????????return single;

?????}

?}


懒汉式:

public class Singleton2 {

??????private Singleton2() {}

??????private static Singleton2 single=null;

??????public tatic Singleton2 getInstance() {

???????????if (single == null) { ?

??????????????single = new Singleton2();

??????????} ?

?????????return single;

?????}

?}

线程安全:

public class Singleton3 {

??private Singleton3() {}

??private static Singleton3 single ;

??public static Singleton3 getInstance() {

if(null == single){

synchronized(single ){

if(null == single){

single = new Singleton3();

}

}

}

return single;

??}

}


参阅:

经过两层判别来确保单列规划形式在多线程中的安全性,

而且它在功能方面进步了许多。

synchronized在办法上加锁 (同步锁)

synchronized在代码块内部加锁 (同步代码块)

synchronized(同步锁)

运用synchronized怎么处理线程安全的问题?

1.synchronized在办法上加锁

2.synchronized在代码块内部加锁

1.懒汉 ?2.饿汉 3.两层判别

解析xml文件的几种技能

1、 解析xml的几种技能

????????1.dom4j

????????2.sax

????????3.jaxb

????????4.jdom

????????5.dom

1.dom4j ???????

dom4j是一个Java的XML API,类似于jdom,用来读写XML文件的。dom4j是一个十分优异的Java XML API,具有功能优异、功用强大和极点易用运用的特色,一起它也是一个开放源代码的软件。

?2.sax

SAX(simple API for XML)是一种XML解析的代替办法。比较于DOM,SAX是一种速度更快,更有用的办法。它逐行扫描文档,一边扫描一边解析。而且比较于DOM,SAX能够在解析文档的恣意时刻中止解析,但任何事物都有其相反的一面,关于SAX来说就是操作杂乱。

? 3.jaxb

JAXB(Java Architecture for XML Binding) 是一个业界的规范,是一项能够依据XML Schema发作Java类的技能。该过程中,JAXB也供给了将XML实例文档反向生成Java目标树的办法,并能将Java目标树的内容从头写到XML实例文档。从另一方面来讲,JAXB供给了快速而简洁的办法将XML形式绑定到Java表明,然后使得Java开发者在Java应用程序中能方便地结合XML数据和处理函数。

2、dom4j 与 sax 之间的比照:【注:有必要把握!】

dom4j不适合大文件的解析,由于它是一会儿将文件加载到内存中,所以有或许呈现内存溢出,

sax是依据事情来对xml进行解析的,所以他能够解析大文件的xml

也正是由于如此,所以dom4j能够对xml进行灵敏的增修改查和导航,而sax没有这么强的灵敏性

所以sax常常是用来解析大型xml文件,而要对xml文件进行一些灵敏(crud)操作就用dom4j

假如你仍然觉得有些茫然,不如参加我的Java架构师之路:766529531?跟有多年Java开发经历的资深工程师聊一聊。也可获取免费的视频学习材料以及电子书学习材料喔!

项目的生命周期

????1.需求剖析

2.概要规划

3.具体规划(用例图,流程图,类图)

4.数据库规划(powerdesigner)

5.代码开发(编写)

6.单元测验(junit 白盒测验)(开发人员)

svn版别管理东西(提交,更新代码,文档)

7.集成测验 (黑盒测验,loadrunner(编写测验脚本)(高档测验))

8.上线试运转 (用户自己体会)

9.压力测验(loadrunner)

10.正式上线

11.保护

OSCache的判别

Object obj = CacheManager.getInstance().getObj("oaBrandList");

//从缓存中取数据

if (null == obj) ?{

obj = brandDao.getBrandList();

//假如为空再从数据库获取数据

//获取之后放入缓存中

CacheManager.getInstance().putObj("oaBrandList", obj);

}

return (List OaBrand )obj;

常常拜访的技能网站

1.csdn(具体过程的描绘)

2.iteye(具体过程的描绘)

3.oschina(开源我国获取java开源方面的信息技能)

4.java开源大全 www.open-open.com(获取java开源方面的信息技能)

5.infoq(对java,php,.net等这些言语的一些最新消息的报导)


项目团队中沟通的东西

飞秋(局域网) qq(局域网,外网)

RTX(局域网,外网) 邮箱(局域网,外网)

平常阅读的书本

实战经历:

*** in action(实战)

***浅显易懂

***入门攻略

思维根底:

鬼话规划形式 重构


java Exception体系结构

java反常是程序运转过程中呈现的过错。Java把反常当作目标来处理,并界说一个基类java.lang.Throwable作为一切反常的超类。在Java API中界说了许多反常类,分为两大类,过错Error和反常Exception。其间反常类Exception又分为运转时反常(RuntimeException)和非运转时反常(非runtimeException),也称之为不查看反常(Unchecked Exception)和查看反常(Checked Exception)。

1、Error与Exception

Error是程序无法处理的过错,比方OutOfMemoryError、ThreadDeath等。

这些反常发作时,Java虚拟机(JVM)一般会挑选线程停止。

Exception是程序自身能够处理的反常,这种反常分两大类运转时反常和非运转时反常。程序中应当尽或许去处理这些反常。

2、运转时反常和非运转时反常 ?????

运转时反常:都是RuntimeException类及其子类反常: ??? IndexOutOfBoundsException索引越界反常

ArithmeticException:数学核算反常

NullPointerException:空指针反常

ArrayOutOfBoundsException:数组索引越界反常

ClassNotFoundException:类文件未找到反常

ClassCastException:造型反常(类型转化反常)

这些反常是不查看反常(Unchecked Exception),程序中能够挑选捕获处理,也能够不处理。这些反常一般是由程序逻辑过错引起的。

非运转时反常:是RuntimeException以外的反常,类型上都归于Exception类及其子类。从程序语法视点讲是有必要进行处理的反常,假如不处理,程序就不能编译经过。如:

IOException、文件读写反常

FileNotFoundException:文件未找到反常

? EOFException:读写文件尾反常

MalformedURLException:URL格局过错反常

SocketException:Socket反常

SQLException:SQL数据库反常


session和cookie的差异

session是存储在服务器端,cookie是存储在客户端的,所以安全来讲session的安全性要比cookie高,然后咱们获取session里的信息是经过寄存在会话cookie里的sessionid获取的。又由于session是寄存在服务器的内存中,所以session里的东西不断添加会形成服务器的担负,所以会把很重要的信息存储在session中,而把一些非必须东西存储在客户端的cookie里,然后cookie切当的说分为两大类分为会话cookie和耐久化cookie,会话cookie切当的说是寄存在客户端阅读器的内存中,所以说他的生命周期和阅读器是共同的,阅读器关了会话cookie也就消失了,可是耐久化cookie是寄存在客户端硬盘中,而耐久化cookie的生命周期就是咱们在设置cookie时分设置的那个保存时刻,然后咱们考虑一问题当阅读器封闭时session会不会丢掉,从上面叙说剖析session的信息是经过sessionid获取的,而sessionid是寄存在会话cookie傍边的,当阅读器封闭的时分会话cookie消失所以咱们的sessionid也就消失了,可是session的信息还存在服务器端,这时咱们仅仅查不到所谓的session但它并不是不存在。那么,session在什么状况下丢掉,就是在服务器封闭的时分,或许是sessio过期,再或许调用了invalidate()的或许是咱们想要session中的某一条数据消失调用session.removeAttribute()办法,然后session在什么时分被创立呢,切当的说是经过调用session.getsession来创立,这就是session与cookie的差异

字节省与字符流的差异

stream结束都是字节省,reader和writer结束都是字符流

两者的差异就是读写的时分一个是按字节读写,一个是按字符。

实际运用一般差不多。

在读写文件需求对内容按行处理,比方比较特定字符,处理某一行数据的时分一般会挑选字符流。

仅仅读写文件,和文件内容无关的,一般挑选字节省。


final,finally,finalize三者差异

Final是一个润饰符:

当final润饰一个变量的时分,变量变成一个常量,它不能被二次赋值

当final润饰的变量为静态变量(即由static润饰)时,有必要在声明这个变 量的时分给它赋值

当final润饰办法时,该办法不能被重写

当final润饰类时,该类不能被承继

Final不能润饰笼统类,由于笼统类中会有需求子类完结的笼统办法,(抽 象类中能够有笼统办法,也能够有一般办法,当一个笼统类中没有笼统方 法时,这个笼统类也就没有了它存在的必要)

Final不能润饰接口,由于接口中有需求其完结类来完结的办法

Finally:

Finally只能与try/catch句子结合运用,finally句子块中的句子一定会履行,而且会在return,continue,break关键字之前履行

finalize:

Finalize是一个办法,归于java.lang.Object类,finalize()办法是GC(garbage collector废物收回)运转机制的一部分,finalize()办法是在GC整理它所隶属的目标时被调用的

Io流的层次结构

从流的方向

输入流 输出流

从流的类型上

字符流字节省

inputstream和outputstream都是笼统类

它们下面的完结包含

FileInputStream,BufferedInputStream

FileOutputStream,BufferedOutputStream

reader和 writer

FileReader,BufferedReader,StringReader

FileWriter,BufferedWriter,StringWriter,PrintWriter


本文源自: AG游戏网站

上一篇:当前日期的周日日期如何取得
下一篇:没有了
版权所有: Copyright ©2007-2018 AG游戏网站_亚洲最佳百家乐游戏平台_AG环亚集团_搜狐娱乐