- Spring MVC 面试题及答案整理,最新面试题
扫地僧009
互联网大厂面试题springmvcjava面试
SpringMVC中的DispatcherServlet是什么,它如何工作?DispatcherServlet是SpringMVC中的核心组件,负责协调不同的请求处理器。它的工作流程包括:1、请求接收:接收HTTP请求,并将其转发到相应的处理器。2、处理器映射:根据请求查找合适的Controller。3、调用适当的处理器:执行处理器逻辑并返回ModelAndView对象。4、视图渲染:将Model
- JSP + TAG 实现分页(Tomcat 9)
xiaoyustudiowww
javajava-eetomcat前端jsp
=========java文件packageorg.rain.tag;importjava.io.IOException;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.jsp.JspException;importjavax.servlet.jsp.PageContext;importjavax.servlet.js
- Spring MVC框架二:创建第一个MVC程序
嘵奇
SpringMVCspringmvcjava
精心整理了最新的面试资料,有需要的可以自行获取点击前往百度网盘获取点击前往夸克网盘获取有两种方式利用配置1、利用IDEA新建一个Maven项目,添加一个web支持2、导入常用的依赖junitjunit4.12org.springframeworkspring-webmvc5.1.9.RELEASEjavax.servletservlet-api2.5javax.servlet.jspjsp-api
- 使用Filter实现CORS跨域请求
阿湯哥
spring
在JavaWeb应用中,可以通过自定义Filter来处理跨域请求,主要涉及设置CORS(跨域资源共享)相关的HTTP响应头。以下是详细实现步骤:实现跨域处理的Filter示例importjavax.servlet.*;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;im
- IntelliJ IDEA配置 tomcat
太阳上的雨天
JAVAjavaidea
创建测试项目HttpServletDemo打开IDEA新建一个maven项目,按图中选择之后,点击下一步填写项目名字,位置,Groupid,点击下一步配置Maven的相关目录配置tomcat
- SpringMVC-注解配置
zl979899
SSMjavaspring
代替web.xml在Servlet3.0环境中,容器会在类路径中查找实现javax.servlet.ServletContainerInitializer接口的类,如果找到的话就用它来配置Servlet容器,这个类反过来又会查找实现WebApplicationInitializer的类并将配置的任务交给它们来完成Spring3.2引入了一个便利的WebApplicationInitializer基
- Tomcat体系架构第一篇
gaochaojin
TomcatJavaTomcat
一、Tomcat的定义Tomcat是一款开源轻量级Web应用服务器,是一款优秀的Servlet容器实现。Servlet是JavaServlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,具有独立于平台和协议的特性,主要功能在于交互地浏览和生成数据,生成动态Web内容。Servlet严格来讲是指Java语言实现的一个接口,一般情况下我们说的Servlet是指实现了这个Servl
- SpringMVC--10Spring MVC执行流程
sisyphoslee
SpringMVCmvcspring
SpringMVC执行流程核心代码publicclassDispatcherServletextendsFrameworkServlet{protectedvoiddoDispatch(HttpServletRequestrequest,HttpServletResponseresponse)throwsException{//根据请求对象request获取//这个对象是在每次发送请求时都创建一个
- Java Web 开发极简入门实战教程
AI天才研究院
Java实战java
JavaWeb开发极简入门实战教程文章目录JavaWeb开发极简入门实战教程第一部分:JavaWeb开发基础第1章:JavaWeb开发概述1.1JavaWeb的发展历程1.1.1初期阶段:Servlet与JSP1.1.2现代阶段:Spring框架与微服务架构1.1.3未来发展:云原生与无服务器架构1.2Java在Web开发中的优势稳定性与可靠性丰富的生态系统跨平台兼容性强大的社区支持1.3常见的J
- Spring MVC 对象转换器:初级开发者入门指南
干中学26
springmvcjava
SpringMVC对象转换器:初级开发者入门指南为什么需要对象转换器?在Web应用中,我们经常需要处理不同类型的对象。例如:前端数据到后端对象:用户通过表单提交的数据通常是HttpServletRequest对象,我们需要将其转换为Java对象(如POJO)以便进行业务处理。后端对象到前端展示:在将数据返回给前端时,可能需要将Java对象转换为适合前端展示的格式(如JSON或XML)。对象转换是一
- java实现预览静态html,Java 读取模板并生成HTML静态文件实例
guyu0908
java实现预览静态html
原理都很简单,主要是对模板的解析.so,我们先准备一个html模板mb.html,做个文件其中的###title###之类的标签用于程序进行查询替换.HTMLcode复制代码###title######title######author######content######html###下面是具体的代码:JspToHtml.javaJavacode复制代码importjavax.servlet.h
- Spring MVC的控制器是不是单例模式,如果是,有什么问题,怎么决?思维导图 代码示例(java 架构)
用心去追梦
java架构开发语言
SpringMVC控制器的单例模式特性在SpringMVC中,默认情况下控制器(带有@Controller或@RestController注解的类)是按照单例模式创建的。这意味着在整个应用程序生命周期内,只有一个实例会被创建并被所有请求共享。这与Servlet的行为相似,因为Servlet容器也是以单例模式管理Servlet实例的。单例模式的优点:性能优化:减少了对象创建和销毁的开销。资源利用率:
- springboot原理
caihuayuan5
面试题汇总与解析springbootjava后端大数据
springboot原理未使用springboot时,怎样构建web项目(ssm架构的)导入web及其配置,spring,springmvc在web.xml中配置dispatchServlet(前端控制器,作为分发器的作用)配置包扫描路径,让我们的service层,controller层等里面的对象被spring容器进行管理编写controller类部署Tomcat使用了springboot搭建w
- 创建监听器报错“一个或多个listeners启动失败”
cccccchd
项目总结windows
问题:今天写一个需求,即当项目启动时,取出数据库的商品类型,供全局使用,但是出现了创建监听器报错“一个或多个listeners启动失败”。解决:错误示范:我创建了两个IOC容器@WebListenerpublicclassProductTypeListenerimplementsServletContextListener{@OverridepublicvoidcontextInitialized
- 小白也能看懂的-Java Web开发全攻略(超详细)
小韩学长yyds
javaweb
个人主页:java之路-CSDN博客(期待您的关注)目录JavaWeb开发初印象JavaWeb开发的核心技术(一)Servlet(二)JSP(三)JavaBean(四)MVC架构常用JavaWeb开发框架(一)SpringFramework(二)SpringBoot(三)Hibernate(四)StrutsJavaWeb开发实战(一)需求分析(二)系统设计(三)编码实现(四)测试与部署(二)依赖冲
- Spring全面详解:架构体系演变及其入门(学习总结)
小夕Coding
大数据系列springjava大数据javabeanspringboot
文章目录架构体系演变背景单一应用架构垂直应用架构分布式服务架构流动计算架构入门配置文件yaml语法快速入门基本格式要求对象数组常量一些特殊符号使用yaml进行配置注解学习反射获取注解配置文件优先级存放目录Application属性文件,按优先级排序,位置高的将覆盖位置读取顺序web开发嵌入式Servlet容器支持扫描Servlet,过滤器和listeners1、springboot整合servle
- KindEditor 实现ctrl+v粘贴图片并上传、word粘贴带图片
Mr_Zang666
word图片一键粘贴wordservletjava
这种方法是servlet,编写好在web.xml里配置servlet-class和servlet-mapping即可使用后台(服务端)java服务代码:(上传至ROOT/lqxcPics文件夹下)配置web.xmlindex.jsp前端(页面)测试代码:WordPaster-jsp-ueditor-1.2.6.0这里写你的初始化内容varpasterMgr=newWordPasterManager
- Web后端 Tomcat服务器
小安同学iter
Web后端前端tomcat服务器
一TomcatWeb服务器介绍:Tomcat是一个开源的JavaServlet容器和Web服务器,由Apache软件基金会开发。它实现了JavaServlet和JavaServerPages(JSP)技术,用于运行JavaWeb应用程序。Tomcat轻量、易于配置,常作为开发和部署JavaWeb应用的首选服务器。1Web服务器对HTTP协议操作进行封装,简化了web程序的开发。部署web项目,对外
- Web 后端 请求与响应
小安同学iter
Web后端mavenjavatomcatintellij-idea
一请求响应1.请求(Request)客户端向服务器发送的HTTP请求,通常包含以下内容:请求行:HTTP方法(GET/POST等)、请求的URL、协议版本。请求头(Headers):客户端信息(如浏览器类型、支持的语言)、Cookie、内容类型等。请求体(Body):POST/PUT请求时携带的数据(如表单参数、JSON)。在JavaWeb中的处理:Servlet通过HttpServletRequ
- 网络安全组织架构表 网络安全技术架构
网络安全Ash
web安全架构安全
一,什么是XSS?Xss就是javascript脚本攻击,就是在表单提交的时候提交一个小脚本,因为浏览器默认是支持脚本的,所以写个小脚本不做处理的话问题就很大。如何防御?1,通过后台编写一个过滤器拦截所有getParameter参数重写httpservletwrapp方法。2,通过工具类将参数特殊字符转换成html源代码保存。//重写HttpServletRequestWrapper防止XSS攻击
- JavaWeb开发与代码的编写(二十)
wespten
Spring全家桶微信小程序Java全栈开发
JavaWeb开发与代码的编写(二十)Servlet3Servlet的传统配置方式在JavaWeb开发中,每次编写一个Servlet都需要在web.xml文件中进行配置,如下所示:ActionServletme.gacl.web.controller.ActionServletActionServlet/servlet/ActionServlet每开发一个Servlet,都要在web.xml中配置
- SpringMVC中spring-config.xml和web.xml配置
W厚积薄发
小工具web.xml模板
web.xml配置模板springmvcorg.springframework.web.servlet.DispatcherServletcontextConfigLocationclasspath:springmvc-config3.xml1springmvc/CharacterEncodingFilterorg.springframework.web.filter.CharacterEncod
- JSP(学习自用)
文城521
JAVA实训java学习html前端
一、本质JSP解析后就是Servlet类的java代码。二、jsp内嵌java代码1、声明脚本用于声明属性和方法。2、运行脚本相当于在service方法中写代码3、打印脚本用于打印上面两个脚本内声明的变量结果啥的。//页面会显示张三三、jsp内置对象1、request代表客户端的请求。2、response代表服务端的响应。3、session代表客户端当前会话。4、application代表整个We
- 微服务之网关
qq_40784183
微服务负载均衡架构
1.网关的选择Zuul和SpringCloudGateway(其他没用过了)2.Zuul(NetflixZuul)与SpringCloudGateway对比性能方面Zuul:Zuul1.x是基于Servlet的同步阻塞模型,在处理高并发请求时性能相对较弱。每个请求都会占用一个线程,当并发量较大时,线程资源可能会成为瓶颈。不过,Zuul2.x版本在性能上有所改进,采用了异步非阻塞模型,能够更好地处理
- Spring Boot中的响应与分层解耦架构
小村学长毕业设计
springboot架构后端
SpringBoot中的响应与分层解耦架构在SpringBoot框架中,响应与分层解耦架构是两个核心概念,它们共同促进了应用程序的高效性、可维护性和可扩展性。下面将详细探讨这两个方面,包括SpringBoot的响应机制、分层解耦的三层架构以及它们在实际开发中的应用。一、SpringBoot的响应机制SpringBoot的响应机制主要依赖于其内置的Servlet容器(如Tomcat)和SpringM
- SpringBoot (看完就懂)
刘小炮吖i
Java后端开发面试题Javaspringboot后端java面试spring职场和发展开发语言
一、到底什么是SpringBoot?很多初学者在接触Java开发时,常常会听到SpringBoot这个词,但却对它的概念和作用感到模糊。简单来说,SpringBoot是由Pivotal团队开发的一个基于Spring框架的开源框架,它的主要目标是简化Spring应用的初始搭建以及开发过程。在传统的Spring项目开发中,开发者需要进行大量的配置工作,例如配置Servlet容器、配置各种Bean的依赖
- Windows操作系统部署Tomcat详细讲解
web15117360223
面试学习路线阿里巴巴windowstomcatjava
Tomcat是一个开源的JavaServlet容器,用于处理JavaWeb应用程序的请求和响应。以下是关于Tomcat的用法大全:一、安装Tomcat下载访问ApacheTomcat官方网站(https://tomcat.apache.org/),根据你的操作系统(如Windows、Linux、macOS)和需求选择合适的版本进行下载。例如,对于开发环境,通常选择较新的稳定版本。安装(以Windo
- shrio反序列化分析
红队蓝军
java开发语言安全
shiro550环境搭建https://codeload.github.com/apache/shiro/zip/shiro-root-1.2.4配置pom.xmljavax.servletjstlruntimejavax.servletservlet-apiprovidedorg.slf4jslf4j-log4j12runtimelog4jlog4jruntimenet.sourceforge.
- Tomcat安装与配置详解:从入门到精通
一休哥助手
javatomcatjava
一、Tomcat简介1.1什么是Tomcat?Tomcat是由Apache软件基金会开发和维护的一款轻量级Java应用服务器,能够运行JavaServlet和JSP应用程序。Tomcat作为JavaWeb服务器与传统的Web服务器(如ApacheHTTPServer)配合使用,以便提供动态的Web服务。1.2Tomcat的主要特性轻量级:Tomcat的体积较小,启动速度快,资源消耗低,非常适合开发
- servlet到底是什么东西
一勺菠萝丶
Java
一直对servlet是个什么有些疑惑,不清楚到底是什么,在知乎上看到一段感觉不错,记录下来本以为servlet是很复杂的东西,事实上,servlet就是一个Java接口,interface!打开idea,ctrl+shift+n,搜索servlet,就可以看到是一个只有5个方法的interface!所以,网络协议、http什么的,servlet根本不管!也管不着!那servlet是干嘛的?很简单,
- C/C++Win32编程基础详解视频下载
择善Zach
编程C++Win32
课题视频:C/C++Win32编程基础详解
视频知识:win32窗口的创建
windows事件机制
主讲:择善Uncle老师
学习交流群:386620625
验证码:625
--
- Guava Cache使用笔记
bylijinnan
javaguavacache
1.Guava Cache的get/getIfPresent方法当参数为null时会抛空指针异常
我刚开始使用时还以为Guava Cache跟HashMap一样,get(null)返回null。
实际上Guava整体设计思想就是拒绝null的,很多地方都会执行com.google.common.base.Preconditions.checkNotNull的检查。
2.Guava
- 解决ora-01652无法通过128(在temp表空间中)
0624chenhong
oracle
解决ora-01652无法通过128(在temp表空间中)扩展temp段的过程
一个sql语句后,大约花了10分钟,好不容易有一个结果,但是报了一个ora-01652错误,查阅了oracle的错误代码说明:意思是指temp表空间无法自动扩展temp段。这种问题一般有两种原因:一是临时表空间空间太小,二是不能自动扩展。
分析过程:
既然是temp表空间有问题,那当
- Struct在jsp标签
不懂事的小屁孩
struct
非UI标签介绍:
控制类标签:
1:程序流程控制标签 if elseif else
<s:if test="isUsed">
<span class="label label-success">True</span>
</
- 按对象属性排序
换个号韩国红果果
JavaScript对象排序
利用JavaScript进行对象排序,根据用户的年龄排序展示
<script>
var bob={
name;bob,
age:30
}
var peter={
name;peter,
age:30
}
var amy={
name;amy,
age:24
}
var mike={
name;mike,
age:29
}
var john={
- 大数据分析让个性化的客户体验不再遥远
蓝儿唯美
数据分析
顾客通过多种渠道制造大量数据,企业则热衷于利用这些信息来实现更为个性化的体验。
分析公司Gartner表示,高级分析会成为客户服务的关键,但是大数据分析的采用目前仅局限于不到一成的企业。 挑战在于企业还在努力适应结构化数据,疲于根据自身的客户关系管理(CRM)系统部署有效的分析框架,以及集成不同的内外部信息源。
然而,面对顾客通过数字技术参与而产生的快速变化的信息,企业需要及时作出反应。要想实
- java笔记4
a-john
java
操作符
1,使用java操作符
操作符接受一个或多个参数,并生成一个新值。参数的形式与普通的方法调用不用,但是效果是相同的。加号和一元的正号(+)、减号和一元的负号(-)、乘号(*)、除号(/)以及赋值号(=)的用法与其他编程语言类似。
操作符作用于操作数,生成一个新值。另外,有些操作符可能会改变操作数自身的
- 从裸机编程到嵌入式Linux编程思想的转变------分而治之:驱动和应用程序
aijuans
嵌入式学习
笔者学习嵌入式Linux也有一段时间了,很奇怪的是很多书讲驱动编程方面的知识,也有很多书将ARM9方面的知识,但是从以前51形式的(对寄存器直接操作,初始化芯片的功能模块)编程方法,和思维模式,变换为基于Linux操作系统编程,讲这个思想转变的书几乎没有,让初学者走了很多弯路,撞了很多难墙。
笔者因此写上自己的学习心得,希望能给和我一样转变
- 在springmvc中解决FastJson循环引用的问题
asialee
循环引用fastjson
我们先来看一个例子:
package com.elong.bms;
import java.io.OutputStream;
import java.util.HashMap;
import java.util.Map;
import co
- ArrayAdapter和SimpleAdapter技术总结
百合不是茶
androidSimpleAdapterArrayAdapter高级组件基础
ArrayAdapter比较简单,但它只能用于显示文字。而SimpleAdapter则有很强的扩展性,可以自定义出各种效果
ArrayAdapter;的数据可以是数组或者是队列
// 获得下拉框对象
AutoCompleteTextView textview = (AutoCompleteTextView) this
- 九封信
bijian1013
人生励志
有时候,莫名的心情不好,不想和任何人说话,只想一个人静静的发呆。有时候,想一个人躲起来脆弱,不愿别人看到自己的伤口。有时候,走过熟悉的街角,看到熟悉的背影,突然想起一个人的脸。有时候,发现自己一夜之间就长大了。 2014,写给人
- Linux下安装MySQL Web 管理工具phpMyAdmin
sunjing
PHPInstallphpMyAdmin
PHP http://php.net/
phpMyAdmin http://www.phpmyadmin.net
Error compiling PHP on CentOS x64
一、安装Apache
请参阅http://billben.iteye.com/admin/blogs/1985244
二、安装依赖包
sudo yum install gd
- 分布式系统理论
bit1129
分布式
FLP
One famous theory in distributed computing, known as FLP after the authors Fischer, Lynch, and Patterson, proved that in a distributed system with asynchronous communication and process crashes,
- ssh2整合(spring+struts2+hibernate)-附源码
白糖_
eclipsespringHibernatemysql项目管理
最近抽空又整理了一套ssh2框架,主要使用的技术如下:
spring做容器,管理了三层(dao,service,actioin)的对象
struts2实现与页面交互(MVC),自己做了一个异常拦截器,能拦截Action层抛出的异常
hibernate与数据库交互
BoneCp数据库连接池,据说比其它数据库连接池快20倍,仅仅是据说
MySql数据库
项目用eclipse
- treetable bug记录
braveCS
table
// 插入子节点删除再插入时不能正常显示。修改:
//不知改后有没有错,先做个备忘
Tree.prototype.removeNode = function(node) {
// Recursively remove all descendants of +node+
this.unloadBranch(node);
// Remove
- 编程之美-电话号码对应英语单词
bylijinnan
java算法编程之美
import java.util.Arrays;
public class NumberToWord {
/**
* 编程之美 电话号码对应英语单词
* 题目:
* 手机上的拨号盘,每个数字都对应一些字母,比如2对应ABC,3对应DEF.........,8对应TUV,9对应WXYZ,
* 要求对一段数字,输出其代表的所有可能的字母组合
- jquery ajax读书笔记
chengxuyuancsdn
jQuery ajax
1、jsp页面
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()
- JWFD工作流拓扑结构解析伪码描述算法
comsci
数据结构算法工作活动J#
对工作流拓扑结构解析感兴趣的朋友可以下载附件,或者下载JWFD的全部代码进行分析
/* 流程图拓扑结构解析伪码描述算法
public java.util.ArrayList DFS(String graphid, String stepid, int j)
- oracle I/O 从属进程
daizj
oracle
I/O 从属进程
I/O从属进程用于为不支持异步I/O的系统或设备模拟异步I/O.例如,磁带设备(相当慢)就不支持异步I/O.通过使用I/O 从属进程,可以让磁带机模仿通常只为磁盘驱动器提供的功能。就好像支持真正的异步I/O 一样,写设备的进程(调用者)会收集大量数据,并交由写入器写出。数据成功地写出时,写入器(此时写入器是I/O 从属进程,而不是操作系统)会通知原来的调用者,调用者则会
- 高级排序:希尔排序
dieslrae
希尔排序
public void shellSort(int[] array){
int limit = 1;
int temp;
int index;
while(limit <= array.length/3){
limit = limit * 3 + 1;
- 初二下学期难记忆单词
dcj3sjt126com
englishword
kitchen 厨房
cupboard 厨柜
salt 盐
sugar 糖
oil 油
fork 叉;餐叉
spoon 匙;调羹
chopsticks 筷子
cabbage 卷心菜;洋白菜
soup 汤
Italian 意大利的
Indian 印度的
workplace 工作场所
even 甚至;更
Italy 意大利
laugh 笑
m
- Go语言使用MySQL数据库进行增删改查
dcj3sjt126com
mysql
目前Internet上流行的网站构架方式是LAMP,其中的M即MySQL, 作为数据库,MySQL以免费、开源、使用方便为优势成为了很多Web开发的后端数据库存储引擎。MySQL驱动Go中支持MySQL的驱动目前比较多,有如下几种,有些是支持database/sql标准,而有些是采用了自己的实现接口,常用的有如下几种:
http://code.google.c...o-mysql-dri
- git命令
shuizhaosi888
git
---------------设置全局用户名:
git config --global user.name "HanShuliang" //设置用户名
git config --global user.email "
[email protected]" //设置邮箱
---------------查看环境配置
git config --li
- qemu-kvm 网络 nat模式 (四)
haoningabc
kvmqemu
qemu-ifup-NAT
#!/bin/bash
BRIDGE=virbr0
NETWORK=192.168.122.0
GATEWAY=192.168.122.1
NETMASK=255.255.255.0
DHCPRANGE=192.168.122.2,192.168.122.254
TFTPROOT=
BOOTP=
function check_bridge()
- 不要让未来的你,讨厌现在的自己
jingjing0907
生活 奋斗 工作 梦想
故事one
23岁,他大学毕业,放弃了父母安排的稳定工作,独闯京城,在家小公司混个小职位,工作还算顺手,月薪三千,混了混,混走了一年的光阴。 24岁,有了女朋友,从二环12人的集体宿舍搬到香山民居,一间平房,二人世界,爱爱爱。偶然约三朋四友,打扑克搓麻将,日子快乐似神仙; 25岁,出了几次差,调了两次岗,薪水涨了不过百,生猛狂飙的物价让现实血淋淋,无力为心爱银儿购件大牌
- 枚举类型详解
一路欢笑一路走
enum枚举详解enumsetenumMap
枚举类型详解
一.Enum详解
1.1枚举类型的介绍
JDK1.5加入了一个全新的类型的”类”—枚举类型,为此JDK1.5引入了一个新的关键字enum,我们可以这样定义一个枚举类型。
Demo:一个最简单的枚举类
public enum ColorType {
RED
- 第11章 动画效果(上)
onestopweb
动画
index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/
- Eclipse中jsp、js文件编辑时,卡死现象解决汇总
ljf_home
eclipsejsp卡死js卡死
使用Eclipse编辑jsp、js文件时,经常出现卡死现象,在网上百度了N次,经过N次优化调整后,卡死现象逐步好转,具体那个方法起到作用,不太好讲。将所有用过的方法罗列如下:
1、取消验证
windows–>perferences–>validation
把 除了manual 下面的全部点掉,build下只留 classpath dependency Valida
- MySQL编程中的6个重要的实用技巧
tomcat_oracle
mysql
每一行命令都是用分号(;)作为结束
对于MySQL,第一件你必须牢记的是它的每一行命令都是用分号(;)作为结束的,但当一行MySQL被插入在PHP代码中时,最好把后面的分号省略掉,例如:
mysql_query("INSERT INTO tablename(first_name,last_name)VALUES('$first_name',$last_name')");
- zoj 3820 Building Fire Stations(二分+bfs)
阿尔萨斯
Build
题目链接:zoj 3820 Building Fire Stations
题目大意:给定一棵树,选取两个建立加油站,问说所有点距离加油站距离的最大值的最小值是多少,并且任意输出一种建立加油站的方式。
解题思路:二分距离判断,判断函数的复杂度是o(n),这样的复杂度应该是o(nlogn),即使常数系数偏大,但是居然跑了4.5s,也是醉了。 判断函数里面做了3次bfs,但是每次bfs节点最多