JavaWeb总结(常见笔面试题)

Http

1.网络编程要解决的两个主要问题

  (1)如何准确的定位网络上的一台或者多台主机

  (2)找到主机后如何可靠的进行有效的数据传输

2.IP负责网络主机的定位

  TCP提供可靠的或是非可靠的数据传输机制

3.OSI七层模型

   物理层-数据链路层-网络层-传输层-会话层-表示层-应用层

  TCP/IP模型

  网络接口层-网络层-传输层-应用层 

4.OSI各层使用的协议

(1)应用层:HTTP-超文本传输协议

(2)传输层:TCP、UDP协议

             TCP:面向连接的可靠的协议,比UDP多了一个建立连接的时间

             UDP:无连接不可靠协议,有大小限制,64KB以内,传输效率高          

5.端口号用来识别计算机上的应用程序,http使用的80端口

6.Http是一个基于请求/响应模式的,无状态的协议

7.Http请求由三部分组成:请求头,消息报头,请求正文

8.Http请求方法:GET、POST

9.Http响应:状态行,消息报头,响应正文 

10.状态码

    1XX:指示信息-表示请求已经接收,继续处理

    2XX:成功-表示请求已经被成功接收,理解

    3XX:重定向-要完成必须进行进一步操作

    4XX:客户端错误-请求无法实现或请求语句错误

     5XX:服务端错误-服务器未能实现合法请求

      

       200:OK-客户端请求成功

       301:资源(网页等)被永久转移到其它URL

       302:临时移动,(重定向)

       400:客户端请求有语法错误,不能被服务器所理解

       401:请求未经授权

       403:接收到请求但是拒绝服务

       404:请求资源不存在

       500:服务器发生了不可预期的错误

       503:服务器当前不能处理客户端请求,一段时间之后可能恢复正常

补充

1.Http的长连接和短连接

   Http1.1默认保持长连接,数据完成传输后TCP连接不断开

   Http1.0默认保持短连接,每进行一次Http操作,就建立一次操作

2.Http1.0和Http1.1的区别

  (1)Http1.1支持长连接

  (2)Http1.1增加了host字段

  (3)HTTP/1.1 加入了一个新的状态码 100(Continue)

3.get和post的区别

    (1)get请求的数据会附在URL之后,即HTTP协议头中,以?分割URL和传输数据,参数之间以&相连post把提交的数据放在Http包的包体中

   (2)get方式请求有大小限制(1024),post没有

   (3)post的安全性比get高

4.Http中重定向和请求转发的区别

    (1)重定向是客户端行为,请求转发是服务端行为

    (2)重定向:两次请求两次响应,浏览器地址发生变化,可以访问自己web之外的资源,传输的数据会丢失

              请求转发:一次请求一次响应,浏览器地址不会发生变化,访问的是自己本身的web资源,传输数据不会丢失

 

 

Servlet

1.Servlet的框架的核心是javax.servlet.Servlet的接口

2.Servlet接口的五个方法

  (1)init()方法:初始化servlet对象

  (2)service()方法:用于响应客户的请求

  (3)destroy()方法:当servlet对象退出生命周期时,负责释放占用的资源

3.如何编写一个Servlet

  (1)编写一个普通类,实现servlet接口,或者继承HttpServlet

  (2)编写web.xml文件

4.ServletRequest接口

  封装了客户请求信息,HttpServletRequest是ServletRequest的实现类

5.ServletResponse接口

  该接口为Servlet提供了返回响应结果的方法

6.Servlet的生命周期

  三个阶段:初始化阶段、响应客户阶段、终止阶段

  对应的三个方法:init()(只会调用一次)、service(),destroy()

7.ServletContext

   当Servlet容器启动Web应用时,并为每个Web应用创建唯一一个ServletContext对象,可以将其理解为一个Web应用服务器端组件的共享内存

   setAttribute(String name,Object object)把一个对象和一个属性名绑定,存储在ServletContext中

8.Servlet多线程问题

  最佳的解决办法是:去除实例变量,使用局部变量

 

Jsp

1.Jsp(Java service page)是用于开发动态web资源的技术

2. Jsp执行过程

  用户-请求-查找对应的Jsp-是否存在-是-是否第一次调用或者修改过jsp-是-调用jsp解析引擎-将jsp编译为.class文件

                                          否-字节码文件-执行字节码文件

JavaWeb总结(常见笔面试题)_第1张图片

3.Jsp语法:

   (1)编译器指令

   (2)脚本语法

   (3)动作语法

4.脚本语法

 

  <%--注释(非开发人员不可见)--%>

5.Jsp内置了9个对象

  (1)request

  (2)response

  (3)out

  (4)pageContext

  (5)session

  (6)Application

  (7)config

  (8)page

  (9)exception 

6.用户登录信息,需要保存在session中

7.Servlet为session创建标识符,称为SessionID,Servlet容器把Session作为Cookie保存在客户浏览器中

8.Cookie是用户访问Web服务器时,服务器在硬盘上存放的信息。服务器可以根据Cookie来跟踪用户,用来获取用户之前的访问状态,一个cookie包含键值对的方式

9.Servlet过滤器负责过滤的Web组件可以是Servlet、jsp或者Html文件

10.所有的Servlet过滤器都必须实现javax.servlet.Filter接口,含有三个必须实现的的方法:init()-初始化、doFilter()-完成实际过滤操作、destroy()-释放占用资源

11.Listener是Servlet的监听器,可以监听客户端的请求,服务端的操作

12.El表达式-替换掉Jsp页面中大量的Java代码

13.El提供“.”和“[]”来获取数据

  ${sessionScope.user.name}    ${sessionScope.user[“name”]}

14.EL存取变量数据的方法很简单,例如:${username}。它的意思是取出某一范围中名称为username的变量。

   因为我们并没有指定哪一个范围的username,所以它会依序从Page、Request、Session、Application范围查找。

15.获得当前Web应用的名字

  ${pageContext.request.contextPath}

16.JSTL是Jsp的标准标签库

    value  defult

    value var scope

    text scope

  ,(text),

    var item="${str}"

补充

1.Cookie和session的区别

  (1)cookie是用户访问Web浏览器时,服务器在硬盘上存放的信息, session是存放在web服务器端的一块信息

  (2)无论客户端怎样设置,session都可以正常工作,当客户端禁用cookie时无法使用cookie

  (3)session可以存储任意java对象,cookie只能存储String类型的对象

2.Jsp和Servlet的区别

  (1)jsp是html页面中内嵌Java代码,侧重于页面展示

  (2)Servlet是html和Java代码分离,侧重于逻辑控制

 

 

HTML

1.HTML超文本标记语言

