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.

Hashtable与HashMap的区别

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

HashMap允许空(null)的键和值(key),HashTable则不允许。

HashMap性能优于Hashtable。

Map

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

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

3.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

List和Set都是接口,他们都继承于接口Collection,List是一个有序的可重复的集合,而Set的无序的不可重复的集合。Collection是集合的顶层接口,Collections是一个封装了众多关于集合操作的静态方法的工具类,因为构造方法是私有的,所以不能实例化。

2.List接口实现类有ArrayList,LinkedList,Vector。ArrayList和Vector是基于数组实现的,所以查询的时候速度快,而在进行增加和删除的时候速度较慢LinkedList是基于链式存储结构,所以在进行查询的时候速度较慢但在进行增加和删除的时候速度较快。又因为Vector是线程安全的,所以他和ArrayList相比而言,查询效率要低。

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

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、提前让用户对项目有个宏观的了解,知道效果是什么样子。

java程序员基础篇,纯干货

本文仍有后续,详情请关注


分享到:


相關文章: