3 FromNowOnUntilTheEnd

尚未进行身份认证

每日记录

等级
TA的排名 5k+

IDEA控制台不识别maven命令

cmd里运行 mvn -v可以显示出maven的版本信息,可是在IDEA的控制台里却提示不识别maven命令,此情况以管理员的身份运行IDEA即可。

2019-11-14 16:22:01

token:controller到jsp之间的后台设置

问题在商品详情jsp重复提交form表单,购物车中物品数量会一直叠加解决办法Controller和jsp之间的跳转顺序AController-->商品详情jsp-->BController-->购物车jsp...

2019-09-27 14:09:56

Too many open files

在并发程序执行过程中,为了提高效率使用了线程池,然后又没有正确关闭连接,报了这个错误

2019-09-27 10:17:33

overflow-y:点击之后页面抖动,y轴出现滚动条

情景再现完成了多选框功能,点击查询,表格中无数据显示(数据库中无数据),表格的高度出现了变化,导致Windows下谷歌浏览器页面出现自动适配,y轴就会出现一个滚动条。再次点击多选框,页面y轴就会在出现滚动条<--->滚动条消失之间转换,所以页面就会抖动注意:在macOS苹果的系统下,不会出现这个问题,除非手动把浏览器页面拉到非常非常小解决办法在前端页面,样式顶层,添加这...

2019-09-27 09:34:23

实现对象克隆:clone()法和序列化反序列化克隆法