2.一个HTML页面包含四部分:元素、头部元素、主体元素、标    题元素</h3> <h3 style="margin-left:0cm;">3.常用标签</h3> <p style="margin-left:0cm;">   (1)自闭合 <br/><hr/>(水平分割线)</p> <p style="margin-left:0cm;">   (2)有开始有结束</p> <p style="margin-left:0cm;">     <p></p> 段落</p> <p style="margin-left:0cm;">        <a><a>超链接 <a href="javascript:void(0);"οnclick="alert('我是超链接')">取消默认的事件</a></p> <p style="margin-left:0cm;"> </p> <h1 style="margin-left:0cm;">CSS</h1> <h3 style="margin-left:0cm;">4.CSS样式表类别-主要是用来为网页中的元素进行格式设置以及进行网页排版和风格设计</h3> <p style="margin-left:0cm;">   内嵌样式表、内部样式表、外部样式表</p> <h3 style="margin-left:0cm;">5.CSS选择器:HTML选择器、类选择器、ID选择器</h3> <p> </p> <p style="margin-left:0cm;"> </p> <h1 style="margin-left:0cm;">JavaScript</h1> <h3 style="margin-left:0cm;">1.Java和JavaScript的区别</h3> <p style="margin-left:0cm;">  (1)Js是基于对象的,Java是面向对象的</p> <p style="margin-left:0cm;">  (2)Js是动态语言,Java不是动态语言</p> <p style="margin-left:0cm;">  (3)Js是解释性语言,Java是编译性语言</p> <h3 style="margin-left:0cm;">2.声明变量用var</h3> <h3 style="margin-left:0cm;">3.Js中数据类型分为原始数据类型和对象类型</h3> <p style="margin-left:0cm;">  原始数据类型包括数字,字符串,boolear,和null、undefined(任何未被赋值的变量都是这个类型。)</p> <h3 style="margin-left:0cm;">4.javascript 消息框</h3> <p style="margin-left:0cm;"> (1)警告框   alert("文本")</p> <p style="margin-left:0cm;"> (2)确认框   confirm("文本")</p> <p style="margin-left:0cm;"> (3)提示框   prompt("文本")</p> <h3 style="margin-left:0cm;">5.数组和字符串的长度都是使用length属性</h3> <h3 style="margin-left:0cm;">6.事件</h3> <p style="margin-left:0cm;">  (1)onbulr 失去焦点</p> <p style="margin-left:0cm;">  (2)onchange 值域发生改变触发事件</p> <p style="margin-left:0cm;">  (3)onclick 鼠标点击事件</p> <p style="margin-left:0cm;">  (4)onfocus 获得焦点事件</p> <p style="margin-left:0cm;">  (5)onkeydown 键盘按下事件</p> <h3 style="margin-left:0cm;">7.什么是javaScript</h3> <p style="margin-left:0cm;">  是客户端和服务器的脚本语言,是基于对象的解释性语言 </p> <h3 style="margin-left:0cm;">8.XML的用途</h3> <p style="margin-left:0cm;">  (1)存储数据  (2)分离数据  (3)交换数据  (4)共享数据 </p> <h3 style="margin-left:0cm;">9.DTD和scheme:定义语法规则</h3> <h3 style="margin-left:0cm;">10.DOM的四个基本接口:Document、Node、NodeList、NamedNodeMap</h3> <h3 style="margin-left:0cm;">11.什么是xml,使用xml的优缺点,xml的解析器有哪几种,分别有什么区别?</h3> <p style="margin-left:0cm;">   Xml是一种可拓展标记语言,支持自定义标签,使用DTD和Scheme标准化Xml的结构</p> <p style="margin-left:0cm;">   优点:用于配置文件,格式统一,复合标准</p> <p style="margin-left:0cm;">   缺点:数据传输需要流量</p> <p style="margin-left:0cm;">   解析器有两种:DOM和SAX,其中,使用DOM解析,xml文档以DOM树形结构载入内存,而SAX采用的是事件模型</p> <h1 style="margin-left:0cm;">AJAX</h1> <h3 style="margin-left:0cm;">1.异步的JavaScript和Xml的缩写</h3> <h3 style="margin-left:0cm;">2.MIME是描述消息内容类型的因特网标准</h3> <h3 style="margin-left:0cm;">3.Document对象:每个载入浏览器的HTML都会成为Document对象</h3> <h3 style="margin-left:0cm;">4.AJAX的核心是JavaScript和XMLHttpRequest</h3> <h3 style="margin-left:0cm;">5.Ajax 的最大特点:</h3> <p style="margin-left:0cm;">   可以实现局部刷新,在不更新整个页面的前提下维护数据,提升用户体验度</p> <h1 style="margin-left:0cm;"> </h1> <h1 style="margin-left:0cm;">JQuery</h1> <h3 style="margin-left:0cm;">1.js中的onload事件是等页面结构即:dom元素对象加载完后,还有其他的图片、音频信息等二次请求信息加载完成后进行触发,而jQuery中的ready()方法是在页面结构加载完成后,即dom元素加载完成后就进行触发。 </h3> <h3 style="margin-left:0cm;"> </h3> </div> </div> </div> </div> </div> <!--PC和WAP自适应版--> <div id="SOHUCS" sid="1292384889349414912"></div> <script type="text/javascript" src="/views/front/js/chanyan.js"></script> <!-- 文章页-底部 动态广告位 --> <div class="youdao-fixed-ad" id="detail_ad_bottom"></div> </div> <div class="col-md-3"> <div class="row" id="ad"> <!-- 文章页-右侧1 动态广告位 --> <div id="right-1" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_1"> </div> </div> <!-- 文章页-右侧2 动态广告位 --> <div id="right-2" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_2"></div> </div> <!-- 文章页-右侧3 动态广告位 --> <div id="right-3" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_3"></div> </div> </div> </div> </div> </div> </div> <div class="container"> <h4 class="pt20 mb15 mt0 border-top">你可能感兴趣的:(Java笔面试题总结)</h4> <div id="paradigm-article-related"> <div class="recommend-post mb30"> <ul class="widget-links"> <li><a href="/article/1891635085023703040.htm" title="validation 实现参数校验" target="_blank">validation 实现参数校验</a> <span class="text-muted">程序员老王wd</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>简述在Java中,参数校验是非常重要的,因为它可以确保方法或函数在执行时接收到的参数是合法的,有效的,从而提高代码的健壮性和安全性。参数校验可以防止无效的输入导致的异常或错误,同时也能减少因为无效参数导致的安全漏洞Java中的参数校验可以通过手动编写校验逻辑来实现,但这样会增加代码的复杂度和重复性。为了简化参数校验的实现,可以使用ValidationAPI,它是JavaEE平台的一部分,提供了一套</div> </li> <li><a href="/article/1891632686712287232.htm" title="Java 编码系列:集合框架(List、Set、Map 及其常用实现类)" target="_blank">Java 编码系列:集合框架(List、Set、Map 及其常用实现类)</a> <span class="text-muted">pjx987</span> <a class="tag" taget="_blank" href="/search/java%E7%BC%96%E7%A0%81/1.htm">java编码</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/list/1.htm">list</a><a class="tag" taget="_blank" href="/search/map/1.htm">map</a> <div>引言在Java开发中,集合框架是不可或缺的一部分,它提供了存储和操作一组对象的工具。Java集合框架主要包括List、Set和Map接口及其常用的实现类。正确理解和使用这些集合类不仅可以提高代码的可读性和性能,还能避免一些常见的错误。本文将深入探讨Java集合框架的底层原理,并结合大厂的最佳实践,帮助读者掌握这些核心概念。1.List接口及其常用实现类1.1基本概念List接口表示一个有序的集合,</div> </li> <li><a href="/article/1891629412164628480.htm" title="Java程序设计(五):基于SpringBoot+Vue的苗族文化分享平台的设计与实现" target="_blank">Java程序设计(五):基于SpringBoot+Vue的苗族文化分享平台的设计与实现</a> <span class="text-muted">人工智能_SYBH</span> <a class="tag" taget="_blank" href="/search/2025%E5%B9%B4java%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1/1.htm">2025年java程序设计</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/boot/1.htm">boot</a><a class="tag" taget="_blank" href="/search/vue.js/1.htm">vue.js</a> <div>1.引言随着互联网技术的发展,文化传承与传播方式发生了巨大的变革。传统文化的传承不再仅依赖于线下活动,而是越来越多地通过数字化平台进行传播。为了促进苗族文化的传承与推广,本文设计并实现了一个基于SpringBoot和Vue的苗族文化分享平台。该平台通过现代化的技术架构,提供了多种功能模块,包括公告管理、文化遗产管理、资源管理、活动管理、跨文化交流等,既为管理员提供便捷的管理工具,也为普通用户提供了</div> </li> <li><a href="/article/1891629034090065920.htm" title="Elasticsearch【复合搜索、结果排序、分页查询、高亮查询、SQL查询】(四)-全面详解(学习总结---从入门到深化)" target="_blank">Elasticsearch【复合搜索、结果排序、分页查询、高亮查询、SQL查询】(四)-全面详解(学习总结---从入门到深化)</a> <span class="text-muted">童小纯</span> <a class="tag" taget="_blank" href="/search/%E4%B8%AD%E9%97%B4%E4%BB%B6%E5%A4%A7%E5%85%A8---%E5%85%A8%E9%9D%A2%E8%AF%A6%E8%A7%A3/1.htm">中间件大全---全面详解</a><a class="tag" taget="_blank" href="/search/jenkins/1.htm">jenkins</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a><a class="tag" taget="_blank" href="/search/elasticsearch/1.htm">elasticsearch</a><a class="tag" taget="_blank" href="/search/%E6%90%9C%E7%B4%A2%E5%BC%95%E6%93%8E/1.htm">搜索引擎</a> <div>目录Elasticsearch搜索文档_复合搜索Elasticsearch搜索文档_结果排序Elasticsearch搜索文档_分页查询Elasticsearch搜索文档_高亮查询Elasticsearch搜索文档_SQL查询原生JAVA操作ES_搭建项目原生JAVA操作ES_索引操作Elasticsearch搜索文档_复合搜索GET/索引/_search{"query":{"bool":{//必</div> </li> <li><a href="/article/1891626631714369536.htm" title="探索Node.js的原生插件新境界:使用`node-gyp`" target="_blank">探索Node.js的原生插件新境界:使用`node-gyp`</a> <span class="text-muted">洪新龙</span> <div>探索Node.js的原生插件新境界:使用node-gypnode-gypNode.jsnativeaddonbuildtool项目地址:https://gitcode.com/gh_mirrors/no/node-gyp在Node.js的生态系统中,将高性能的C/C++代码融入到JavaScript世界已经成为提升应用性能的关键手段。今天,我们要向大家隆重推荐一个不可或缺的工具——node-gyp</div> </li> <li><a href="/article/1891624613050380288.htm" title="_05JavaScript" target="_blank">_05JavaScript</a> <span class="text-muted">The_era_achievs_hero</span> <a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/js/1.htm">js</a> <div>第五次网课1.JavaScript的书写位置内部JS//页面弹出警示框alert('你好,js~')外部JS(最多)内联(行内)(以后vue框架会用这种模式)点我月薪过万2.JavaScript的注释与结束符单行注释符号://ctrl+/多行注释符号:/**/shift+alt+a结束符用;表示结束可写可不写,要么全都写,要么全不写vue.js不加分号3.JavaScript的输入输出语法输出中文</div> </li> <li><a href="/article/1891621713746128896.htm" title="Java 集成MySQL+MyBatis实战(含代码)" target="_blank">Java 集成MySQL+MyBatis实战(含代码)</a> <span class="text-muted">C_V_Better</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84%E8%AE%BE%E8%AE%A1/1.htm">架构设计</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/mybatis/1.htm">mybatis</a><a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AF/1.htm">后端</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a> <div>在Java开发中,MyBatis是一个功能强大的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis使用简单的XML或注解用于配置和原始映射,将接口和Java的POJOs映射成数据库中的记录。本文将通过实战案例,详细展示如何使用MyBatis集成MySQL,实现对数据库的增删改查操作。一、环境准备在开始编写代码</div> </li> <li><a href="/article/1891621461437771776.htm" title="Java 移除List中的元素,这玩意讲究!" target="_blank">Java 移除List中的元素,这玩意讲究!</a> <span class="text-muted">2401_86401508</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/list/1.htm">list</a><a class="tag" taget="_blank" href="/search/windows/1.htm">windows</a> <div>接着看。循环+remove(Objecto)/remove(Indexi):没错,我们可以配合循环,把list里面的“C”元素都移除。循环自然有分while循环和for循环(包含foreach)。先看foreach方式:不得行!切记!for(Stringstr:list){if(“C”.equals(str)){list.remove(str);}}代码看似没问题,但是在foreach使用list</div> </li> <li><a href="/article/1891620830958383104.htm" title="Windows环境下构建本地多节点Elasticsearch集群" target="_blank">Windows环境下构建本地多节点Elasticsearch集群</a> <span class="text-muted">静谧星光c</span> <a class="tag" taget="_blank" href="/search/windows/1.htm">windows</a><a class="tag" taget="_blank" href="/search/elasticsearch/1.htm">elasticsearch</a><a class="tag" taget="_blank" href="/search/jenkins/1.htm">jenkins</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AE/1.htm">大数据</a> <div>Windows环境下构建本地多节点Elasticsearch集群在大数据领域,Elasticsearch是一个经常使用的分布式搜索和分析引擎。本文将介绍如何在Windows操作系统下搭建一个本地的多节点Elasticsearch集群。通过搭建本地集群,我们可以在单一系统上模拟出多个节点,从而加深对Elasticsearch集群内工作原理的理解。准备工作首先,确保你的系统已经安装了Java开发环境(</div> </li> <li><a href="/article/1891610738670235648.htm" title="使用TimerTask实现定时任务" target="_blank">使用TimerTask实现定时任务</a> <span class="text-muted">Yvonne978</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>实现定时任务,需要解决三个问题:1.任务是什么,即干什么?2.如何执行?什么时候开始执行?执行频率?3.使用什么框架执行?这里使用轻量Spring自带的TimerTask进行实现一、编写任务新建一个类如MyThread,继承TimerTask,重写run方法packagecom.icfcc.cnaps2.thread;importjava.util.TimerTask;publicclassMyT</div> </li> <li><a href="/article/1891604280536788992.htm" title="初识redux" target="_blank">初识redux</a> <span class="text-muted">未命名小孩</span> <a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF%E7%9F%A5%E8%AF%86/1.htm">前端知识</a><a class="tag" taget="_blank" href="/search/react/1.htm">react</a><a class="tag" taget="_blank" href="/search/js/1.htm">js</a><a class="tag" taget="_blank" href="/search/typescript/1.htm">typescript</a> <div>Redux是一个用于管理JavaScript应用程序状态的可预测状态容器核心概念1.单一数据源整个应用的状态被存储在一个单一的对象树(store)中,这个对象树位于唯一的store里。创建store:conststore=createStore(reducer)2.状态是只读的唯一改变状态的方法是触发一个action,action是一个描述状态变化的纯对象。这保证了所有的状态变化都是可追踪的。一个</div> </li> <li><a href="/article/1891604026852700160.htm" title="题解 | #数组中出现次数超过一半的数字#哈希最简单的解法" target="_blank">题解 | #数组中出现次数超过一半的数字#哈希最简单的解法</a> <span class="text-muted">2301_79125642</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>前端要转测试大佬们,我是软件工程专业的,毕业后又培训了半年前端,现在公司要我转软件测试,初中级都可以,学着麻烦吗?大概得多长时间?转转java凉面一个数组基本有序应该采用哪种排序方法为什么要有线程池,线程太多会怎么样??阻塞队列与普通队列的区别是?递归与非递归区别是什么?各自的优缺点?递归如何转为非递归题解|#数组中出现次数超过一半的数字#哈希最简单的解法classSolution{public:</div> </li> <li><a href="/article/1891603396813713408.htm" title="如果 main 里面引入 axios ,然后引入 router ,而 router 里面也引入 axios,会不会重复" target="_blank">如果 main 里面引入 axios ,然后引入 router ,而 router 里面也引入 axios,会不会重复</a> <span class="text-muted">清风细雨_林木木</span> <a class="tag" taget="_blank" href="/search/%E6%8A%80%E6%9C%AF%E7%82%B9/1.htm">技术点</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>技术点备忘如果main里面引入axios,然后引入router,而router里面也引入axios,会不会重复不会重复的。虽然你在main中引入了axios,并且在router中也引入了axios,但引入的axios是同一个模块。JavaScript的模块系统是基于单例模式的,意思是每个模块只会被加载一次,之后的引用都会指向同一个实例。具体来说:当你在main.js中引入axios,它会在模块加载</div> </li> <li><a href="/article/1891603270162509824.htm" title="【JVM系列】谈一谈JVM调优" target="_blank">【JVM系列】谈一谈JVM调优</a> <span class="text-muted">goyeer(工蚁)</span> <a class="tag" taget="_blank" href="/search/%23/1.htm">#</a><a class="tag" taget="_blank" href="/search/JVM/1.htm">JVM</a><a class="tag" taget="_blank" href="/search/JAVA/1.htm">JAVA</a><a class="tag" taget="_blank" href="/search/jvm/1.htm">jvm</a> <div>文章目录一、JVM调优概述二、JVM调优目标三、JVM定位瓶颈四、JVM内存调优1.调整堆内存大小2.调整新生代与老年代比例3.元空间(Metaspace)调优五、垃圾回收(GC)调优**1.选择合适的GC算法****2.优化GC参数**3.启用GC日志六、线程与锁优化七、调优后的验证八、注意事项一、JVM调优概述JVM调优是优化Java应用程序性能的关键环节,目的是通过调整JVM参数、优化垃圾回</div> </li> <li><a href="/article/1891601001228595200.htm" title="基于Java的自助多张图片合成拼接实战" target="_blank">基于Java的自助多张图片合成拼接实战</a> <span class="text-muted">夜郎king</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/Java%E5%A4%9A%E5%9B%BE%E7%89%87%E5%90%88%E6%88%90/1.htm">Java多图片合成</a><a class="tag" taget="_blank" href="/search/Java%E5%9B%BE%E7%89%87%E5%90%88%E6%88%90%E5%AE%9E%E6%88%98/1.htm">Java图片合成实战</a> <div>目录前言一、图片合成需求描述二、图片合成设计与实现1、编程语言2、基础数据准备3、图片合成流程4、图片合成实现三、总结前言在当今数字化时代,图像处理技术在各个领域都发挥着至关重要的作用。从社交媒体到电子商务,从在线教育到虚拟现实,图像的展示和处理方式直接影响着用户体验和信息传递的效率。而图片合成拼接技术作为图像处理中的一个重要分支,其应用范围广泛,需求也日益增长。在实际开发中,图片合成拼接的需求多</div> </li> <li><a href="/article/1891598733334867968.htm" title="Python之json模块的序列化和反序列化" target="_blank">Python之json模块的序列化和反序列化</a> <span class="text-muted">如梦@_@</span> <a class="tag" taget="_blank" href="/search/python%E5%9F%BA%E7%A1%80/1.htm">python基础</a> <div>序列化:可以理解为压缩反序列化:可以理解为解压Python中序列化和反序列化其实就是一个正反两个过程。序列化就是将Python对象转化为json格式,因为Python对象只有Python语言能够识别,如果想把数据发给Java代码写的程序,那么就识别不了,所以就有一个中间的格式:json,Java中也是一样,就是将Java的数据类型转换成json格式。反序列化就是,Python接收数据的应该是Pyt</div> </li> <li><a href="/article/1891598607077928960.htm" title="java使用递归获取geojson(json)数据" target="_blank">java使用递归获取geojson(json)数据</a> <span class="text-muted">迷茫的小猿</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/json/1.htm">json</a> <div>需要导入的包:org.json-chargebee-1.0.jarpackageparse;importjava.io.BufferedReader;importjava.io.BufferedWriter;importjava.io.FileReader;importjava.io.FileWriter;importjava.io.IOException;importjava.util.Arra</div> </li> <li><a href="/article/1891597472241872896.htm" title="阅读Android源码的一些姿势" target="_blank">阅读Android源码的一些姿势</a> <span class="text-muted">weixin_34405332</span> <div>2019独角兽企业重金招聘Python工程师标准>>>前面吐槽了有没有必要阅读Android源码,后面觉得只吐槽不太好,还是应该多少弄点干货。需要说明的是,Android每个系统版本的源码都会有变动,而且代码中时不时Java和Native互相穿插,追求完全看透源码意义不大,把目的定在“理解代码设计的思路,弄清各个生命周期方法调用的顺序”比较实际。日常开发中怎么阅读源码找到正确的源码IDE是日常经常</div> </li> <li><a href="/article/1891592542118539264.htm" title="空间数据存储格式GeoJSON" target="_blank">空间数据存储格式GeoJSON</a> <span class="text-muted">guokanglun</span> <a class="tag" taget="_blank" href="/search/WebGIS%E5%BC%80%E5%8F%91/1.htm">WebGIS开发</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a> <div>GeoJSON是一种用于表示地理信息的开放标准格式,广泛用于存储和交换地理空间数据。它基于JSON格式,因此易于理解和处理,尤其适用于Web和JavaScript环境中的地图应用。GeoJSON支持多种地理信息类型,如点、线、面、坐标系统等。GeoJSON基本结构GeoJSON文件本质上是一个JSON对象,通常包含以下几个主要部分:type:指定GeoJSON数据的类型。features:一个包含</div> </li> <li><a href="/article/1891591408171675648.htm" title="java面试题:多线程交替打印数字" target="_blank">java面试题:多线程交替打印数字</a> <span class="text-muted">小猫猫猫◍˃ᵕ˂◍</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>面试题:多线程交替打印数字代码概述这个Java程序使用了三个线程(t1,t2,t3)和三个信号量(first,second,third)来实现交替打印数字1、2、3的功能。每个线程负责打印一个数字,并通过信号量来控制线程的执行顺序。代码结构信号量初始化:first,second,third三个信号量分别用于控制三个线程的执行顺序。初始时,first信号量的许可数为0,表示t1线程需要等待。线程定义</div> </li> <li><a href="/article/1891587756908408832.htm" title="使用 Shiro 和 JPA 结合 MySQL 实现一个简易权限管理系统" target="_blank">使用 Shiro 和 JPA 结合 MySQL 实现一个简易权限管理系统</a> <span class="text-muted">Java猿_</span> <a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a> <div>1.项目设置首先,确保你的项目已经配置好Maven或Gradle依赖管理工具,并添加以下依赖:Maven依赖org.apache.shiroshiro-core1.9.0org.apache.shiroshiro-web1.9.0org.springframework.bootspring-boot-starter-data-jpamysqlmysql-connector-java8.0.26or</div> </li> <li><a href="/article/1891587629460287488.htm" title="如何在Python中进行JSON数据的序列化和反序列化?" target="_blank">如何在Python中进行JSON数据的序列化和反序列化?</a> <span class="text-muted">计算机学长大白</span> <a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>在Python中,JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。Python内置的json模块提供了简单易用的方法来实现数据的序列化和反序列化。下面将详细介绍如何在Python中进行JSON数据的序列化和反序列化,并给出具体的示例。1.序列化序列化是指将Python对象转换为JSON格式的字符串。json模块提供</div> </li> <li><a href="/article/1891585993039998976.htm" title="Java 实现 Redis中的GEO数据结构" target="_blank">Java 实现 Redis中的GEO数据结构</a> <span class="text-muted">潇凝子潇</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/redis/1.htm">redis</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/1.htm">数据结构</a> <div>Java实现Redis中的GEO数据结构LBS(基于位置信息服务(Location-BasedService,LBS))应用访问的数据是和人或物关联的一组经纬度信息,而且要能查询相邻的经纬度范围,GEO就非常适合应用在LBS服务的场景中importjava.util.ArrayList;importjava.util.List;//定义一个表示地理位置的类,用于存储地理位置的相关信息publicc</div> </li> <li><a href="/article/1891569712035328000.htm" title="JAVA和Python的区别" target="_blank">JAVA和Python的区别</a> <span class="text-muted">草莓味的¥猪</span> <a class="tag" taget="_blank" href="/search/%E8%AF%AD%E8%A8%80/1.htm">语言</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>一、整体区别语法结构:Java是一种面向对象的编程语言,采用了类和对象的概念,需要使用大括号“{}”来定义代码块和方法。而Python是一种动态类型的编程语言,使用缩进来表示代码块的层级结构,不需要显式地定义类和对象。编程范式:Java是一种静态类型的编程语言,需要在编译时进行类型检查,并且必须声明变量的数据类型。Python是一种动态类型的编程语言,变量的数据类型是根据赋值而确定的,不需要显式声</div> </li> <li><a href="/article/1891567947101564928.htm" title="LeetCode 第 211 场周赛 (哈希表、字符串(取模、枚举)、排序+最长上升子序列和、筛法求约数+并查集)" target="_blank">LeetCode 第 211 场周赛 (哈希表、字符串(取模、枚举)、排序+最长上升子序列和、筛法求约数+并查集)</a> <span class="text-muted">2401_84046816</span> <a class="tag" taget="_blank" href="/search/%E7%A8%8B%E5%BA%8F%E5%91%98/1.htm">程序员</a><a class="tag" taget="_blank" href="/search/leetcode/1.htm">leetcode</a><a class="tag" taget="_blank" href="/search/%E6%95%A3%E5%88%97%E8%A1%A8/1.htm">散列表</a><a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95/1.htm">面试</a> <div>《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》,点击传送门,即可获取!for(inti=0;i<s.size();i++){charc=s[i];mp[c].push_back(i);}intans=-1;for(constauto&it:mp){auto&v=it.second;ans=max(ans,v.back()-v[0]-1);}returnans;}};1</div> </li> <li><a href="/article/1891567819875741696.htm" title="Java8适配的markdown转换html工具(FlexMark)" target="_blank">Java8适配的markdown转换html工具(FlexMark)</a> <span class="text-muted">星极天下第一</span> <a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/Java/1.htm">Java</a><a class="tag" taget="_blank" href="/search/html/1.htm">html</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>坐标地址:com.vladsch.flexmarkflexmark-all0.60.0工具类代码:importcom.vladsch.flexmark.ext.tables.TablesExtension;importcom.vladsch.flexmark.ext.toc.TocExtension;importcom.vladsch.flexmark.html.HtmlRenderer;impo</div> </li> <li><a href="/article/1891564666740600832.htm" title="如何在Java中设计大规模稀疏数据处理架构" target="_blank">如何在Java中设计大规模稀疏数据处理架构</a> <span class="text-muted">省赚客app开发者</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>如何在Java中设计大规模稀疏数据处理架构大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!在大数据时代,稀疏数据在各个领域变得越来越常见,例如推荐系统、自然语言处理、图像处理等。稀疏数据通常包含大量零值或空值,直接使用传统的数据处理架构可能导致效率低下,内存和计算资源浪费。因此,设计一个高效的稀疏数据处理架构成为Java开发者面临的关键挑战。本文将探讨如何在Java中</div> </li> <li><a href="/article/1891559237344096256.htm" title="leaflet手绘地图实现原理-可视化工具设计手绘地图" target="_blank">leaflet手绘地图实现原理-可视化工具设计手绘地图</a> <span class="text-muted">diygwcom</span> <a class="tag" taget="_blank" href="/search/leaflet/1.htm">leaflet</a><a class="tag" taget="_blank" href="/search/%E6%89%8B%E7%BB%98%E5%9C%B0%E5%9B%BE/1.htm">手绘地图</a><a class="tag" taget="_blank" href="/search/%E8%87%AA%E5%AE%9A%E4%B9%89%E5%9C%B0%E5%9B%BE%E7%93%A6%E7%89%87/1.htm">自定义地图瓦片</a> <div>在Leaflet中实现手绘地图并添加自定义标注是一个有趣且实用的功能。Leaflet是一个开源的JavaScript库,用于在网页上创建交互式地图。下面是一个基本的实现步骤,包括如何加载手绘地图和添加自定义标注。步骤1:设置HTML页面首先,创建一个基本的HTML页面,并引入Leaflet库。Leaflet手绘地图与自定义标注#map{height:100vh;}//JavaScript代码将在这</div> </li> <li><a href="/article/1891547502612639744.htm" title="Java中代码的执行顺序(Java基础)" target="_blank">Java中代码的执行顺序(Java基础)</a> <span class="text-muted">Java搬码工</span> <a class="tag" taget="_blank" href="/search/javaSE/1.htm">javaSE</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>在Java里,不同类型代码有着特定的执行顺序,理解这些顺序对掌握程序运行逻辑十分关键。下面将详细阐述Java中不同类型代码(静态代码块、实例代码块、构造方法、静态变量、实例变量、静态方法、实例方法等)的执行顺序。单类中的代码执行顺序当只有一个类时,代码执行顺序通常为:静态变量初始化、静态代码块、实例变量初始化、实例代码块、构造方法。classSingleClassExample{//静态变量sta</div> </li> <li><a href="/article/1891544602947678208.htm" title="CentOS重装Java" target="_blank">CentOS重装Java</a> <span class="text-muted">GitIDEA</span> <a class="tag" taget="_blank" href="/search/centos/1.htm">centos</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a> <div>查看java的安装信息rpm-qa|grepjavarpm-e--nodepsjava-1.8.0-openjdk-1.8.0.322.b06-1.el7_9.x86_64验证java--version重装Centos7安装JDK21、配置环境变量1.下载jdk21安装包1.进入Oracle官网:https://www.oracle.com/2.点击Products->向下拉点击Java->右上角</div> </li> <li><a href="/article/67.htm" title="jvm调优总结(从基本概念 到 深度优化)" target="_blank">jvm调优总结(从基本概念 到 深度优化)</a> <span class="text-muted">oloz</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/jvm/1.htm">jvm</a><a class="tag" taget="_blank" href="/search/jdk/1.htm">jdk</a><a class="tag" taget="_blank" href="/search/%E8%99%9A%E6%8B%9F%E6%9C%BA/1.htm">虚拟机</a><a class="tag" taget="_blank" href="/search/%E5%BA%94%E7%94%A8%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">应用服务器</a> <div>JVM参数详解:http://www.cnblogs.com/redcreen/archive/2011/05/04/2037057.html   Java虚拟机中,数据类型可以分为两类:基本类型和引用类型。基本类型的变量保存原始值,即:他代表的值就是数值本身;而引用类型的变量保存引用值。“引用值”代表了某个对象的引用,而不是对象本身,对象本身存放在这个引用值所表示的地址的位置。 </div> </li> <li><a href="/article/194.htm" title="【Scala十六】Scala核心十:柯里化函数" target="_blank">【Scala十六】Scala核心十:柯里化函数</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/scala/1.htm">scala</a> <div>本篇文章重点说明什么是函数柯里化,这个语法现象的背后动机是什么,有什么样的应用场景,以及与部分应用函数(Partial Applied Function)之间的联系   1. 什么是柯里化函数 A way to write functions with multiple parameter lists. For instance def f(x: Int)(y: Int) is a </div> </li> <li><a href="/article/321.htm" title="HashMap" target="_blank">HashMap</a> <span class="text-muted">dalan_123</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>HashMap在java中对很多人来说都是熟的;基于hash表的map接口的非同步实现。允许使用null和null键;同时不能保证元素的顺序;也就是从来都不保证其中的元素的顺序恒久不变。 1、数据结构     在java中,最基本的数据结构无外乎:数组 和 引用(指针),所有的数据结构都可以用这两个来构造,HashMap也不例外,归根到底HashMap就是一个链表散列的数据</div> </li> <li><a href="/article/448.htm" title="Java Swing如何实时刷新JTextArea,以显示刚才加append的内容" target="_blank">Java Swing如何实时刷新JTextArea,以显示刚才加append的内容</a> <span class="text-muted">周凡杨</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E6%9B%B4%E6%96%B0/1.htm">更新</a><a class="tag" taget="_blank" href="/search/swing/1.htm">swing</a><a class="tag" taget="_blank" href="/search/JTextArea/1.htm">JTextArea</a> <div>在代码中执行完textArea.append("message")后,如果你想让这个更新立刻显示在界面上而不是等swing的主线程返回后刷新,我们一般会在该语句后调用textArea.invalidate()和textArea.repaint()。 问题是这个方法并不能有任何效果,textArea的内容没有任何变化,这或许是swing的一个bug,有一个笨拙的办法可以实现</div> </li> <li><a href="/article/575.htm" title="servlet或struts的Action处理ajax请求" target="_blank">servlet或struts的Action处理ajax请求</a> <span class="text-muted">g21121</span> <a class="tag" taget="_blank" href="/search/servlet/1.htm">servlet</a> <div>其实处理ajax的请求非常简单,直接看代码就行了: //如果用的是struts //HttpServletResponse response = ServletActionContext.getResponse(); // 设置输出为文字流 response.setContentType("text/plain"); // 设置字符集 res</div> </li> <li><a href="/article/702.htm" title="FineReport的公式编辑框的语法简介" target="_blank">FineReport的公式编辑框的语法简介</a> <span class="text-muted">老A不折腾</span> <a class="tag" taget="_blank" href="/search/finereport/1.htm">finereport</a><a class="tag" taget="_blank" href="/search/%E5%85%AC%E5%BC%8F/1.htm">公式</a><a class="tag" taget="_blank" href="/search/%E6%80%BB%E7%BB%93/1.htm">总结</a> <div>FINEREPORT用到公式的地方非常多,单元格(以=开头的便被解析为公式),条件显示,数据字典,报表填报属性值定义,图表标题,轴定义,页眉页脚,甚至单元格的其他属性中的鼠标悬浮提示内容都可以写公式。 简单的说下自己感觉的公式要注意的几个地方:   1.if语句语法刚接触感觉比较奇怪,if(条件式子,值1,值2),if可以嵌套,if(条件式子1,值1,if(条件式子2,值2,值3)</div> </li> <li><a href="/article/829.htm" title="linux mysql 数据库乱码的解决办法" target="_blank">linux mysql 数据库乱码的解决办法</a> <span class="text-muted">墙头上一根草</span> <a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93%E4%B9%B1%E7%A0%81/1.htm">数据库乱码</a> <div>linux 上mysql数据库区分大小写的配置 lower_case_table_names=1 1-不区分大小写 0-区分大小写   修改/etc/my.cnf 具体的修改内容如下:   [client] default-character-set=utf8   [mysqld] datadir=/var/lib/mysql socket=/va</div> </li> <li><a href="/article/956.htm" title="我的spring学习笔记6-ApplicationContext实例化的参数兼容思想" target="_blank">我的spring学习笔记6-ApplicationContext实例化的参数兼容思想</a> <span class="text-muted">aijuans</span> <a class="tag" taget="_blank" href="/search/Spring+3/1.htm">Spring 3</a> <div>ApplicationContext能读取多个Bean定义文件,方法是: ApplicationContext appContext = new ClassPathXmlApplicationContext( new String[]{“bean-config1.xml”,“bean-config2.xml”,“bean-config3.xml”,“bean-config4.xml</div> </li> <li><a href="/article/1083.htm" title="mysql 基准测试之sysbench" target="_blank">mysql 基准测试之sysbench</a> <span class="text-muted">annan211</span> <a class="tag" taget="_blank" href="/search/%E5%9F%BA%E5%87%86%E6%B5%8B%E8%AF%95/1.htm">基准测试</a><a class="tag" taget="_blank" href="/search/mysql%E5%9F%BA%E5%87%86%E6%B5%8B%E8%AF%95/1.htm">mysql基准测试</a><a class="tag" taget="_blank" href="/search/MySQL%E6%B5%8B%E8%AF%95/1.htm">MySQL测试</a><a class="tag" taget="_blank" href="/search/sysbench/1.htm">sysbench</a> <div>1 执行如下命令,安装sysbench-0.5: tar xzvf sysbench-0.5.tar.gz  cd sysbench-0.5  chmod +x autogen.sh  ./autogen.sh  ./configure --with-mysql --with-mysql-includes=/usr/local/mysql</div> </li> <li><a href="/article/1210.htm" title="sql的复杂查询使用案列与技巧" target="_blank">sql的复杂查询使用案列与技巧</a> <span class="text-muted">百合不是茶</span> <a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a><a class="tag" taget="_blank" href="/search/sql/1.htm">sql</a><a class="tag" taget="_blank" href="/search/%E5%87%BD%E6%95%B0/1.htm">函数</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%88%86%E9%A1%B5/1.htm">数据分页</a><a class="tag" taget="_blank" href="/search/%E5%90%88%E5%B9%B6%E6%9F%A5%E8%AF%A2/1.htm">合并查询</a> <div>  本片博客使用的数据库表是oracle中的scott用户表;          -------------------  自然连接查询           查询 smith 的上司(两种方法) &</div> </li> <li><a href="/article/1337.htm" title="深入学习Thread类" target="_blank">深入学习Thread类</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/thread/1.htm">thread</a><a class="tag" taget="_blank" href="/search/%E5%A4%9A%E7%BA%BF%E7%A8%8B/1.htm">多线程</a><a class="tag" taget="_blank" href="/search/java%E5%A4%9A%E7%BA%BF%E7%A8%8B/1.htm">java多线程</a> <div>一.             线程的名字 下面来看一下Thread类的name属性,它的类型是String。它其实就是线程的名字。在Thread类中,有String getName()和void setName(String)两个方法用来设置和获取这个属性的值。 同时,Thr</div> </li> <li><a href="/article/1464.htm" title="JSON串转换成Map以及如何转换到对应的数据类型" target="_blank">JSON串转换成Map以及如何转换到对应的数据类型</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/fastjson/1.htm">fastjson</a><a class="tag" taget="_blank" href="/search/net.sf.json/1.htm">net.sf.json</a> <div>        在实际开发中,难免会碰到JSON串转换成Map的情况,下面来看看这方面的实例。另外,由于fastjson只支持JDK1.5及以上版本,因此在JDK1.4的项目中可以采用net.sf.json来处理。 一.fastjson实例 JsonUtil.java package com.study; impor</div> </li> <li><a href="/article/1591.htm" title="【RPC框架HttpInvoker一】HttpInvoker:Spring自带RPC框架" target="_blank">【RPC框架HttpInvoker一】HttpInvoker:Spring自带RPC框架</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a> <div>HttpInvoker是Spring原生的RPC调用框架,HttpInvoker同Burlap和Hessian一样,提供了一致的服务Exporter以及客户端的服务代理工厂Bean,这篇文章主要是复制粘贴了Hessian与Spring集成一文,【RPC框架Hessian四】Hessian与Spring集成   在 【RPC框架Hessian二】Hessian 对象序列化和反序列化一文中</div> </li> <li><a href="/article/1718.htm" title="【Mahout二】基于Mahout CBayes算法的20newsgroup的脚本分析" target="_blank">【Mahout二】基于Mahout CBayes算法的20newsgroup的脚本分析</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/Mahout/1.htm">Mahout</a> <div>#!/bin/bash # # Licensed to the Apache Software Foundation (ASF) under one or more # contributor license agreements. See the NOTICE file distributed with # this work for additional information re</div> </li> <li><a href="/article/1845.htm" title="nginx三种获取用户真实ip的方法" target="_blank">nginx三种获取用户真实ip的方法</a> <span class="text-muted">ronin47</span> <div>随着nginx的迅速崛起,越来越多公司将apache更换成nginx. 同时也越来越多人使用nginx作为负载均衡, 并且代理前面可能还加上了CDN加速,但是随之也遇到一个问题:nginx如何获取用户的真实IP地址,如果后端是apache,请跳转到<apache获取用户真实IP地址>,如果是后端真实服务器是nginx,那么继续往下看。 实例环境: 用户IP 120.22.11.11 </div> </li> <li><a href="/article/1972.htm" title="java-判断二叉树是不是平衡" target="_blank">java-判断二叉树是不是平衡</a> <span class="text-muted">bylijinnan</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>参考了 http://zhedahht.blog.163.com/blog/static/25411174201142733927831/ 但是用java来实现有一个问题。 由于Java无法像C那样“传递参数的地址,函数返回时能得到参数的值”,唯有新建一个辅助类:AuxClass import ljn.help.*; public class BalancedBTree { </div> </li> <li><a href="/article/2099.htm" title="BeanUtils.copyProperties VS PropertyUtils.copyProperties" target="_blank">BeanUtils.copyProperties VS PropertyUtils.copyProperties</a> <span class="text-muted">诸葛不亮</span> <a class="tag" taget="_blank" href="/search/PropertyUtils/1.htm">PropertyUtils</a><a class="tag" taget="_blank" href="/search/BeanUtils/1.htm">BeanUtils</a> <div> BeanUtils.copyProperties VS  PropertyUtils.copyProperties  作为两个bean属性copy的工具类,他们被广泛使用,同时也很容易误用,给人造成困然;比如:昨天发现同事在使用BeanUtils.copyProperties copy有integer类型属性的bean时,没有考虑到会将null转换为0,而后面的业</div> </li> <li><a href="/article/2226.htm" title="[金融与信息安全]最简单的数据结构最安全" target="_blank">[金融与信息安全]最简单的数据结构最安全</a> <span class="text-muted">comsci</span> <a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/1.htm">数据结构</a> <div>       现在最流行的数据库的数据存储文件都具有复杂的文件头格式,用操作系统的记事本软件是无法正常浏览的,这样的情况会有什么问题呢?        从信息安全的角度来看,如果我们数据库系统仅仅把这种格式的数据文件做异地备份,如果相同版本的所有数据库管理系统都同时被攻击,那么</div> </li> <li><a href="/article/2353.htm" title="vi区段删除" target="_blank">vi区段删除</a> <span class="text-muted">Cwind</span> <a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/vi/1.htm">vi</a><a class="tag" taget="_blank" href="/search/%E5%8C%BA%E6%AE%B5%E5%88%A0%E9%99%A4/1.htm">区段删除</a> <div>区段删除是编辑和分析一些冗长的配置文件或日志文件时比较常用的操作。简记下vi区段删除要点备忘。   vi概述    引文中并未将末行模式单独列为一种模式。单不单列并不重要,能区分命令模式与末行模式即可。   vi区段删除步骤: 1. 在末行模式下使用:set nu显示行号 非必须,随光标移动vi右下角也会显示行号,能够正确找到并记录删除开始行</div> </li> <li><a href="/article/2480.htm" title="清除tomcat缓存的方法总结" target="_blank">清除tomcat缓存的方法总结</a> <span class="text-muted">dashuaifu</span> <a class="tag" taget="_blank" href="/search/tomcat/1.htm">tomcat</a><a class="tag" taget="_blank" href="/search/%E7%BC%93%E5%AD%98/1.htm">缓存</a> <div>用tomcat容器,大家可能会发现这样的问题,修改jsp文件后,但用IE打开 依然是以前的Jsp的页面。 出现这种现象的原因主要是tomcat缓存的原因。 解决办法如下: 在jsp文件头加上 <meta http-equiv="Expires" content="0"> <meta http-equiv="kiben&qu</div> </li> <li><a href="/article/2607.htm" title="不要盲目的在项目中使用LESS CSS" target="_blank">不要盲目的在项目中使用LESS CSS</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/Web/1.htm">Web</a><a class="tag" taget="_blank" href="/search/less/1.htm">less</a> <div> 如果你还不知道LESS CSS是什么东西,可以看一下这篇文章,是我一朋友写给新人看的《CSS——LESS》   不可否认,LESS CSS是个强大的工具,它弥补了css没有变量、无法运算等一些“先天缺陷”,但它似乎给我一种错觉,就是为了功能而实现功能。   比如它的引用功能 ? .rounded_corners{     </div> </li> <li><a href="/article/2734.htm" title="[入门]更上一层楼" target="_blank">[入门]更上一层楼</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/PHP/1.htm">PHP</a><a class="tag" taget="_blank" href="/search/yii2/1.htm">yii2</a> <div>更上一层楼 通篇阅读完整个“入门”部分,你就完成了一个完整 Yii 应用的创建。在此过程中你学到了如何实现一些常用功能,例如通过 HTML 表单从用户那获取数据,从数据库中获取数据并以分页形式显示。你还学到了如何通过 Gii 去自动生成代码。使用 Gii 生成代码把 Web 开发中多数繁杂的过程转化为仅仅填写几个表单就行。 本章将介绍一些有助于更好使用 Yii 的资源: </div> </li> <li><a href="/article/2861.htm" title="Apache HttpClient使用详解" target="_blank">Apache HttpClient使用详解</a> <span class="text-muted">eksliang</span> <a class="tag" taget="_blank" href="/search/httpclient/1.htm">httpclient</a><a class="tag" taget="_blank" href="/search/http%E5%8D%8F%E8%AE%AE/1.htm">http协议</a> <div>Http协议的重要性相信不用我多说了,HttpClient相比传统JDK自带的URLConnection,增加了易用性和灵活性(具体区别,日后我们再讨论),它不仅是客户端发送Http请求变得容易,而且也方便了开发人员测试接口(基于Http协议的),即提高了开发的效率,也方便提高代码的健壮性。因此熟练掌握HttpClient是很重要的必修内容,掌握HttpClient后,相信对于Http协议的了解会</div> </li> <li><a href="/article/2988.htm" title="zxing二维码扫描功能" target="_blank">zxing二维码扫描功能</a> <span class="text-muted">gundumw100</span> <a class="tag" taget="_blank" href="/search/android/1.htm">android</a><a class="tag" taget="_blank" href="/search/zxing/1.htm">zxing</a> <div>经常要用到二维码扫描功能 现给出示例代码 import com.google.zxing.WriterException; import com.zxing.activity.CaptureActivity; import com.zxing.encoding.EncodingHandler; import android.app.Activity; import an</div> </li> <li><a href="/article/3115.htm" title="纯HTML+CSS带说明的黄色导航菜单" target="_blank">纯HTML+CSS带说明的黄色导航菜单</a> <span class="text-muted">ini</span> <a class="tag" taget="_blank" href="/search/html/1.htm">html</a><a class="tag" taget="_blank" href="/search/Web/1.htm">Web</a><a class="tag" taget="_blank" href="/search/html5/1.htm">html5</a><a class="tag" taget="_blank" href="/search/css/1.htm">css</a><a class="tag" taget="_blank" href="/search/hovertree/1.htm">hovertree</a> <div>HoverTree带说明的CSS菜单:纯HTML+CSS结构链接带说明的黄色导航   在线体验效果:http://hovertree.com/texiao/css/1.htm代码如下,保存到HTML文件可以看到效果:   <!DOCTYPE html > <html > <head> <title>HoverTree</div> </li> <li><a href="/article/3242.htm" title="fastjson初始化对性能的影响" target="_blank">fastjson初始化对性能的影响</a> <span class="text-muted">kane_xie</span> <a class="tag" taget="_blank" href="/search/fastjson/1.htm">fastjson</a><a class="tag" taget="_blank" href="/search/%E5%BA%8F%E5%88%97%E5%8C%96/1.htm">序列化</a> <div>之前在项目中序列化是用thrift,性能一般,而且需要用编译器生成新的类,在序列化和反序列化的时候感觉很繁琐,因此想转到json阵营。对比了jackson,gson等框架之后,决定用fastjson,为什么呢,因为看名字感觉很快。。。   网上的说法:   fastjson 是一个性能很好的 Java 语言实现的 JSON 解析器和生成器,来自阿里巴巴的工程师开发。 </div> </li> <li><a href="/article/3369.htm" title="基于Mybatis封装的增删改查实现通用自动化sql" target="_blank">基于Mybatis封装的增删改查实现通用自动化sql</a> <span class="text-muted">mengqingyu</span> <a class="tag" taget="_blank" href="/search/DAO/1.htm">DAO</a> <div>1.基于map或javaBean的增删改查可实现不写dao接口和实现类以及xml,有效的提高开发速度。 2.支持自定义注解包括主键生成、列重复验证、列名、表名等 3.支持批量插入、批量更新、批量删除 <bean id="dynamicSqlSessionTemplate" class="com.mqy.mybatis.support.Dynamic</div> </li> <li><a href="/article/3496.htm" title="js控制input输入框的方法封装(数字,中文,字母,浮点数等)" target="_blank">js控制input输入框的方法封装(数字,中文,字母,浮点数等)</a> <span class="text-muted">qifeifei</span> <a class="tag" taget="_blank" href="/search/javascript+js/1.htm">javascript js</a> <div>在项目开发的时候,经常有一些输入框,控制输入的格式,而不是等输入好了再去检查格式,格式错了就报错,体验不好。 /** 数字,中文,字母,浮点数(+/-/.) 类型输入限制,只要在input标签上加上 jInput="number,chinese,alphabet,floating" 备注:floating属性只能单独用*/     funct</div> </li> <li><a href="/article/3623.htm" title="java 计时器应用" target="_blank">java 计时器应用</a> <span class="text-muted">tangqi609567707</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/timer/1.htm">timer</a> <div>mport java.util.TimerTask;   import java.util.Calendar;   public class MyTask extends TimerTask {        private static final int </div> </li> <li><a href="/article/3750.htm" title="erlang输出调用栈信息" target="_blank">erlang输出调用栈信息</a> <span class="text-muted">wudixiaotie</span> <a class="tag" taget="_blank" href="/search/erlang/1.htm">erlang</a> <div>在erlang otp的开发中,如果调用第三方的应用,会有有些错误会不打印栈信息,因为有可能第三方应用会catch然后输出自己的错误信息,所以对排查bug有很大的阻碍,这样就要求我们自己打印调用的栈信息。用这个函数:erlang:process_display (self (), backtrace).需要注意这个函数只会输出到标准错误输出。 也可以用这个函数:erlang:get_s</div> </li> </ul> </div> </div> </div> <div> <div class="container"> <div class="indexes"> <strong>按字母分类:</strong> <a href="/tags/A/1.htm" target="_blank">A</a><a href="/tags/B/1.htm" target="_blank">B</a><a href="/tags/C/1.htm" target="_blank">C</a><a href="/tags/D/1.htm" target="_blank">D</a><a href="/tags/E/1.htm" target="_blank">E</a><a href="/tags/F/1.htm" target="_blank">F</a><a href="/tags/G/1.htm" target="_blank">G</a><a href="/tags/H/1.htm" target="_blank">H</a><a href="/tags/I/1.htm" target="_blank">I</a><a href="/tags/J/1.htm" target="_blank">J</a><a href="/tags/K/1.htm" target="_blank">K</a><a href="/tags/L/1.htm" target="_blank">L</a><a href="/tags/M/1.htm" target="_blank">M</a><a href="/tags/N/1.htm" target="_blank">N</a><a href="/tags/O/1.htm" target="_blank">O</a><a href="/tags/P/1.htm" target="_blank">P</a><a href="/tags/Q/1.htm" target="_blank">Q</a><a href="/tags/R/1.htm" target="_blank">R</a><a href="/tags/S/1.htm" target="_blank">S</a><a href="/tags/T/1.htm" target="_blank">T</a><a href="/tags/U/1.htm" target="_blank">U</a><a href="/tags/V/1.htm" target="_blank">V</a><a href="/tags/W/1.htm" target="_blank">W</a><a href="/tags/X/1.htm" target="_blank">X</a><a href="/tags/Y/1.htm" target="_blank">Y</a><a href="/tags/Z/1.htm" target="_blank">Z</a><a href="/tags/0/1.htm" target="_blank">其他</a> </div> </div> </div> <footer id="footer" class="mb30 mt30"> <div class="container"> <div class="footBglm"> <a target="_blank" href="/">首页</a> - <a target="_blank" href="/custom/about.htm">关于我们</a> - <a target="_blank" href="/search/Java/1.htm">站内搜索</a> - <a target="_blank" href="/sitemap.txt">Sitemap</a> - <a target="_blank" href="/custom/delete.htm">侵权投诉</a> </div> <div class="copyright">版权所有 IT知识库 CopyRight © 2000-2050 E-COM-NET.COM , All Rights Reserved. <!-- <a href="https://beian.miit.gov.cn/" rel="nofollow" target="_blank">京ICP备09083238号</a><br>--> </div> </div> </footer> <!-- 代码高亮 --> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shCore.js"></script> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shLegacy.js"></script> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shAutoloader.js"></script> <link type="text/css" rel="stylesheet" href="/static/syntaxhighlighter/styles/shCoreDefault.css"/> <script type="text/javascript" src="/static/syntaxhighlighter/src/my_start_1.js"></script> </body> </html>