ervlet总结: 在Java Web程序中,Servlet主要负责接收用户请求HttpServletRequest,在doGet(),doPost()中做相应的处理,并将回应HttpServletResponse反馈给用户.Servlet可以设置初始化参数,供Servlet内部使用.一个Servlet类只会有一个实例,在它初始化时调用init()方法,销毁时调用destroy()方法.Servlet需要在web.xml中配置(MyEclipse中创建Servlet会自动配置),一个Servle…
系列文章请查看: 超详细的Java面试题总结(一)之Java基础知识篇 超详细的Java面试题总结(二)之Java基础知识篇 超详细的Java面试题总结(三)之Java集合篇常见问题 超详细的Java面试题总结(四 )之JavaWeb基础知识总结 下面的都是自己之前在学习JavaWeb的时候总结的,对于巩固JavaWeb的基础知识应该有很大帮助.后面还会把框架的面试题总结一下. Servlet总结: 在Java Web程序中,Servlet主要负责接收用户请求HttpServletRequest…
List,Set,Map三者的区别及总结 List:对付顺序的好帮手 List接口存储一组不唯一(可以有多个元素引用相同的对象),有序的对象 Set:注重独一无二的性质 不允许重复的集合.不会有多个元素引用相同的对象. Map:用Key来搜索的专家 使用键值对存储.Map会维护与Key有关联的值.两个Key可以引用相同的对象,但Key不能重复,典型的Key是String类型,但也可以是任何对象. Arraylist 与 LinkedList 区别 Arraylist底层使用的是数组(存读数据效率…
多线程和Java虚拟机 创建线程有几种不同的方式?你喜欢哪一种?为什么? 继承Thread类 实现Runnable接口 应用程序可以使用Executor框架来创建线程池 实现Callable接口. 我更喜欢实现Runnable接口这种方法,当然这也是现在大多程序员会选用的方法.因为一个类只能继承一个父类而可以实现多个接口.同时,线程池也是非常高效的,很容易实现和使用. 简述线程,程序.进程的基本概念.以及他们之间关系是什么?(参考书籍:<Java程序设计基础>第五版) 线程与进程相似,但线程是…
面向对象和面向过程的区别 面向过程:   优点:性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机.嵌入式开发.Linux/Unix等一般采用面向过程开发,性能是最重要的因素. 缺点:没有面向对象易维护.易复用.易扩展 面向对象:   优点:易维护.易复用.易扩展,由于面向对象有封装.继承.多态性的特性,可以设计出低耦合的系统,使系统更加灵活.更加易于维护 缺点:性能比面向过程低 Java语言有哪些特点?   1,简单易学:2,面向对象(封装,继承,多态):3,平台无…
J2EE进阶(十四)超详细的Java后台开发面试题之Spring IOC与AOP 前言   搜狐畅游笔试题中有一道问答题涉及到回答谈谈对Spring IOC与AOP的理解.特将相关内容进行整理.   IOC和AOP是Spring中的两个核心的概念,下面谈谈对这两个概念的理解. 1. IOC(Inverse of Control):控制反转,也可以称为依赖倒置.   所谓依赖,从程序的角度看,就是比如A要调用B的方法,那么A就依赖于B,反正A要用到B,则A依赖于B.所谓倒置,你必须理解如果不倒置,…
Java做acm所需要的基础知识. 以前做acm的题都是用C/C++来写代码的,在学习完Java之后突然感觉Java中的方法比C/C++丰富很多,所以就整理一下平时做题需要用到的Java基础知识. 1.Arrays.sort() (1)数字排序 int[] num =new int[]{4,2,3,5,-8,5,2,3}; Arrays.sort(num); for(int i = 0; i < 8;i++) System.out.print(num[i]+”,”); 输出结果:-8,2,2,3…
package com.td.util; import java.sql.Timestamp; import java.text.ParseException; import java.text.ParsePosition; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; import java.util.Gregori…
JAVA相关基础知识 1.面向对象的特征有哪些方面 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节.抽象包括两个方面,一是过程抽象,二是数据抽象. 2.继承: 继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法.对象的一个新类可以从现有的类中派生,这个过程称为类继承.新类 继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(…
JAVA相关基础知识1.面向对象的特征有哪些方面 1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节.抽象包括两个方面,一是过程抽象,二是数据抽象.2.继承:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法.对象的一个新类可以从现有的类中派生,这个过程称为类继承.新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类).派…
JAVA相关基础知识1.面向对象的特征有哪些方面 1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节.抽象包括两个方面,一是过程抽象,二是数据抽象.2.继承:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法.对象的一个新类可以从现有的类中派生,这个过程称为类继承.新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类).派…
说起网络爬虫,大家想起的估计都是 Python ,诚然爬虫已经是 Python 的代名词之一,相比 Java 来说就要逊色不少.有不少人都不知道 Java 可以做网络爬虫,其实 Java 也能做网络爬虫而且还能做的非常好,在开源社区中有不少优秀的 Java 网络爬虫框架,例如 webmagic .我的第一份正式工作就是使用 webmagic 编写数据采集程序,当时参与了一个舆情分析系统的开发,这里面涉及到了大量网站的新闻采集,我们就使用了 webmagic 进行采集程序的编写,由于当时不知道其设…
开篇:JAVASCRIPT是AJAX技术中不可或缺的一部分,所以想学好AJAX以及现在流行的AJAX框架,学好JAVASCRIPT是最重要的.这章我给大家整理了一些JAVASCRIPT的基础知识.常用代码和事件汇总. 一.基础知识: 1.document.write(""); 输出语句2.JS中的注释为//3.传统的HTML文档顺序是:document->html->(head,body)4.一个浏览器窗口中的DOM顺序是:window->(navigator,scr…
/** * * 网络编程的基础知识 * 网络协议与TCP/IP * IP地址和Port(端口号) * 本地回路的IP地址:127.0.0.1 * 端口号的范围为0-65535之间,0-1023之间的端口数是用于一些知名的网络服务和应用 * UDP与TCP * TCP,传输控制协议(Transmission Control Protocol),是面向连接的通信协议 * UDP,用户数据报协议(User Datagram Protocol),是无连接通信协议 * * TCP UDP的数据帧格式简单图…
这里是参考B站上的大佬做的面试题笔记.大家也可以去看视频讲解!!! 文章目录 1.面向对象 2.JDK.JRE.JVM区别和联系 3.==和equals 4.final 5.String .StringBuffer.StringBuilder区别及使用场景 6.重载和重写的区别 7.接口和抽象类 8.List和Set 9.hashcode和equals 10.ArrayList和Linkedlist 11.HashMap和HashTable的区别及底层实现 12.ConcurrentHashMa…
1 集合 1.1 为什么会出现集合框架 [1] 之前的数组作为容器时,不能自动拓容 [2] 数值在进行添加和删除操作时,需要开发者自己实现添加和删除. 1.2 Collection接口 1.2.1 Collection基础API Java集合框架提供了一套性能优良.使用方便的接口和类,它们位于java.util包中. Collection表示集合的根接口,可以看成一个容器,存储了很多对象,这些对象称为Collection元素.Collection要求元素必须是引用数据类型. Collection…
目录(?)[-] 一扩展javalangThread类 二实现javalangRunnable接口 三Thread和Runnable的区别 四线程状态转换 五线程调度 六常用函数说明 使用方式 为什么要用join方法 七常见线程名词解释 八线程同步 九线程数据传递 本文主要讲了java中多线程的使用方法.线程同步.线程数据传递.线程状态及相应的一些线程函数用法.概述等. 首先讲一下进程和线程的区别: 进程:每个进程都有独立的代码和数据空间(进程上下文),进程间的切换会有较大的开销,一个进程包含1…
看技术博客时,看到关于java反射的博文,写的非常好.猛击下面的地址,开始java反射之旅 中文翻译地址:http://ifeve.com/java-reflection/ 英文原版地址:http://tutorials.jenkov.com/java-reflection/index.html…
转自于:https://zhuanlan.zhihu.com/p/39522575 1.tomcat的优化方式?回答:Tomcat的优化我准备从三方面来说: 第一部分: 内存优化Tomcat的默认内存配置比较低,不用说大项目,就算是小项目,并发量达到一定程度也就可能会抛出OutOfMemoryError异常,为了解决这个问题,我们要修改JVM的一些配置,在tomcat的bin目录下的catalina配置文件中,配置Xms和Xmx,也就是Java虚拟机初始化时堆的最小内存和最大内存,这俩值通常会配…
1.讲一下Servlet的执行过程,doGet和doPost的区别. 执行过程: 比如注解配置版本,先继承httpServlet,一旦发送get请求 调用,再执行post方法. doGet和doPost的区别: 功能上:doGet是处理get请求,doPost是处理post请求. 表现上:doGet用于地址栏的提交,doPost用于表单的提交,且不 在地址栏上显示,所以更安全. 数据上:页面提交数据的时候,get的数据大小是4K,post没有限制. 说明: Servlet的执行过程也是Servl…
1.web服务器与HTTP协议 Web服务器 l WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源. l Internet上供外界访问的Web资源分为: • 静态web资源(如html 页面):指web页面中供人们浏览的数据始终是不变. • 动态web资源:指web页面中供人们浏览的数据是由程序产生的,不同时间点访问web页面看到的内容各不相同. l 静态web资源开发技术 • Html l 常用动态web资源开发技术: • JSP/Servlet.ASP…
java 为用户提供了十分完善的网络功能: 1. 获取网络上的各种资源(URL) 2. 与服务器建立连接和通信(ServerSocket和Socket) 3. 无连接传递本地数据(DatagramSocket) 所有的这些有关功能都定义在java.net包中,下面详细的介绍下: 第一: URL:通过URL网络资源的表达形式确定数据在网络中的位置,利用URL对象中提供的相关方法,直接读入网络中的数据,将本地数据传输到网络的另一端. 下面的例子是使用URL对象获取本地某程序的配置文件并打印. 第二.…
嗨喽,小乐又来了,今天要给大家送上的技术文章是Java重点知识-IO流. 先来看看IO流的思维导图吧. 一. File 在Java中,Everything is Object!所以在文件中,也不例外!在Java中,可以用 File类来表示一个与硬盘上文件联系!!!注意: 1.File仅代表一个联系,可能文件存在,也可能不存在: 2.这里的文件可以是文件,也可以是文件夹: 在常用类中已经详细讲过File,此处不在讲解 二. IO流 1.流概念 流即流动.流向,从一端流向另一端.如水流:从山里流向到…
1 类型基础 面试出现频率:基本上肯定出现 重要程度:10/10,身家性命般重要.通常这也是各种招聘工作的第一个要求,即“熟悉C#”的一部分.连这部分都不清楚的人,可以说根本不知道自己每天都在干什么.就如同你在一个投行面试别人,问他的职业目标是什么,他说,我的职业目标就是进入投行.但你问他投行是做什么的,有什么业务,他却不知道.在你多番追问下,他才老老实实答出来,我的职业目标其实是赚大钱,而投行里边的人,似乎好像都很有钱的样子.而事实却是,投行的后台相对不那么有钱(当然比普通人还是有钱一点).我…
2 类型转换 面试出现频率:主要考察装箱和拆箱.对于有笔试题的场合也可能会考一些基本的类型转换是否合法. 重要程度:10/10 CLR最重要的特性之一就是类型安全性.在运行时,CLR总是知道一个对象是什么类型.对于基元类型之间的相互转换,可以显式或者隐式执行,例如将一个int转换为long.但如果将精度较大的类型转化为精度较小的类型,必须显式执行,且可能会丢失精度,但不会发生异常.可以利用checked关键字强制掷出OverflowException异常. CLR允许将一个对象转化为它的任何基类…
下图展示了Java容器类库的完备图,包括抽象类和遗留构件(不包括Queue的实现). 常用的容器用黑色粗线框表示,点线框表示接口,虚线框表示抽象类,实线框表示类,空心箭头表示实现关系.Produce表示任意的Map对象可以生成Collection对象,任意的Collection对象可以生成Iterator对象. 最后以表格的形式总结List.Set.Map接口及各实现类的特性:   特性 实现类 实现类特性 对放置的元素的要求 List 线性.有序的存储容器,可通过索引访问元素get(n) Ar…
枚举类是在java 5后新增的,可以用于封装常量,并且还可以为常量的使用提供一些方法. 定义枚举类的语法: public enum EnumName{ 成员1(A,B...),成员2(A,B...),成员3(A,B....)........;//A,B可以没有,若A,B...都不存在,则就不会有本行代码之后的所有成员及相应方法 private Type A; private Type B; ...... private EnumName(Type a,Type b.......) //此处参数个…
描述 题目和答案来自于阿里云大学 - 知乎专栏 题目 现在有如下一段代码 public class Test { public int aMethod() { static int i=0; i++; return i; } public static void main(String args[]) { Test test = new Test(); test.aMethod(); int j = test.aMethod(); System.out.println(j); } } 将产生哪种…
1.线程与多线程的概念:在一个程序中,能够独立运行的程序片段叫作“线程”(Thread).多线程(multithreading)是指从软件或者硬件上实现多个线程并发执行的技术. 2.多线程的意义:多线程可以在时间片里被cpu快速切换,资源能更好被调用.程序设计在某些情况下更简单.程序响应更快.运行更加流畅. 2.如何启动一个线程:继承Thread类.实现Runnable接口.实现Callable接口 3.为什么要保证线程的同步?:java允许多线程并发控制,当多个线程同时操作一个可共享的资源变量…
1.并发 <1>使用并发的一个重要原因是提高执行效率.由于I/O等情况阻塞,单个任务并不能充分利用CPU时间.所以在单处理器的机器上也应该使用并发. <2>为了实现并发,操作系统层面提供了.但是进程的数量和开销都有限制,并且多个进程之间的数据共享比较麻烦.另一种比较轻量的并发实现是使用线程,一个进程可以包含多个线程.线程在进程中没有数量限制, 数据共享相对简单.线程的支持跟语言是有关系的.Java 语言中支持多线程. <3>Java 中的多线程是抢占式的.这意味着一个任…