- 博客(446)
- 资源 (42)
- 收藏
- 关注
原创 防止表单重复提交的4种方法
方法一(1)通过JavaScript屏蔽提交按钮通过js代码,当用户点击提交按钮后,屏蔽提交按钮使用户无法点击提交按钮或点击无效,从而实现防止表单重复提交。这种方式的弊端是,刷新网页以后,被隐藏的按钮就出来啦~ <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <!DOCTYPE HTML> <html> <head&g
2021-04-30 09:54:32 593
原创 Leetcode 每日一题 - 删除有序数组中的重复项题 #算法 #Java
给你一个 升序排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。解释:函数应该返回新的长度 5 , 并且原数组 nums 的前五个元素被修改为 0, 1, 2, 3, 4。解释:函数应该返回新的长度 2 ,并且原数组 nums 的前两个元素被修改为 1, 2。输入:nums = [0,0,1,1,1,2,2,3,3,4]输出:5, nums = [0,1,2,3,4]输出:2, nums = [1,2,_]输入:nums = [1,1,2]
2023-08-07 18:26:25 173
原创 Java 将HTML转成PDF的方法
需用的Jar包https://download.csdn.net/download/GXSeveryday/12380111 点我下载PDFReport.javapackage test; import java.io.File; import java.io.FileOutputStream; import com.itextpdf.text.Document;import com.itextpdf.text.Element;import com.itextpdf
2022-03-23 17:32:52 6677
原创 JavaScript 动态获取ajax 自动刷新接口内容
<div class="row"> <script> //var jsonData=[{"cityName":"厦门","totalNumber":"1532","timeoutRate":"12%","successRate":"12%"},{"cityName":"上海","totalNumber":"1532","timeoutRate":"12%","successRate":"12%"}]; ...
2021-12-09 16:39:40 585
原创 Java 获取本月第一天和最后一天的方法
1. 首先获取现在的日期2. 根据现在的日期进行判断获取第一天和最后一天SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");String startDay = df.format(new Date());Calendar calendar = Calendar.getInstance();calendar.set(Integer.parseInt(startDay.substring(0,4)), Integer.parseInt(
2021-11-10 10:25:28 9816
原创 常用的Java中间件
java中间件Java中间件就是处理数据交互、连接数据分离之后两个系统间的通信。中间件分类1. 远程过程调用和对象访问中间件这个主要的是解决分布式环境下应用的互相访问问题。同时,这个也是支撑应用服务化功能的基础。就国内来说,当前远程服务框架中间件较多应用的是阿里巴巴的开源分布式服务框架Dubbo。2. 消息队列中间件这个主要解决的是应用之间的消息传递、解耦、异步的问题。它是一种EDA架构。也就是通过在低耦合的模块之间传输事件消息来完成模块之间的合作。在很多大型的网站当中,消息队列采用发
2021-11-07 22:03:35 5519
原创 为什么现在好多项目要用Redis?Redis为什么这么好用?
简介REmote DIctionary Server-远程字典服务器 ( Redis ) 是一个由 Salvatore Sanfilippo 写的 key-value 存储系统,是跨平台的非关系型数据库。Redis是一个开源的框架,Redis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存、分布式、可选持久性的键值对(Key-Value)存储数据库,并提供多种语言的 API。Redis 通常被称为数据结构服务器,因为值(value)可以是字符串(Stri
2021-08-23 15:21:18 2485
原创 javaweb项目常用日志框架
(1)JDKLogJDKLog是JDK官方提供的一个记录日志的方式,直接在JDK中就可以使用。import java.util.logging.Logger; /**** ** JDKLog Demo **/public class JDKLog{ public static void main( String[] args ) { Logger logger = Logger.getLogger("JDKLog"); logger.in
2021-04-30 21:14:15 245 1
原创 批量向MySQL导入1000万条数据有什么方法
引言:对于一些数据量较大的系统,数据库面临的问题除了查询效率低下,还有就是数据入库时间长。特别像报表系统,每天花费在数据导入上的时间可能会长达几个小时或十几个小时之久。因此,优化数据库插入性能是很有意义的。1、一条SQL语句插入多条数据INSERT INTO `insert_table` (`datetime`, `uid`, `content`, `type`) VALUES ('0', 'userid_0', 'content_0', 0);INSERT INTO `insert_table.
2021-04-30 17:27:20 3272 1
原创 JDK1.8后的HashMap底层结构变化
HashMap:(1)JDK1.8以后 HashMap的数据结构发生了一些改变,从单纯的数组加链表结构变成数组+链表+红黑树.(2)Node是HashMap的一个内部类,实现Map.Entry接口,本质是一个KV映射,每个元素都是一个Node对象. HashMap顾名思义是通过Hash表进行存储.为了解决哈希碰撞的问题,Java采用这种数组 + 链表方式来进行存储.(3)HashMap在JDK1.8中采用,数组+链表+红黑树 组成。根据key的索引 ( (n - 1) & hash)判断节点位
2021-04-29 15:48:39 286
原创 什 么 是 可 重 入 性 , 为 什 么 说 Synchronized 是 可 重 入 锁 ?
可 重 入 性(1)可 重 入 性 是 锁 的 一 个 基 本 要 求 , 是 为 了 解 决 自 己 锁 死 自 己 的 情 况 。比 如,一 个 类 中 的 同 步 方 法 调 用 另 一 个 同 步 方 法 , 假 如Synchronized 不 支 持 重 入 , 进 入 method2 方 法 时 当 前 线 程 获 得 锁 ,method2 方 法 里 面 执 行 method1 时 当 前 线 程 又 要 去 尝 试 获 取 锁 , 这时 如 果 不 支 持 重 入 , 它 就 要 等
2021-04-24 09:38:00 1463
原创 Mysql中一级缓存二级缓存区别
一级缓存:(1) 一级缓存也称本地缓存,sqlSession级别的缓存。一级缓存是一直开启的;与数据库同一次会话期间查询到的数据会放在本地缓存中。如果需要获取相同的数据,直接从缓存中拿,不会再查数据库。 一级缓存失效的四种情况: 1.sqlSession不同。 2.sqlSession相同,查询条件不同。因为缓存条件不同,缓存中还没有数据。 3.sqlSession相同,在两次相同查询条件中间执行过增删改操作。 (因为中间的增删改可能对缓存中数
2021-04-22 22:00:34 1671 2
原创 Mybatis种一级缓存和二级缓存区别
Mybatis对缓存提供支持,一级缓存是默认使用的,二级缓存需要手动开启区别:(1)一级缓存的作用域是sqlsession内(2)二级缓存作用域是针对mapper进行缓存一级缓存:在参数和SQL完全一样的情况下,我们使用同一个SqlSession对象调用一个Mapper方法,往往只执行一次SQL,因为使用SelSession第一次查询后,MyBatis会将其放在缓存中,以后再查询的时候,如果没有声明需要刷新,并且缓存没有超时的情况下,SqlSession都会取出当前缓存的数据,而不会再次发.
2021-04-22 21:43:33 162
原创 922. 按奇偶排序数组 II
给定一个非负整数数组 A, A 中一半整数是奇数,一半整数是偶数。对数组进行排序,以便当 A[i] 为奇数时,i 也是奇数;当 A[i] 为偶数时, i 也是偶数。你可以返回任何满足上述条件的数组作为答案。示例:输入:[4,2,5,7]输出:[4,5,2,7]解释:[4,7,2,5],[2,5,4,7],[2,7,4,5] 也会被接受。(1) 遍历一遍数组把所有的偶数放进 ans[0],ans[2],ans[4],依次类推。(2) 再遍历一遍数组把所有的奇数依次放进 ans[1],an.
2021-02-15 18:58:19 101
原创 914. 卡牌分组
给定一副牌,每张牌上都写着一个整数。此时,你需要选定一个数字 X,使我们可以将整副牌按下述规则分成 1 组或更多组:每组都有 X 张牌。 组内所有的牌上都写着相同的整数。 仅当你可选的 X >= 2 时返回 true。示例 1:输入:[1,2,3,4,4,3,2,1]输出:true解释:可行的分组是 [1,1],[2,2],[3,3],[4,4]示例 2:输入:[1,1,1,2,2,2,3,3]输出:false解释:没有满足要求的分组。示例 3:输入:[1]输.
2021-01-29 05:35:03 239 1
原创 908. 最小差值 I
给你一个整数数组 A,请你给数组中的每个元素 A[i] 都加上一个任意数字 x (-K <= x <= K),从而得到一个新数组 B 。返回数组 B 的最大值和最小值之间可能存在的最小差值。示例 1:输入:A = [1], K = 0输出:0解释:B = [1]示例 2:输入:A = [0,10], K = 2输出:6解释:B = [2,8]示例 3:输入:A = [1,3,6], K = 3输出:0解释:B = [3,3,3] 或 B = [4,4,4].
2021-01-28 11:10:02 110
原创 905. 按奇偶排序数组
给定一个非负整数数组 A,返回一个数组,在该数组中, A 的所有偶数元素之后跟着所有奇数元素。你可以返回满足此条件的任何数组作为答案。示例:输入:[3,1,2,4]输出:[2,4,3,1]输出 [4,2,3,1],[2,4,1,3] 和 [4,2,1,3] 也会被接受。思路:Arrays.sort(int[] a, int fromIndex, int toIndex)这种形式是对数组部分排序,也就是对数组a的下标从fromIndex到toIndex-1的元素排序注意:下标为toInd.
2021-01-27 19:07:00 124
原创 897. 递增顺序查找树
给你一个树,请你 按中序遍历 重新排列树,使树中最左边的结点现在是树的根,并且每个结点没有左子结点,只有一个右子结点。示例 :输入:[5,3,6,2,4,null,8,1,null,null,null,7,9] 5 / \ 3 6 / \ \ 2 4 8 / / \ 1 7 9输出:[1,null,2,null,3,null,4,null,5,null,6,null,7,null,8,nul.
2021-01-23 17:15:15 84
原创 896. 单调数列
如果数组是单调递增或单调递减的,那么它是单调的。如果对于所有 i <= j,A[i] <= A[j],那么数组 A 是单调递增的。 如果对于所有 i <= j,A[i]> = A[j],那么数组 A 是单调递减的。当给定的数组 A 是单调数组时返回 true,否则返回false。示例 1:输入:[1,2,2,3]输出:true示例 2:输入:[6,5,4,4]输出:true示例 3:输入:[1,3,2]输出:false示例 4:输入:[1,2,.
2021-01-23 16:56:15 127
原创 893. 特殊等价字符串组
你将得到一个字符串数组 A。每次移动都可以交换 S 的任意两个偶数下标的字符或任意两个奇数下标的字符。如果经过任意次数的移动,S == T,那么两个字符串 S 和 T 是 特殊等价 的。例如,S = “zzxy” 和 T = “xyzz” 是一对特殊等价字符串,因为可以先交换S[0] 和 S[2],然后交换 S[1] 和 S[3],使得 “zzxy” -> “xzzy” -> “xyzz” 。现在规定,A 的一组特殊等价字符串 就是 A 的一个同时满足下述条件的非空子集:该组中的每一对字.
2021-01-22 21:00:34 222
原创 888. 公平的糖果交换
爱丽丝和鲍勃有不同大小的糖果棒:A[i] 是爱丽丝拥有的第 i 块糖的大小,B[j] 是鲍勃拥有的第 j块糖的大小。因为他们是朋友,所以他们想交换一个糖果棒,这样交换后,他们都有相同的糖果总量。(一个人拥有的糖果总量是他们拥有的糖果棒大小的总和。)返回一个整数数组 ans,其中 ans[0] 是爱丽丝必须交换的糖果棒的大小,ans[1] 是 Bob必须交换的糖果棒的大小。如果有多个答案,你可以返回其中任何一个。保证答案存在。示例 1:输入:A = [1,1], B = [2,2]输出:[1,2].
2021-01-22 16:45:12 141
原创 884. 两句话中的不常见单词
给定两个句子 A 和 B 。 (句子是一串由空格分隔的单词。每个单词仅由小写字母组成。)如果一个单词在其中一个句子中只出现一次,在另一个句子中却没有出现,那么这个单词就是不常见的。 返回所有不常用单词的列表。您可以按任何顺序返回列表。示例 1:输入:A = "this apple is sweet", B = "this apple is sour"输出:["sweet","sour"]示例 2:输入:A = "apple apple", B = "banana"输出:["banan.
2021-01-21 11:11:21 99
原创 876. 链表的中间结点
给定一个头结点为 head 的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。示例 1:输入:[1,2,3,4,5]输出:此列表中的结点 3 (序列化形式:[3,4,5])返回的结点值为 3 。 (测评系统对该结点序列化表述是 [3,4,5])。思路:将链表存储到List中,然后返回一半以后节点的数据。class Solution { public ListNode middleNode(ListNode head) { ListNode[
2021-01-21 07:36:25 92
原创 872. 叶子相似的树
请考虑一棵二叉树上所有的叶子,这些叶子的值按从左到右的顺序排列形成一个 叶值序列 。举个例子,如上图所示,给定一棵叶值序列为 (6, 7, 4, 9, 8) 的树。如果有两棵二叉树的叶值序列是相同,那么我们就认为它们是 叶相似 的。如果给定的两个头结点分别为 root1 和 root2 的树是叶相似的,则返回 true;否则返回 false 。输入:root1 = [3,5,1,6,2,9,8,null,null,7,4], root2 = [3,5,1,6,7,4,2,null,null,
2021-01-20 10:57:35 98 1
原创 DNS解析流程
第一步:浏览器将会检查缓存中有没有这个域名对应的解析过的IP地址,如果有该解析过程将会结束。浏览器缓存域名也是有限制的,包括缓存的时间、大小,可以通过TTL属性来设置。第二步:如果用户的浏览器中缓存中没有,操作系统会先检查自己本地的hosts文件是否有这个网址映射关系,如果有,就先调用这个IP地址映射,完成域名解析。第三步:如果hosts里没有这个域名的映射,则查找本地DNS解析器缓存,是否有这个网址映射关系,如果有,直接返回,完成域名解析。第四步:如果hosts与本地DNS解析器缓存都.
2021-01-13 11:22:39 154
原创 面试总结 蛇形打印二叉树
蛇形打印二叉树即第一行从左到右的顺序打印,第二行从右到左的顺序打印,第三行又是从做到右的顺序打印…如图所示:思路:使用两个栈。一个栈存储奇数层节点,另一个栈存储偶数层节点。若是奇数层,则打印顺序是从左往右,即先添加左子树,再添加右子树,即先保存左子节点,再保存右子节点。若是偶数层,打印顺序是从右向左,先添加右子树,再添加左子树。 因为栈是先进后出,所以需要注意左右子树入栈的顺序。class Node { char value; //数据域 Node left; //左
2021-01-11 13:35:45 307
原创 868. 二进制间距
给定一个正整数 n,找到并返回 n 的二进制表示中两个 相邻 1 之间的 最长距离 。如果不存在两个相邻的 1,返回 0 。如果只有 0 将两个 1 分隔开(可能不存在 0 ),则认为这两个 1 彼此 相邻 。两个 1之间的距离是它们的二进制表示中位置的绝对差。例如,“1001” 中的两个 1 的距离为 3 。...
2021-01-04 15:44:46 142
原创 852. 山脉数组的峰顶索引
我们把符合下列属性的数组 A 称作山脉:A.length >= 3 存在 0 < i < A.length - 1 使得A[0] < A[1] < … A[i-1] < A[i] > A[i+1] > … > A[A.length - 1] 给定一个确定为山脉的数组,返回任何满足 A[0] < A[1]< … A[i-1] < A[i] > A[i+1] > … > A[A.length - 1] 的 i 的值。.
2021-01-03 18:31:17 93
原创 844. 比较含退格的字符串
给定 S 和 T 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果。 # 代表退格字符。注意:如果对空文本输入退格字符,文本继续为空。示例 1:输入:S = "ab#c", T = "ad#c"输出:true解释:S 和 T 都会变成 “ac”。示例 2:输入:S = "ab##", T = "c#d#"输出:true解释:S 和 T 都会变成 “”。示例 3:输入:S = "a##c", T = "#a#c"输出:true解释:S .
2021-01-03 16:45:37 109
原创 LeetCode 836. 矩形重叠
矩形以列表 [x1, y1, x2, y2] 的形式表示,其中 (x1, y1) 为左下角的坐标,(x2, y2)是右上角的坐标。矩形的上下边平行于 x 轴,左右边平行于 y 轴。 如果相交的面积为 正,则称两矩形重叠。需要明确的是,只在角或边接触的两个矩形不构成重叠。给出两个矩形 rec1 和 rec2 。如果它们重叠,返回true;否则,返回 false 。示例 1:输入:rec1 = [0,0,2,2], rec2 = [1,1,3,3]输出:true示例 2:输入:rec1.
2021-01-02 11:05:43 136 1
原创 832. 翻转图像
给定一个二进制矩阵 A,我们想先水平翻转图像,然后反转图像并返回结果。水平翻转图片就是将图片的每一行都进行翻转,即逆序。例如,水平翻转 [1, 1, 0] 的结果是 [0, 1, 1]。反转图片的意思是图片中的 0 全部被 1 替换, 1 全部被 0 替换。例如,反转 [0, 1, 1] 的结果是 [1, 0, 0]。示例 1:输入: [[1,1,0],[1,0,1],[0,0,0]]输出: [[1,0,0],[0,1,0],[1,1,1]]解释: 首先翻转每一行: [[0,1,1],[1,0.
2020-12-28 10:04:32 90
PHP 增删改成
2016-07-12
Bmob_Sample_lost_found
2015-06-18
Dictonarys
2015-06-14
相亲交友/聊天通讯/红娘/择恋爱源码
2023-01-03
CRMEB_ZSFF_v1.7.4(0124)附带PC插件-知识付费开源知识付费系统支持二开完整源码
2022-06-07
CRMEB1.7.4知识付费源码,挺好用的,功能齐全,没有Bug,用来学习挺好的,功能相当强大
2022-04-26
100套精美简历模板.zip
2020-07-15
SVDD-Python-V1.0 python代码
2020-04-01
WampServer
2019-03-17
SSM+Echarts+Mysql实现的从数据库获取数据展示图表
2019-01-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人