- 博客(157)
- 资源 (11)
- 问答 (6)
- 收藏
- 关注
原创 Java中的管程
title: Java中的管程date: 2019-06-29 15:23:46tags:- Java- 管程Java是利用管程解决并发编程问题的,那么究竟什么是管程?而它又是如何解决并发问题的呢?什么是管程管程,英文名是 Monitor ,因此有的时候会被翻译为监视器。其实你也许很早就接触到这个概念了,比如 synchronized关键字,很多文章就介绍过其原理是使用了监视器...
2019-06-29 17:11:23 4841
原创 Mongodb索引优化
在使用数据库时,索引是必然会遇到的,因为使用它理论上可以优化查询效率,但如果使用不当,虽然也可以提高一定的效率,但抱着精益求精的态度,我们还是应该试试看有没有更好的索引。Mongodb的索引Mongodb提供了丰富的索引类型,用的比较多的有单字段索引(Single Field Indexes)、复合索引(Compound Indexes),复合索引中用的最多的就应该是多键索引(Multike...
2018-12-11 10:57:48 358
原创 jsp分页的处理(SSM框架举例)
首先我们需要一个工具类Page类来表达:import java.util.List;public class Page{ private int everyPage = 10; //每页显示的条数 private int totalCount; //总共需要显示的条数 private int totalPage; //总共需要显示的页数 private int
2016-06-20 20:53:16 10645 11
原创 SpringMVC框架在Controller中对于Session的处理
Controller中的代码:@Controller@SessionAttributes({"User","Y"}) //此处定义此Controller中将要创建和使用哪些session中的对象名public class UserController { @Resource private UserService userService; @RequestMapping("
2016-05-15 16:21:32 25266 4
原创 MySQL 的字符集与排序规则
今天突然被同事问到,MySql 里的 uft8 与 utf8mb4 究竟有什么区别,当时我也是一脸问号,因此特地去了解了一下。字符集uft8 与 utf8mb4 其实指的是 MySQL 中...
2021-02-10 09:40:55 530
原创 Class.forName 造成的线程阻塞
今天在查看服务器时,发现机器上稳定的会有 3 ~ 4 个线程处于阻塞状态,感觉应该是有问题的,仔细排查了一下,最终发现和 Class.forName 有关。现象某一天突然收到了公司的系统...
2020-12-24 13:50:25 1609 1
原创 SqlServer 关于 datetime 的更新引发的思考
今天在测试更新 SqlServer 表的 datetime 字段时,突然发现并没有更新成功,同时也没有报错,感觉十分诧异,因此仔细排查了一下,终于发现是和字段本身的精度有关。现象假设我们...
2020-12-14 19:48:39 785
原创 力扣1514——概率最大的路径
本题主要和图的遍历求解最短路径相关,可以用 Dijkstra 或者 Bellman-Ford 算法进行解决。原题给你一个由 n 个节点(下标从 0 开始)组成的无向加权图,该图由一个描述...
2020-08-26 14:22:03 659
原创 力扣 1519——子树中标签相同的节点数
本题主要在于对树这种数据结构的考察,以及深度优先遍历的使用,优化时可以采取空间换时间的策略。原题给你一棵树(即,一个连通的无环无向图),这棵树由编号从 0 到 n - 1 的 n 个节点...
2020-08-08 16:42:14 613
原创 剑指offer 43——1~n整数中1出现的次数
本题主要在于找规律,从一个例子开始,总结出其中的规律。原题输入一个整数 n ,求1~n这n个整数的十进制表示中1出现的次数。例如,输入12,1~12这些整数中包含1 的数字有1、10、1...
2020-06-09 20:38:34 308
原创 剑指offer 38——字符串的排列
本题主要在于对回溯的理解,优化时可以结合 java 特性,以及排列的一些知识。原题输入一个字符串,打印出该字符串中字符的所有排列。你可以以任意顺序返回这个字符串数组,但里面不能有重复元素...
2020-06-04 09:47:01 259
原创 剑指offer 33——二叉搜索树的后序遍历序列
本题主要在于考察对二叉搜索树和后序遍历的理解。原题输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历结果。如果是则返回true,否则返回false。假设输入的数组的任意两个数字...
2020-05-24 17:30:09 174
原创 Java 线程池讲解——针对 IO 密集型任务
针对 IO 密集型的任务,我们可以针对原本的线程池做一些改造,从而可以提高任务的处理效率。基本在阿里巴巴泰山版java开发手册中有这么一条:线程池不允许使用 Executors 去创建,...
2020-05-20 16:01:45 865
原创 剑指offer 31——栈的压入、弹出序列
本题主要在于考察栈的特性,优化时可以考虑自己实现一个栈。原题输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如,序列 ...
2020-05-18 19:35:07 229
原创 剑指offer 16——数值的整数次方
这道题可以利用二进制,就可以快速解决了。原题实现函数double Power(double base, int exponent),求base的exponent次方。不得使用库函数,同时...
2020-05-13 20:51:00 176
原创 剑指offer 14——剪绳子
这道题的一般解法是动态规划,优化时可以尝试找规律。原题给你一根长度为 n 的绳子,请把绳子剪成整数长度的 m 段(m、n都是整数,n>1并且m>1),每段绳子的长度记为k[...
2020-05-10 10:32:13 301
原创 剑指offer 13——机器人的运动范围
这道题本质还是搜索,因此可以使用深度优先搜索和广度优先搜索进行解决。原题地上有一个m行n列的方格,从坐标[0,0]到坐标[m-1,n-1]。一个机器人从坐标[0, 0]的格子...
2020-05-08 13:00:00 153
原创 力扣289——生命游戏
这道题还是比较简单的,只要针对数组进行正常遍历即可。原题根据 百度百科 ,生命游戏,简称为生命,是英国数学家约翰·何顿·康威在 1970 年发明的细胞自动机。给定一个包含 m × n 个格子的面板,每一个格子都可以看成是一个细胞。每个细胞都具有一个初始状态:1 即为活细胞(live),或 0 即为死细胞(dead)。每个细胞与其八个相邻位置(水平,垂直,对角线)的细胞都...
2020-05-06 17:14:11 378
原创 力扣227——227. 基本计算器 II
这道题类似于一般计算式解答,可以用栈解决,优化的时候可以利用题目本身的特殊性。原题实现一个基本的计算器来计算一个简单的字符串表达式的值。字符串表达式仅包含非负整数,+, - ,*,/ 四种运算符和空格 。 整数除法仅保留整数部分。示例 1:输入: "3+2*2"输出: 7示例 2:输入: " 3/2 "输出: 1示例 3:输入: " 3+...
2020-03-11 10:48:58 635
原创 设计模式——单例模式
关于单例模式,这是面试时最容易遇到的问题。当时以为很简单的内容,深挖一下,也可以关联出类加载、序列化等知识。饿汉式我们先来看看基本的饿汉式写法:public class Hungry { private static final Hungry instance = new Hungry(); private Hungry() {} public Hungry ...
2020-03-06 14:17:31 368 2
原创 最长回文子串——马拉车算法
针对最长回文子串相关的问题,马拉车算法应该是比较通用的解法,今天我们就来具体看看这个算法。简介马拉车算法(Manacher‘s Algorithm)是用来查找一个字符串的最长回文子串的线性方法,由一个叫 Manacher 的人在1975年发明的,这个方法的最大贡献是在于将时间复杂度提升到了线性。这个算法最厉害的地方是在于能够在线性时间内解决问题。一般我们解决最长回文子串,不可避免都要进...
2020-03-06 14:16:32 410
原创 设计模式——单例模式
关于单例模式,这是面试时最容易遇到的问题。当时以为很简单的内容,深挖一下,也可以关联出类加载、序列化等知识。饿汉式我们先来看看基本的饿汉式写法:public class Hungry {...
2020-03-05 22:11:33 140
原创 力扣739——每日温度
这道题主要是找规律,优化的时候可以利用数据结构的特性(数组和栈)。原题根据每日气温列表,请重新生成一个列表,对应位置的输入是你需要再等待多久,温度才会升高超过该日的天数。如果之后都不会升高,请在该位置用0 来代替。例如,给定一个列表temperatures = [73, 74, 75, 71, 69, 72, 76, 73],你的输出应该是[1, 1, 4, 2, 1, 1, 0, 0...
2020-02-24 14:08:14 1266
原创 力扣621——任务调度器
这道题主要是找规律,优化的时候可以采用贪心算法的思想。原题给定一个用字符数组表示的 CPU 需要执行的任务列表。其中包含使用大写的 A - Z 字母表示的26 种不同种类的任务。任务可以以任意顺序执行,并且每个任务都可以在 1 个单位时间内执行完。CPU 在任何一个单位时间内都可以执行一个任务,或者在待命状态。然而,两个相同种类的任务之间必须有长度为n 的冷却时间,因此至少有连续 n 个单...
2020-02-21 10:38:11 1198
原创 力扣560——和为K的子数组
这道题主要是找规律,优化的时候可以利用哈希表和数组的特性。原题给定一个整数数组和一个整数k,你需要找到该数组中和为k的连续的子数组的个数。示例 1 :输入:nums = [1,1,1], k = 2输出: 2 , [1,1] 与 [1,1] 为两种不同的情况。说明 :数组的长度为 [1, 20,000]。数组中元素的范围是 [-1000, 1000] ,且整数k的范围...
2020-02-19 09:40:17 1143
原创 力扣494——目标和
这道题主要是利用动态规划进行求解,优化的时候可以找规律,转化成正常的背包问题。原题给定一个非负整数数组,a1, a2, ..., an, 和一个目标数,S。现在你有两个符号+和-。对于数组中的任意一个整数,你都可以从+或-中选择一个符号添加在前面。返回可以使最终数组和为目标数 S 的所有添加符号的方法数。示例 1:输入: nums: [1, 1, 1, 1, 1], S: 3...
2020-02-18 13:24:55 926
原创 力扣438——找到字符串中所有字母异位词
这道题主要是利用"窗口"这一概念,优化的时候可以利用题目本身的特殊性。原题给定一个字符串s和一个非空字符串p,找到s中所有是p的字母异位词的子串,返回这些子串的起始索引。字符串只包含小写英文字母,并且字符串s和 p的长度都不超过 20100。说明:字母异位词指字母相同,但排列不同的字符串。不考虑答案输出的顺序。示例1:输入:s: "cbaebabac...
2020-02-11 15:45:50 1015
原创 力扣416——分割等和子集
这道题主要涉及的是动态规划,类似背包问题,主要还是需要找出状态转移方程,优化时可以考虑采用深度优先搜索。原题给定一个只包含正整数的非空数组。是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。注意:每个数组中的元素不会超过 100数组的大小不会超过 200示例 1:输入: [1, 5, 11, 5]输出: true解释: 数组可以分割成 [1, 5, 5] 和...
2020-02-04 21:53:17 1101
原创 力扣406——根据身高重建队列
这道题主要涉及的是找规律和快速排序,优化时需要考虑 Java 中数据结构的特性。原题假设有打乱顺序的一群人站成一个队列。 每个人由一个整数对(h, k)表示,其中h是这个人的身高,k是排在这个人前面且身高大于或等于h的人数。 编写一个算法来重建这个队列。注意:总人数少于1100人。示例输入:[[7,0], [4,4], [7,1], [5,0], [6,1], [5,2]]输出:...
2020-02-03 20:22:30 1064
原创 力扣399——除法求值
这道题主要涉及的是对树的理解,相关的算法是BFS、DFS、并查集。原题给出方程式A / B = k, 其中A 和B 均为代表字符串的变量,k 是一个浮点型数字。根据已知方程式求解问题,并返回计算结果。如果结果不存在,则返回-1.0。示例 :给定a / b = 2.0, b / c = 3.0问题: a / c = ?, b / a = ?, a / e = ?, a / a ...
2020-02-03 15:50:28 976
原创 力扣399——除法求值
这道题主要涉及的是对树的理解,相关的算法是BFS、DFS、并查集。原题给出方程式A / B = k, 其中A 和B 均为代表字符串的变量,k 是一个浮点型数字。根据已知方程式求解问题,并返回计算结果。如果结果不存在,则返回-1.0。示例 :给定a / b = 2.0, b / c = 3.0问题: a / c = ?, b / a = ?, a / e = ?, a / a ...
2020-02-02 22:24:21 237
原创 力扣394——字符串解码
这道题主要涉及的是对递归和栈的理解。原题给定一个经过编码的字符串,返回它解码后的字符串。编码规则为: k[encoded_string],表示其中方括号内部的 encoded_string 正好重复 k 次。注意 k 保证为正整数。你可以认为输入字符串总是有效的;输入字符串中没有额外的空格,且输入的方括号总是符合格式要求的。此外,你可以认为原始数据不包含数字,所有的数字只表示重复的次数 ...
2020-02-01 13:49:45 1289
原创 力扣347——前 K 个高频元素
这道题主要涉及的是对数据结构里哈希表、小顶堆的理解,优化时可以参考一些排序方法。原题给定一个非空的整数数组,返回其中出现频率前k高的元素。示例 1:输入: nums = [1,1,1,2,2,3], k = 2输出: [1,2]示例 2:输入: nums = [1], k = 1输出: [1]说明:你可以假设给定的k总是合理的,且 1 ≤ k ≤ 数组中不相同的元...
2020-01-31 21:48:06 1121 1
原创 力扣337——打家劫舍 III
这一篇也是基于"打家劫舍"的扩展,需要针对特殊情况特殊考虑,当然其本质还是动态规划,优化时需要考虑数据结构。原题在上次打劫完一条街道之后和一圈房屋后,小偷又发现了一个新的可行窃的地区。这个地区只有一个入口,我们称之为“根”。 除了“根”之外,每栋房子有且只有一个“父“房子与之相连。一番侦察之后,聪明的小偷意识到“这个地方的所有房屋的排列类似于一棵二叉树”。 如果两个直接相连的房子在同一天晚上被...
2020-01-25 09:59:25 997
原创 力扣213——打家劫舍 II
这一篇是上一篇的扩展,需要针对特殊情况特殊考虑,当然其本质还是动态规划。原题你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金。这个地方所有的房屋都围成一圈,这意味着第一个房屋和最后一个房屋是紧挨着的。同时,相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下,能够偷...
2020-01-24 13:14:11 1094
原创 力扣198——打家劫舍
这次准备连讲三道题,这道题就是最基础的,利用动态规划可以解决。原题你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下,能够偷窃到的最高金额。示例 :输入: [1,2,3,1]输出:...
2020-01-20 21:12:57 967
原创 力扣322——零钱兑换
这道题主要涉及动态规划,利用这个,就能很好解决这个问题。原题给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回-1。示例1:输入: coins = [1, 2, 5], amount = 11输出: 3 解释: 11 = 5 5 1示例 2:输入: coins =...
2020-01-16 21:37:46 1120
原创 力扣309——最佳买卖股票时机含冷冻期
这道题主要涉及状态转移方程,想清楚所有状态后,就可以轻松解决。原题给定一个整数数组,其中第i个元素代表了第i天的股票价格 。设计一个算法计算出最大利润。在满足以下约束条件下,你可以尽可能地完成更多的交易(多次买卖一支股票):你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。卖出股票后,你无法在第二天买入股票 (即冷冻期为 1 天)。示例:输入: [1,2,...
2020-01-14 20:48:00 991
原创 力扣300——最长上升子序列
这道题主要涉及动态规划,优化时可以考虑贪心算法和二分查找。原题给定一个无序的整数数组,找到其中最长上升子序列的长度。示例:输入: [10,9,2,5,3,7,101,18]输出: 4 解释: 最长的上升子序列是[2,3,7,101],它的长度是 4。说明:可能会有多种最长上升子序列的组合,你只需要输出对应的长度即可。你算法的时间复杂度应该为O(n2) 。进阶: 你...
2020-01-13 21:59:11 1116
原创 力扣287——寻找重复数
这道题主要就是找规律,基于之前142题环形链表II的规律,就能解决了。原题给定一个包含n 1 个整数的数组nums,其数字都在 1 到 n之间(包括 1 和 n),可知至少存在一个重复的整数。假设只有一个重复的整数,找出这个重复的数。示例 1:输入: [1,3,4,2,2]输出: 2示例 2:输入: [3,1,3,4,2]输出: 3说明:不能更改原数组(假设数组...
2020-01-12 17:36:23 1046
Netty权威指南(第2版)
2018-05-27
基于ueditor的兼容IE8的多图片上传+预览效果(JSP)
2017-02-28
mysql-connector-java-5.1.37-bin.jar
2016-07-24
springmvc视图解析器自我实现
2018-03-04
mybatis generator 针对联合主键生成两个基础类文件,为什么要这么做?
2018-01-29
IE9下JSP转换为PDF求解
2016-12-21
java 字段扩展机制 类扩展机制
2016-01-07
TA创建的收藏夹 TA关注的收藏夹
TA关注的人