自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 Java垃圾回收与算法

我们知道Java在运行时内存分为了五个部分:程序计数器、虚拟机栈、本地方法栈、堆、方法区。其中程序计数器、虚拟机栈、本地方法栈所占用的内存是不需要垃圾收集的,这三个区域的内存随着线程生,随着线程死,我们需要关注的其实只有堆和方法区这两块内存的垃圾收集。下面从这几点说一下JVM GCGC要做什么如何判断对象已经死亡垃圾回收算法有哪些垃圾收...

2019-08-20 03:19:00 316

转载 Linux常见命令

1.目录切换命令:1)cd user:切换到该目录下user目录2)cd ..:切换上一层目录3)cd /:切换到根目录4)cd ~:切换到用户主目录5)cd -:切换到上一个操作所在目录2.目录的操作命令1)mkdir 目录名称:增加目录2)ls或者ll(ls是ls -l的别名,ll命名可以看到该目录下的所有目录和文件的详细信息):查看目录...

2019-08-16 23:57:00 193

转载 为什么重写equals还要重写hashcode呢?

首先说一下,我们在什么时候要重写equals和hashcode,当我们将在Map和Set集合存储对象时,存储对象要重写equals和hashcode。我们用Map做例子,因为Set底层调用的是Map集合。我们先定义一个User类,属性就是name和age,这个里面我们先不重写hashcode和equals方法private String name; p...

2019-08-12 23:38:00 277

转载 如何将Map对象转换为一个实体类对象

<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.1.46.sec01</version> ...

2019-08-09 03:23:00 2645

转载 基于JSP+Servlet+Redis实现旅游网系统

本项目基于JSP+Servlet+Redis实现的旅游网系统本项目基于用户登录,注册,退出,旅游线路查询,旅游线路展示,展示我的收藏来,展开项目总体分为Dao层,Service层,Servlet层,util层,domain层和前端页面,项目采用前后端分离技术,利用Ajax进行前后端数据交互1技术选型1.1Web层a)Servlet:前端控制器b)html:视图...

2019-08-09 03:14:00 535

转载 索引相关问题

数据库索引数据库索引是用于提高数据库表的数据访问速度的。数据库索引的特点:a)避免进行数据库全表的扫描,大多数情况,只需要扫描较少的索引页和数据页,而不是查询所有数据页。而且对于非聚集索引,有时不需要访问数据页即可得到数据。b)聚集索引可以避免数据插入操作,集中于表的最后一个数据页面。c)在某些情况下,索引可以避免排序操作。下面从这几个方面展开索引使用...

2019-08-04 23:59:00 192

转载 事务相关知识总结

1.什么是事务?事务是逻辑上的一组操作,要么都执行,要么都不执行。事务最经典也经常被拿出来说例子就是转账了。假如小明要给小红转账1000元,这个转账会涉及到两个关键操作就是:将小明的余额减少1000元,将小红的余额增加1000元。万一在这两个操作之间突然出现错误比如银行系统崩溃,导致小明余额减少而小红的余额没有增加,这样就不对了。事务就是保证这两个关键操作要么都成功,要么都要失败...

2019-08-03 01:12:00 111

转载 Spring IOC 和 AOP

ioc的思想最核心的地方在于,资源不由使用资源的双方管理,而由不使用资源的第三方管理,这可以带来很多好处。第一,资源集中管理,实现资源的可配置和易管理。第二,降低了使用资源双方的依赖程度,也就是我们说的耦合度。也就是说,甲方要达成某种目的不需要直接依赖乙方,它只需要达到的目的告诉第三方机构就可以了,比如甲方需要一双袜子,而乙方它卖一双袜子,它要把袜子卖出去,并不需要自己去直接...

2019-08-01 17:03:00 79

转载 Java 8系列之重新认识HashMap

摘要HashMap是Java程序员使用频率最高的用于映射(键值对)处理的数据类型。随着JDK(Java Developmet Kit)版本的更新,JDK1.8对HashMap底层的实现进行了优化,例如引入红黑树的数据结构和扩容的优化等。本文结合JDK1.7和JDK1.8的区别,深入探讨HashMap的结构实现和功能原理。简介Java...

2019-07-28 15:59:00 68

转载 单词拆分

方法 1:暴力算法最简单的实现方法是用递归和回溯。为了找到解,我们可以检查字典单词中每一个单词的可能前缀,如果在字典中出现过,那么去掉这个前缀后剩余部分回归调用。同时,如果某次函数调用中发现整个字符串都已经被拆分且在字典中出现过了,函数就返回 true 。public boolean wordBreak(String s, List<String> wordDict)...