克隆方法①:实现Object类的clone方法,只能进行浅拷贝,如果拷贝失败可能会在运行时抛出异常importjava.io.Serializable;importjava.util.Arrays;/***ClassName:UsersEntity*Description:Object类的clone方法*①实现Cloneable接口*②重写clone...

2019-09-17 09:46:46

System.out和System.err分析

System.out.println在循环里面,可能不会按照正确的顺序输出。out能重定向到别的输出流,这样的话你在屏幕上将看不到打印的东西了System.err.println会按照正确顺序输出,而且在console中颜色会变,可以用来定位程序执行的位置、出错的位置。err只能在屏幕上实现打印,即使你重定向了也一样对比:①out打印的顺序与预料的不同并不是因为err和out的区别...

2019-09-09 16:20:56

BlockingQueue阻塞队列公用方法

并发队列分为阻塞队列和非阻塞队列,阻塞队列使用锁实现,非阻塞队列使用CAS非阻塞算法实现(CAS(比较与交换,Compareandswap)是一种有名的无锁算法。CAS,CPU指令,在大多数处理器架构,包括IA32、Space中采用的都是CAS指令,CAS有3个操作数,内存值V,旧的预期值A,要修改的新值B。当且仅当预期值A和内存值V相同时,将内存值V修改为B,否则什么都不做。CAS的语义是...

2019-09-09 15:09:06

ArrayBlockIngQueue源码原理用法解析

ArrayBlockIngQueue的类结构如图所示,ArrayBlockingQueue内部有个数组items用来存放队列元素,putindex下标标示入队元素下标,takeindex是出对下标,count统计队列元素个数。从定义可知ArrayBlockingQueue没有使用volatile修饰,因为访问这些变量使用都是在锁块内,并不存在可见性问题。另外有个独占锁lock用来对出入队...

2019-09-09 10:59:32

数据结构:排序算法的稳定性分析

堆排序、快速排序、希尔排序、直接选择排序是不稳定的排序算法,而基数排序、冒泡排序、直接插入排序、折半插入排序、归并排序是稳定的排序算法。首先,排序算法的稳定性大家应该都知道,通俗地讲就是能保证排序前2个相等的数其在序列的前后位置顺序和排序后它们两个的前后位置顺序相同。在简单形式化一下,如果Ai=Aj,Ai原来在位置前,排序后Ai还是要在Aj位置前。其次,说一下稳定性的好处。排序算...

2019-08-22 09:54:02

LeetCode(21): 合并两个有序链表

将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。public ListNode mergeTwoLists(ListNode l1, ListNode l2) { if(l1 == null) { return l2; } if(l2 == null) { ...

2019-08-16 14:02:02

LettCode(20):有效的括号

给定一个只包括'(',')','{','}','[',']'的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。思路想象一下,你正在为你的大学课设编写一个小型编译器,编译器的任务之一(或称子任务)将检测括号是否匹配。我们本文中看到的算法可用于处理编译器正在编译的程序中的所有括号,...

2019-08-16 11:05:49

LettCode(19):删除链表的倒数第N个节点

给定一个链表,删除链表的倒数第n个节点,并且返回链表的头结点。方法一:两次遍历算法思路我们注意到这个问题可以容易地简化成另一个问题:删除从列表开头数起的第(L-n+1)(L−n+1)个结点,其中LL是列表的长度。只要我们找到列表的长度LL,这个问题就很容易解决。算法首先我们将添加一个哑结点作为辅助,该结点位于列表头部。哑结点用来简化某些极端情况,例如列表...

2019-08-16 10:55:28

LettCode(17):电话号码的字母组合

给定一个仅包含数字2-9的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意1不对应任何字母。方法:回溯回溯是一种通过穷举所有可能情况来找到所有解的算法。如果一个候选解最后被发现并不是可行解,回溯算法会舍弃它,并在前面的一些步骤做出一些修改,并重新尝试找到可行解。给出如下回溯函数backtrack(combination,next_dig...

2019-08-16 09:20:43

LeetCode(15): 三数之和

给定一个包含 n 个整数的数组nums,判断nums中是否存在三个元素 a,b,c ,使得a + b + c = 0 ?找出所有满足条件且不重复的三元组。思路1、首先对数组进行排序2、排序后固定一个数 nums[i],再使用左右指针指向nums[i]后面的两端,数字分别为nums[L] 和 nums[R],计算三个数的和 sum 判断是否满足为 0,满足则添加进结果集3、如...

2019-08-09 16:33:09

LettCode(11):盛最多水的容器

给定n个非负整数a1,a2,...,an,每个数代表坐标中的一个点(i,ai)。在坐标内画n条垂直线,垂直线i的两个端点分别为(i,ai)和(i,0)。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且n的值至少为2。方法一:暴力法算法在这种情况下,我们将简单地考虑每对可能出现的线段组合并找出这些情...

2019-08-09 16:04:06

LeetCode(10):正则表达式匹配

给你一个字符串s和一个字符规律p,请你来实现一个支持'.'和'*'的正则表达式匹配。方法 1:回溯想法如果没有星号(正则表达式中的 * ),问题会很简单——我们只需要从左到右检查匹配串 s 是否能匹配模式串 p 的每一个字符。当模式串中有星号时,我们需要检查匹配串 s 中的不同后缀,以判断它们是否能匹配模式串剩余的部分。一个直观的解法就是用回溯的方法来体现这种关系。...

2019-08-09 15:54:56

LeetCode(5): 最长回文子串

给定一个字符串s,找到s中最长的回文子串。你可以假设s的最大长度为1000。解法1:暴力破解暴力求解,列举所有的子串,判断是否为回文串,保存最长的回文串publicbooleanisPalindromic(Strings){intlen=s.length();for(inti=0;i<len...

2019-08-09 15:23:45

LeetCode(4): 寻找两个有序数组的中位数

给定两个大小为m和n的有序数组nums1和nums2。请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为O(log(m+n))。你可以假设nums1和nums2不会同时为空。解法一简单粗暴,先将两个数组合并,两个有序数组的合并也是归并排序中的一部分。然后根据奇数,还是偶数,返回中位数。publicdoublefindMedianSorte...

2019-08-09 14:20:29

LeetCode(3):无重复字符的最长子串

给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。方法一:暴力法题目更新后由于时间限制,会出现TLE。思路逐个检查所有的子字符串,看它是否不含有重复的字符。算法假设我们有一个函数booleanallUnique(Stringsubstring),如果子字符串中的字符都是唯一的,它会返回true,否则会返回false。我们可以遍历给定字符串...

2019-08-09 11:13:15

LeetCode(2):两数相加

给出两个非空的链表用来表示两个非负的整数。其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一位数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字0之外,这两个数都不会以0开头。示例:输入:(2->4->3)+(5->6->4)输出:7->0->8...

2019-08-09 09:39:26

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。