自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 收藏
  • 关注

原创 Listener监听器

基本概念Servlet规范中定义的一种特殊的组件,用来监听Servlet容器产生的事件并进行相应的处理容器产生的事件分类如下:生命周期相关的事件属性状态相关的事件存值状态相关的事件底层原理是采用接口回调的方式实现基本分类Listener监听三个域对象创建与销毁ServletRequestListener监听器package com.lagou.demo03;import javax.servlet.ServletRequestEvent;import javax.serv

2021-04-30 13:18:06 81 1

原创 剑指offer JZ40 数组中只出现一次的两个数字

题目链接:JZ40 数组中只出现一次的两个数字解题基础首先要知道异或运算的几个性质交换律结合律 (ab)c == a(bc)对于任何数x,都有xx=0,x0=x自反性 A XOR B = C 则 C XOR B = A本题思路:如果只有一个数字仅出现一次,其余都出现两次,则所有数字异或的结果就是那个仅出现一次的数字。此题中,有两个数字只出现一次。先对所有数字进行一次异或,得到两个出现一次的数字的异或值。在异或结果中找到任意为 1 的位。根据这一位对所有的数字进行分组。

2021-04-29 14:21:15 120

原创 剑指offer JZ39 平衡二叉树

题目链接:JZ39 平衡二叉树本题思路:import java.lang.Math;public class Solution { public boolean IsBalanced_Solution(TreeNode root) { if(root == null) return true; // 判断左右两个子树的高度差 && 左右两个子树都是一棵平衡二叉树 return Math.abs(maxDepth(root.le

2021-04-29 14:19:23 65

原创 剑指offer JZ38 二叉树的深度

题目链接:JZ38 二叉树的深度本题思路:/**public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val; }}*/import java.lang.Math;public class Solution { public int Tre

2021-04-29 14:16:26 68

原创 剑指offer JZ37 数字在升序数组中出现的次数

题目链接:JZ37 数字在升序数组中出现的次数本题思路:public class Solution { public int GetNumberOfK(int [] array , int k) { // 排序数组中的搜索问题 首先想到二分法 // 统计次数 找到左右边界(left k k k right) 次数= right - left - 1 return right(array, k) - left(array, k) - 1;

2021-04-29 14:06:05 74

原创 剑指offer JZ36 两个链表的第一个公共结点

题目链接:JZ36 两个链表的第一个公共结点本题思路:/*public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; }}*/public class Solution { public ListNode FindFirstCommonNode(ListNode pHead1, ListNode pHead2) {

2021-04-29 12:44:34 78

原创 剑指offer JZ35 数组中的逆序对

题目链接:JZ35 数组中的逆序对本题思路:数组中的逆序对(归并排序,清晰图解)public class Solution { public int InversePairs(int [] array) { // 分治思想:归并排序 int len = array.length; int[] copy = new int[len]; for(int i = 0; i < len; i++) { co

2021-04-29 10:33:19 120

原创 剑指offer JZ34 第一个只出现一次的字符

题目链接:JZ34 第一个只出现一次的字符本题思路:import java.util.*;public class Solution { public int FirstNotRepeatingChar(String str) { Map<Character, Integer> map = new HashMap<>(); for(int i = 0; i < str.length(); i++) { c

2021-04-27 09:16:32 129

原创 剑指offer JZ33 丑数

题目链接:JZ33 丑数_牛客题霸_牛客网 (nowcoder.com)本题思路:我们知道,丑数的排列是1,2,3,4,5,6,8,10…其中规律是:任意一个丑数都是由小于它的某一个丑数乘以2、3或者5得到的,相当于三个结果链表,那么所有丑数的排列,必定就是下面ABC3个链表的合并结果然后去重得到的。A:{1*2,2*2,3*2……}B:{1*3,2*3,3*3……}C:{1*5,2*5,3*5……}构建丑数数组:我们每次添加进去一个当前计算出来个三个丑数的最小的一个,并且是谁计算的,谁

2021-04-27 09:12:32 112

原创 Linux常用命令

Shell的概念Shell俗称外壳,是提供用户使用界面的一种软件,叫做命令解释器。主要负责接受用户输入的命令,然后调用相应的应用程序,最后向用户输出程序运行的结果。命令的格式命令 [-选项] [参数]命令区分大小写,其中选项和参数是可选的,中间采用空格隔开。常用命令查看目录下文件/目录:lsls -l:显示详细信息ls -a:显示全部(包含隐藏文件)文件ls 目录名:查看目录下有什么东西目录切换:cdcd dirname:进入目录cd … :上一级目录cd 或 cd

2021-04-26 21:50:56 106

原创 Filter过滤器

基本概念Filter本意为”过滤“的含义,是JavaWeb的三大组件之一,三大组件为:Servlet、Filter、 Listener。过滤器是向 Web 应用程序的请求和响应处理添加功能的 Web 服务组件。过滤器相当于浏览器与Web资源之间的一道过滤网,在访问资源之前通过一系列的过滤器对请求进行修改、判断以及拦截等,也可以对响应进行修改、判断以及拦截等。工作方式使用方式自定义类实现Filter接口并重写doFilter方法。public class LoginFilter imple

2021-04-25 22:11:10 89

原创 JSTL标签

基本概念JSTL( JSP Standard Tag Library ) 被称为JSP标准标签库。开发人员可以利用这些标签取代JSP页面上的Java代码,从而提高程序的可读性,降低程序的维护难度。使用方式下载JSTL的jar包并添加到项目中,下载地址为:https://tomcat.apache.org/download-taglibs.cgi在JSP页面中使用taglib指定引入jstl标签库,方式为:<!-- prefix属性用于指定库前缀 --><!-- u

2021-04-24 19:07:39 138

原创 EL表达式

基本概念EL(Expression Language)表达式提供了在JSP中简化表达式的方法,可以方便地访问各种数据并输出。主要功能依次访问pageContext、request、session和application作用域对象存储的数据。若属性名相同,只能按顺序取到作用域最小的那个值可用pageScope、requestScope、sessionScope、applicationScope指定作用域获取请求参数值。访问Bean对象的属性。访问集合中的数据。输出简单的运算结果。

2021-04-24 09:16:07 68

原创 剑指offer JZ32 把数组排成最小的数

题目链接:JZ32 把数组排成最小的数本题思路:import java.util.ArrayList;public class Solution { public String PrintMinNumber(int [] numbers) { // 若拼接字符串 x + y > y + x 则 x “大于” y // 332 > 323 3 “大于” 32 3排在32后面 ArrayList<String> list

2021-04-21 22:29:34 101

转载 JSP核心技术

3.1 JSP的概述(熟悉)3.1.1 JSP的概念JSP是Java Server Pages的简称,跟Servlet一样可以动态生成HTML响应, JSP文件命名为xxx.jsp。与Servlet不同,JSP文件以HTML标记为主,然后内嵌Java代码段,用于处理动态内容。3.1.2 JSP的示例<%@ page import="java.util.Date" %><%@ page contentType="text/html;charset=UTF-8" lan

2021-04-21 21:20:05 135

转载 Servlet核心技术

1.1 基本概念(常识)1.1.1 C/S架构的概念C/S架构(Client/Server,客户端/服务器模式),是一种比较早的软件体系结构,也是生活中很常见的结构。这种结构将需要处理的业务合理地分配到客户端和服务器端,客户端通常负责完成与用户的交互任务,服务器通常负责数据的管理。C/S架构的主要优点如下:客户端的界面和功能可以很丰富。应用服务器的负荷较轻。响应速度较快。C/S架构的主要缺点如下:适用面窄,用户群固定。维护和升级的成本高,所有的客户端都需要更新版本。

2021-04-21 20:55:45 153

原创 剑指offer JZ31 整数中1出现的次数(从1到n整数中1出现的次数)

题目链接:JZ31 整数中1出现的次数(从1到n整数中1出现的次数)本题思路:参考高赞答案:对于整数n,我们将这个整数分为三部分:当前位数字cur,更高位数字high,更低位数字low,如:对于n=21034,当位数是十位时,cur=3,high=210,low=4。我们从个位到最高位 依次计算每个位置出现1的次数:当前位的数字等于0时,例如n=21034,在百位上的数字cur=0,百位上是1的情况有:00100~ 00199,01100~ 01199,……,20100~20199。一共有2

2021-04-21 07:49:18 72

原创 剑指offer JZ30 连续子数组的最大和

题目链接:JZ30 连续子数组的最大和本题思路:import java.util.*;public class Solution { public int FindGreatestSumOfSubArray(int[] array) { // 动态规划 int[] dp = new int[array.length]; dp[0] = array[0]; int max = dp[0]; for(int i =

2021-04-18 19:41:37 115

原创 剑指offer JZ29 最小的K个数

题目链接:JZ29 最小的K个数给定一个数组,找出其中最小的K个数。例如数组元素是4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4。如果k > 数组的长度,那么返回一个空的数组。本题思路:大根堆 实时维护数组的前 k 小值。首先将前 k 个数插入大根堆中,随后从第 k+1个数开始遍历,如果当前遍历到的数比大根堆的堆顶的数要小,就把堆顶的数弹出,再插入当前遍历到的数。最后将大根堆里的数存入链表返回即可。import java.util.*;public cl

2021-04-18 19:39:32 96

原创 剑指offer JZ28 数组中出现次数超过一半的数字

题目链接:JZ28 数组中出现次数超过一半的数字本题思路:public class Solution { public int MoreThanHalfNum_Solution(int [] array) { int len = array.length; int res = 0; int count = 0; for(int i = 0; i < len; i++) { int temp = arr

2021-04-15 23:06:34 70

原创 剑指offer JZ27 字符串的排列

题目链接:JZ27 字符串的排列本题思路:import java.util.*;public class Solution { // 结果顺序不同也算错 ArrayList<String> res = new ArrayList<>(); public ArrayList<String> Permutation(String str) { char[] c = str.toCharArray();

2021-04-15 23:04:31 89

原创 剑指offer JZ26 二叉搜索树与双向链表

题目链接:JZ26 二叉搜索树与双向链表本题思路:public class Solution { TreeNode pre, head; public TreeNode Convert(TreeNode pRootOfTree) { // base case if(pRootOfTree == null) return null; // 中序遍历 构造链表 inOrder(pRootOfTree); ret

2021-04-15 23:02:59 61

原创 剑指offer JZ25 复杂链表的复制

题目链接:JZ25 复杂链表的复制本题思路:public class Solution { public RandomListNode Clone(RandomListNode pHead) { // base case if(pHead == null) return pHead; // 链表节点的复制 // cur = cur.next.next跳到原链表下一个节点 for(RandomListNode cur

2021-04-15 23:01:11 65

原创 剑指offer JZ24 二叉树中和为某一值的路径

题目链接:JZ24 二叉树中和为某一值的路径本题思路:public class Solution { // 结果列表res中可能有多个列表 // 所以ArrayList<ArrayList<Integer>> ArrayList<ArrayList<Integer>> res = new ArrayList<>(); // 输出结果 ArrayList<Integer> path = new Arr

2021-04-15 22:59:24 57

转载 Bootstrap详解

1 简介Bootstrap来自 Twitter,是目前最受欢迎的响应式前端框架。Bootstrap是基于 HTML、CSS、JavaScript的,它简洁灵活,使得 Web 开发更加快捷。为什么使用 Bootstrap?移动设备优先:自 Bootstrap3 起,框架包含了贯穿于整个库移动设备优先的样式。浏览器支持:所有的主流浏览器都支持 Bootstrap。容易上手:只要您具备 HTML 和 CSS 的基础知识,您就可以开始学习 Bootstrap。响应式设计:Bootstrap 的响

2021-04-12 00:26:46 358

原创 ECMAScript6 (ES6)

1 简介ECMAScript 6.0是 JavaScript 语言的下一代标准,2015 年 6 月正式发布。ES6 既是一个历史名词,也是一个泛指,含义是 5.1 版以后的 JavaScript 的下一代标准,涵盖了 ES2015、ES2016、ES2017 等等。它的目标,是使得 JavaScript 语言可以用来编写复杂的大型应用程序,成为企业级开发语言。ECMAScript 和 JavaScript 的关系1996 年 11 月,JavaScript 的创造者 Netscape 公司,决

2021-04-11 13:56:33 200

原创 Node.js

1 简介Node.js是脱离浏览器环境运行的JavaScript程序,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。JavaScript程序,必须要依赖浏览器才能运行,没有浏览器可用Node.js解决。简单的说 Node.js 就是运行在服务端的 JavaScript。2 安装官网:https://nodejs.org/en/中文网:http://nodejs.cn/LTS:长期支持版本Current:最新版查看版本在dos窗口中执行命令查看版本号

2021-04-11 13:31:06 123 1

转载 jQuery

1 介绍jQuery由美国人John Resig(约翰·莱西格)于2006年创建jQuery是目前最流行的JavaScript程序库,它是对JavaScript对象和函数的封装jQuery能做的JavaScript也都能做,但使用jQuery能大幅提高开发效率jQuery和JavaScript的之间的关系,可以理解为“成语”和“白话文”之间的关系,成语是对白话文的高度压缩,而jQuery也是对JavaScript的高度压缩库2 jQuery的使用jQuery作为一个单独存在的js文件,并不会

2021-04-11 01:15:48 157

原创 JavaScript

介绍虽然是java作为前缀,但java和javascript的关系,就像老婆和老婆饼之间的关系,没有一毛钱关系!网景公司在Netscape2.0首先推出了JavaScriptJavaScript 的正式名称是“ECMAScript”,此标准由 ECMA 组织发展和维护,简称“js”JavaScript 是一种网页编程技术,用来向 HTML 页面添加交互行为JavaScript 是一种基于对象和事件驱动的解释性脚本语言,直接嵌入 HTML 页面,由浏览器解释执行代码,不进行预编译特点解释执行:事

2021-04-08 20:38:53 74

原创 CSS

介绍什么是CSS?CSS是指层叠样式表 cascading style sheets通过CSS可以让我们定义HTML元素如何显示,CSS可以让我们原本HTML不能描述的效果,通过CSS描述出来。CSS与HTML结合方式1 内联/行内样式就是在我们的HTML标签上通过style属性来引用CSS代码优点:简单方便缺点:只能对一个标签进行修饰<body> <div style="color:red">hello,world!</div>&lt

2021-04-07 22:51:35 56

原创 HTML

介绍HTML 指的是超文本标记/标签语言 (Hyper Text Markup Language)普通的文本就是英文单词,英文字母一样的存在;超文本的意思是有一些单词或字母,在网页浏览器的世界中被赋予了特殊的权利。字母img只是普通的字母,没什么特殊的含义。而< img>被加上尖括号后,在网页的世界中,就具备了显示图片的作用。HTML的使用文件标签< html>标签:代表当前书写的是一个HTML文档< head>标签:存储的本页面的一些重要的信息,它不会显示

2021-04-06 01:39:09 108

原创 XML

XML基本介绍概述XML即可扩展标记语言(Extensible Markup Language)W3C在1998年2月发布1.0版本,2004年2月又发布1.1版本,但因为1.1版本不能向下兼容1.0版 本,所以1.1没有人用。同时,在2004年2月W3C又发布了1.0版本的第三版。我们要学习的还是 1.0版本 !特点可扩展的,标签都是自定义的语法十分严格XML的作用XML的语法XML文档声明格式<?xml version="1.0" encoding="UTF-8"?&

2021-04-01 22:33:15 80

原创 数据库连接池&DBUtils

数据库连接池连接池介绍实际开发中“获得连接”或“释放资源”是非常消耗系统资源的两个过程,为了解决此类性能问题,通常情况我们采用连接池技术,来共享连接Connection这样我们就不需要每次都创建连接、释放连接了,这些操作都交给了连接池连接池的好处用池来管理Connection,这样可以重复使用Connection当使用完Connection后,调用Connection的 close()方法也不会真的关闭Connection,而是把Connection“归还”给池如何使用数据库连接池

2021-04-01 19:40:27 109

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除