2019-07-28 15:17:00 176

转载 根据二叉树创建字符串

你需要采用前序遍历的方式,将一个二叉树转换成一个由括号和整数组成的字符串。空节点则用一对空括号 "()" 表示。而且你需要省略所有不影响字符串与原始二叉树之间的一对一映射关系的空括号对。示例 1:输入: 二叉树: [1,2,3,4] 1 / \ 2 3 / 4 输出: "1...

2019-07-25 23:51:00 148

转载 根据所给结点求出最近公共祖先

问题描述:给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉树: root =[3,5,1,6,2,0,8,null,null,7,4]...

2019-07-25 12:58:00 170

转载 判断是否平衡二叉树

给定一个二叉树,判断是否平衡二叉树;所谓的平衡二叉树就是左节点小于根节点,根节点小于右结点,我们对平衡二叉树进行中序遍历,得到的结果就是一个升序,我们的解题思路也是这个法子代码如下:public boolean isValidBST(TreeNode root) { Stack<TreeNode> stack = new Stack&lt...

2019-07-24 23:44:00 125

转载 判断二叉树是否是镜像对称

给定一个二叉树,检查它是否是镜像对称的。 例如,二叉树[1,2,2,3,4,4,3] 是对称的。 1 / \ 2 2 / \ / \ 3 4 4 3 但是下面这个[1,2,2,null,3,null,3] 则不是镜像对称的: 1 / \ 2 2 \ \ 3...

2019-07-24 23:39:00 705

转载 顺时针打印矩阵

输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如, 如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10.思路:我们定义两个坐标,分别指向左上角和右下角,然后从左上角顺时针打印到右下角,右下角顺时针打印到左上角,最后 左...

2019-07-23 23:52:00 86

转载 利用前序遍历和中序遍历构造二叉树

根据一棵树的前序遍历与中序遍历构造二叉树。注意: 你可以假设树中没有重复的元素。 例如,给出 前序遍历 preorder =[3,9,20,15,7] 中序遍历 inorder = [9,3,15,20,7] 返回如下的二叉树: 3 / \ 9 20 / \ 15 7思想...

2019-07-22 23:29:00 138

转载 二叉树的四种遍历方式

二叉树的四种遍历方式:二叉树的遍历(traversing binary tree)是指从根结点出发,按照某种次序依次访问二叉树中所有的结点,使得每个结点被访问依次且仅被访问一次。四种遍历方式分别为:先序遍历、中序遍历、后序遍历、层序遍历。遍历之前,我们首先介绍一下,如何创建一个二叉树,在这里博主宝宝用的是先建左树在建右树的方法,首先要声明结点Tree...

2019-07-22 23:17:00 114

转载 最长回文子串

给定一个字符串 s,找到 s 中最长的回文子串。你可以假设s 的最大长度为 1000。示例 1:输入: "babad"输出: "bab"注意: "aba" 也是一个有效答案。示例 2:输入: "cbbd"输出: "bb"思路:中心扩散法的想法很简单:遍历每一个索引,以这个索引为中心,利用“回文串”中心对称的特点,往两边扩散,看最多能扩散多远。要注意一个细节:回文串的...

2019-07-17 23:28:00 87

转载 同步/异步/阻塞/非阻塞

常规的误区假设有一个展示用户详情的需求,分两步,先调用一个HTTP接口拿到详情数据,然后使用适合的视图展示详情数据。如果网速很慢,代码发起一个HTTP请求后,就卡住不动了,直到十几秒后才拿到HTTP响应,然后继续往下执行。这个时候你问别人,刚刚代码发起的这个请求是不是一个同步请求,对方一定回答是。这是对的,它确实是。但你要问它为什么是呢?对方一定是这样回答的,“因为发起请求后,代码就卡住...

2019-07-14 23:37:00 81

转载 如何在百万级数据中找到第K大的数据

假设数组为arr,求第k大元素思想:利用快排思想,对数组先进行一趟快排,将数组进行分区arr[0...p-1],arr[p],arr[p+1,arr.length-1](p是索引元素的下标),紧接着判断p+1与k的关系,如果p+1=k,那么arr[p]就是第k大元素,如果p+1<k,则对arr[p+1,arr.length-1]进行上述操作,反之对arr[0,p-1]进行上述操...

2019-07-11 02:17:00 242

转载 非递归实现归并排序

思想:利用的还是分治思想,只不过这次我们把数组以2的倍数划分,然后进行两两合并,划分代码如下:public static void merge(int[] arr){ for(int i = 1;i<arr.length;i *= 2){ mergeSort(arr,i); } }合并代码如下:...

2019-07-09 22:20:00 84

转载 航班预订统计

问题描述:这里有 n 个航班,它们分别从 1 到 n 进行编号。我们这儿有一份航班预订表,表中第 i 条预订记录 bookings[i] = [i, j, k] 意味着我们在从 i 到 j 的每个航班上预订了 k 个座位。请你返回一个长度为 n 的数组 answer,按航班编号顺序返回每个航班上预订的座位数。示例:输入:bookings = [...

2019-07-07 22:19:00 180

转载 JSP九大内置对象和四大作用域

常用内置对象:1.输出输入对象:request对象、response对象、out对象2.通信控制对象:pageContext对象、session对象、application对象3. Servlet对象:page对象、config对象4.错误处理对象:exception对象一:out(输出对象)作用:用于输出JSP页面的信息作用域:page使用方式:...

2019-07-05 23:06:00 99

转载 IDEA配置Tomcat

IDEA有tomcat插件的可以直接下载,这里主要讲一下没有插件的IDEA如何配置tomcat第一步:点击红圈中,你们应该是Edit Configurations第二步:点击加号+,然后点击maven,如下图:第三步:完成第二步后出现如下图左边所示,右边须有自己修改,红圈部分第四部分:在pom.xml文件下写上如下代码: <bui...

2019-07-02 23:50:00 86

转载 Servlet生命周期和工作原理

首先说一下如何创建Servlet,第一步定义一个类,继承HttpServlet类第二步重写doGet()和doPost()方法第三步Servlet程序会自动交给tomcat服务器运行第四步 在web.xml文件中进行配置说明:博主创建的自定义类名为FirstServlet配置的具体内容如下: <!--网站首页的配置--> <we...

2019-07-02 23:15:00 59

转载 岛屿数量

给定一个由'1'(陆地)和 '0'(水)组成的的二维网格,计算岛屿的数量。一个岛被水包围,并且它是通过水平方向或垂直方向上相邻的陆地连接而成的。你可以假设网格的四个边均被水包围。示例 1:输入:11110110101100000000输出:1思路:本题直接 fooldfill 即可,将连在一起的土地,直接通过 BFS 全部标记一遍。最后看有几个没有连在一起的土地集...

2019-07-01 22:11:00 70

转载 多线程聊天室

基于Java的多线程聊天室客户端:public class MultiThreadClient { private static class RecMsg implements Runnable{ private Socket client; public RecMsg(Socket client) { ...

2019-06-30 23:31:00 158

转载 小Q爬塔

问题描述:小Q正在攀爬一座宝塔,这座宝塔很特别,塔总共有n层,但是两层之间的净高却不相同,所以造成小Q爬过每层的时间也不同。如果某一次高度为x,那么爬过这一层所需时间也就是x。小Q还会使用一种魔法,每使用一次可以让他向上跳1层或者两层,但是每次调后, 必须至少爬一层才能接着使用魔法。小Q想用最短的时间上顶,希望你能告诉他n表示高度(n<=10000)x表示层差(1<=x&lt...

2019-06-28 16:11:00 120

转载 大礼包(动态规划)

在LeetCode商店中, 有许多在售的物品。然而,也有一些大礼包,每个大礼包以优惠的价格捆绑销售一组物品。现给定每个物品的价格,每个大礼包包含物品的清单,以及待购物品清单。请输出确切完成待购清单的最低花费。每个大礼包的由一个数组中的一组数据描述,最后一个数字代表大礼包的价格,其他数字分别表示内含的其他种类物品的数量。任意大礼包可无限次购买。思想:分为3步: 1...

2019-06-27 22:40:00 286

转载 Java多线程笔记3

*****线程池*****创建线程的方式-推荐使用线程池来创建线程线程池的核心两大接口ExecutorService:普通线程池 -void execute(Runnable command); -<T> Future<T> submit(Callable<T> task || Runnable); ScheduledExecutorS...

2019-06-11 21:21:00 67

转载 Java多线程笔记2

synchronized使用:同步代码块synchronized(this|任意一个Object子类对象|当前类.class) { }同步方法修饰普通对象方法 锁当前对象this修饰类的静态方法 锁当前类.class保护的是什么?几个锁?使用一把锁锁住了两个毫无关系的对象如何保护毫无关系的资源?使用多把锁锁住不同的资源class Account { ...

2019-06-10 23:44:00 91

转载 Java多线程笔记1

1.进程与线程进程:操作系统中程序的一次执行过程或一个周期,是操作系统资源分配的最小单元线程:进程的一个子任务,是操作系统任务分配的最小单元,在一个进程中的所有线程共享进程资源进程与线程区别:1)进程是操作系统资源分配的最小单元,线程是操作系统任务分配的最小单元2)进程的启动与销毁开销较大,与此相比,启动与销毁一个线程,开销要小的多3)进程间通信远比线程间通信复杂得多java中main方...

2019-06-07 12:26:00 72

转载 买卖股票含手续费

问题描述:给定一个整数数组prices,其中第i个元素代表了第i天的股票价格 ;非负整数fee代表了交易股票的手续费用。你可以无限次地完成交易,但是你每次交易都需要付手续费。如果你已经购买了一个股票,在卖出它之前你就不能再继续购买股票了。返回获得利润的最大值。示例 1:输入: prices = [1, 3, 2, 8, 4, 9], fee = 2输...

2019-06-04 13:20:00 134

转载 Java版实现一个简单的电话簿

问题描述:对于电话簿,它应该有添加、更新、删除、展示联系人信息的功能实现该功能运用的主要知识包括文件操作、xml文件解析(dom解析)<?xml version="1.0" encoding="UTF-8"?><!--文档声明--><!--描述联系人(可以有多个联系人) 属性:编号 姓名 性别 电话 邮箱 地址...

2019-06-02 15:25:00 627

转载 完全平方数

题目描述:给定正整数n,找到若干个完全平方数(比如1, 4, 9, 16, ...)使得它们的和等于n。你需要让组成和的完全平方数的个数最少。示例1:输入: n = 12输出: 3 解释: 12 = 4 + 4 + 4.示例 2:输入: n = 13输出: 2解释: 13 = 4 + 9.动态方程为:定义一个函数f(n)表示我们要求的解。f(n...

2019-05-30 21:59:00 161

转载 约瑟夫环

问题描述:n个人坐成一圈,按顺时针由1开始给他们编号。然后由第一个人开始报数,数到m的人出局。现在需要求的是最后一个出局的人的编号。给定两个int n和m,代表游戏的人数。请返回最后一个出局的人的编号。保证n和m小于等于1000。思想:把n个人的编号改为0~n-1,然后对删除的过程进行分析。 第一个删除的数字是(m-1)%n,几位k,则剩余的编号为(0,1,...,k-...

2019-05-27 21:12:00 67

转载 输入n个数,其中一个数的个数大于等于n/2,请输出那个数

问题描述:输入n个数,其中一个数的个数大于等于n/2,请输出那个数例如:输入:183 3 5 4 3 2 4 2 3 3 4 5 2 13 3 3 3 3输出:3第一种方法:用map集合做,key-value分别对应数组元素和出现次数,代码如下:/** * * @param arr 传入数组 * @param n ...

2019-05-24 23:43:00 241

转载 数字和为sum的方案数

问题描述:给定一个有n个正整数的数组A和一个整数sum,求选择数组A中部分数字和为sum的方案数。当两种选取方案有一个数字的下标不一样,我们就认为是不同的组成方案。输入描述:输入为两行: 第一行为两个正整数n,sum,第二行为n个正整数A[i](32位整数),以空格隔开。输出描述:输出所求的方案数示例1输入3 4020 20 20输出3...

2019-05-24 16:54:00 141

转载 两个字符串的最小ASCII删除和

给定两个字符串s1, s2,找到使两个字符串相等所需删除字符的ASCII值的最小和。示例 1:输入: s1 = "sea", s2 = "eat"输出: 231解释: 在 "sea" 中删除 "s" 并将 "s" 的值(115)加入总和。在 "eat" 中删除 "t" 并将 116 加入总和。结束时,两个字符串相等,115 + 116 = 231 就是符合条件的最...

2019-05-22 22:45:00 199

转载 三角形最小路径和

给定一个三角形,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。例如,给定三角形:[ [2], [3,4], [6,5,7], [4,1,8,3]]自顶向下的最小路径和为11(即,2+3+5+1= 11)。思想:从最底层向上找最短路径,下面给出两种解法,一维数组和二维数组两种解法,但是思想都是一样...

2019-05-21 22:53:00 90

空空如也

空空如也

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

TA关注的人

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