自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(212)
  • 资源 (11)
  • 收藏
  • 关注

原创 ajax前端传参总结

总结@RequestParam()接收前端数据的情况:POST请求“application/x-www-form-urlencoded’”,此时传参能用JSON.stringify(),,POST请求用“application/json”是后端要用@ResquestBody注解封装实体对象接收,不能用@RequestParam()。GET请求时用“‘application/x-www-form-urlencoded’”或“application/json”都行,不用JSON.stringify()修饰

2021-12-12 15:39:38 1002 1

原创 CyclicBarrier与CountDownLatch的区别

CyclicBarrier与CountDownLatch的区别至此我们难免会将CyclicBarrier与CountDownLatch进行一番比较。这两个类都可以实现一组线程在到达某个条件之前进行等待,它们内部都有一个计数器,当计数器的值不断的减为0的时候所有阻塞的线程将会被唤醒。有区别的是CyclicBarrier的计数器由自己控制,而CountDownLatch的计数器则由使用者来控制,在CyclicBarrier中线程调用await方法不仅会将自己阻塞还会将计数器减1,而在CountDownLat

2021-10-29 19:39:51 795

原创 BigInteger 用法

import java.math.BigInteger;import java.util.Scanner;public class test4 {public static void main(String[] args) {Scanner sc =new Scanner(System.in);int n=sc.nextInt();for (int j = 0; j < n; j++) {int n1=sc.nextInt();int n2=sc.nextInt();BigInteg

2021-09-12 17:03:27 330

转载 java 基础

任务队列的实现原理?这里面试官是想让我说任务队列的工作原理,阻塞唤醒这些。但是我理解错了。第一次面试问这么深,所以这里没答好。我答的是ArrayBlockingQueue:底层是数组,有界队列LinkedBlockingQueue:底层是链表,可以当做无界和有界队列。实际上应该回答阻塞队列,原理就是读操作和写操作都需要获取到 AQS 独占锁才能进行操作。如果队列为空,这个时候读操作的线程进入到读线程队列排队,等待写线程写入新的元素,然后唤醒读线程队列的第一个等待线程。如果队列已满,这个时候写操作的线

2021-09-03 10:11:03 140

原创 123456

2021-08-01 13:13:24 116

转载 rpc0000

2021-08-01 13:03:33 107

原创 java rpc实现

Socket 网络通信实战什么是 Socket(套接字)Socket是一个抽象概念,应用程序可以通过它发送或接收数据。在使用 Socket 进行网络通信的时候,通过 Socket 就可以让我们的数据在网络中传输。操作套接字的时候,和我们读写文件很像。套接字是IP地址与端口的组合,套接字 Socket=(IP地址:端口号)。要通过互联网进行通信,至少需要一对套接字:运行于服务器端的Server Socket。运行于客户机端的Client Socket在Java 开发中使用Socket 时会常用到两

2021-07-28 10:04:51 93

原创 阿里1面1

场景,比如限流答案:三种限流算法计数器法,漏桶和令牌桶算法,限流一般在网关进行。如何实现云班课? 每个学校有自己的数据库 不同学校用相同的云班课系统答案:多租户我答的,分库分表,那么如何分库分表?四种方式水平分库分表,垂直分库分表sharding-jdbc实例分库分表还有一个场景题是如何实现一个比价系统比价系统用CyclicBarrier比较好,适用于将一个大任务分解为多个任务,然后多个线程执行多个计算任务,然后将结果的合并,可重复使用CountDownLatch和CyclicBarri

2021-05-12 20:45:13 110

原创 每个公司有自己的数据库 公司用相同的系统 多租户

多租户1.1 多租户是什么1.2 需求分析1.3 多租户的数据库方案分析1.3.1 独立数据库1.3.2 共享数据库、独立 Schema1.3.3 共享数据库、共享数据表1.1 多租户是什么多租户技术(Multi-TenancyTechnology)又称多重租赁技术:是一种软件架构技术,是实现如何在多用户环境下 (此处的多用户一般是面向企业用户)共用相同的系统或程序组件,并且可确保各用户间数据的隔离性。简单讲: 在一台服务器上运行单个应用实例,它为多个租户(客户)提供服务。从定义中我们可以理解:多租户是

2021-05-12 19:29:03 481

原创 剖析常见的限流算法:计数器法、漏桶和令牌桶算法

常见的限流算法1. 计数器法2. 漏桶和令牌桶算法3.Spring Cloud Gateway限流对于业务系统来说高并发就是支撑「海量用户请求」,QPS 会是平时的几百倍甚至更高。如果不考虑高并发的情况,即使业务系统平时运行得好好的,并发量一旦增加就会频繁出现各种诡异的业务问题,比如,在电商业务中,可能会出现用户订单丢失、库存扣减异常、超卖等问题。限流是服务降级的一种手段,顾名思义,通过限制系统的流量,从而实现保护系统的目的。合理的限流配置,需要了解系统的吞吐量,所以,限流一般需要结合容量规划和

2021-05-12 13:11:22 906 4

原创 找到最大的矩阵面积 java

题目 找到最大的矩阵面积思路单调递增栈,正向遍历,找到右面第一个小于当前元素(cur)的元素的位置j;反向遍历,找到左边离我最近且小于我的元素的位置i,遍历所有元素:计算并找到cur*(i-j)的最大值,import java.util.Arrays;import java.util.Deque;import java.util.LinkedList;public class findMaxS { public static void main(String[] args) {

2021-05-11 22:37:20 246

原创 操作系统

操作系统内核的抽象与特征操作系统:计算机科学研究的基石之一。计算机系统的基本组成部分和核心支撑软件。贯穿程序语言、运行时系统、应用、体系结构.。联系计算机科学和计算机系统的典范。操作系统的知识影响到专业人员的素质。大量专业工作与操作系统技术相关。顶尖大学的计算机科学部门o MIT, Stanford, Berkeley, …。计算机产业,。旧时: Xerox (PARC), IBM, DEC (SRC), Bell Labs。现代: Microsoft, Google, Yahoo,

2021-04-30 20:00:21 144

原创 华为笔试21年4月10日

华为笔试21年4月10日1.反转括号里的字符串String str = “((jhkv)(love)i)”; // 变为ilovejhkvString str = “(u(s)(love)i)”; // 变为ilovesu从里面括号到外面括号依次反转,然后拼接思路用 递归定义:inverse(str,l,r) 反转str从l到r不包括括号的字符串若package com.company;public class fanzhuan { public static void main

2021-04-30 12:02:37 243

原创 并查集模板 统计连通分量

并查集模板 统计连通分量package com.company;public class bingchaji { int count; // 联通分量个数 int[] parent; //记录根节点 int[] cnt;// 记录以根节点记录该树的节点数量,只有一个树的根节点的 // 记录才是准确的,cnt[parent] public bingchaji(int n) { parent = new int[n+1]; cnt =

2021-04-26 20:21:39 131

原创 冒泡排序 插入排序 选择排序 快速排序 归并排序 堆排序计数排序实现 Java

冒泡排序 插入排序 选择排序 快速排序 归并排序 堆排序计数排序实现import java.util.Arrays;public class maopao { public static void main(String[] args) { int[] a = {7, 8,9,6,3,5,6,7}; maopao maopao = new maopao();// maopao.sort(a);// maopao.insertS

2021-04-26 20:20:10 102

原创 Add One , dp

import java.util.Scanner;public class dp { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int t = sc.nextInt(); int mod = 1000000007, max_m = 200005; int[] dp = new int[max_m]; f.

2021-04-19 16:38:24 157

转载 强大的心理素质如何锻炼?心理素质提高五大方法

强大的心理素质如何锻炼?心理素质提高五大方法强大的心理素质强大的心理素质如何锻炼?心理素质提高五大方法1. 利用注意力训练来培养心理灵活性2. 锻炼3. 多自言自语4. 休息5. 明确并培养自己的价值观写在最后)导语:如果是这样,你可能会发现自己想去找几篇关于情商的文章来读读。这是一个很有吸引力的想法——如果我们更多地了解自己和自己的情绪是如何运作的,我们可以有所改善——从坏情绪和消极的思维模式到提高效率和人际关系的质量。人生难免有不如意的事情,这些事情很容易让你陷入负面情绪的怪圈中,这时候你

2021-04-15 21:32:45 3782

原创 179. 最大数

给定一组非负整数 nums,重新排列每个数的顺序(每个数不可拆分)使之组成一个最大的整数。注意:输出结果可能非常大,所以你需要返回一个字符串而不是整数。示例 1:输入:nums = [10,2]输出:“210”示例 2:输入:nums = [3,30,34,5,9]输出:“9534330”示例 3:输入:nums = [1]输出:“1”示例 4:输入:nums = [10]输出:“10”思路每个字符串排序,自定义比较器(str1 + str2).compareTo(str2 +

2021-04-12 18:55:54 108

原创 SQL语句总结

SQL语句一个班级分数大于90分的人数占比,round函数,coucatselect round(T1.co / T2.totalCo * 100, 1)from(select count() AS co from student s where s.score >= 90 ) T1,(select count() AS co from student ) T2;分组取每组最大值案例:按课程号分组取成绩最大值所在行的数据我们可以使用关联子查询来实现:select *fro

2021-04-07 21:11:46 241

原创 执行SQL语句过程,SQL语句的执行顺序以及innodb执行SQL原理

用户通过数据库连接池执行SQL语句过程用户通过数据库连接池执行SQL语句,通过TCP/IP与数据库通信,数据库获得SQL语句后,数据库交给SQL接口处理 ,再用SQL解析器进行SQL解析,然后通过SQL查询优化器计算出最优查询路径,最后将SQL的执行计划交给执行器执行,执行器调用数据库的存储引擎完成数据库操作。sql语句的执行顺序staffid name dept salary edlevel hiredate1 张三 开发部 2000 3

2021-04-07 20:11:11 424

原创 Mysql 索引实现-MyISAM & InnoDB

文章目录B+基本与B-树同,以下是与B-树的区别:B树与B+树的区别:Mysql 索引实现-MyISAM & InnoDB: important索引查找流程:1.索引精确查找2.索引范围查找3.全表扫描4.二级索引查找讲索引之前先讲讲B树,B树就是二叉搜索树,而B-,B+,B*是多路搜索树。B-树B+树B+基本与B-树同,以下是与B-树的区别:非叶子结点的指针与关键字个数相等,而B-树的关键字=指针个数-1;指针P[i],指向关键字值属于[K[i], K[i+ 1])范围的子树

2021-04-07 15:53:24 168

原创 316. 去除重复字母

去除重复字母给你一个字符串 s ,请你去除字符串中重复的字母,使得每个字母只出现一次。需保证 返回结果的字典序最小(要求不能打乱其他字符的相对位置)。注意:该题与 1081 https://leetcode-cn.com/problems/smallest-subsequence-of-distinct-characters 相同示例 1:输入:s = “bcabc”输出:“abc”示例 2:输入:s = “cbacdcbc”输出:“acdb”提示:1 <= s.length .

2021-04-04 15:31:15 176

原创 Java常用设计模式总结

Java常用设计模式总结1.策略模式(Strategy): 定义了算法家族, 分别封装起来, 让它们之间可以互相替换.比如Collections.sort(List list, Comparator c); 可以通过实现多个Comparator接口来达到多种排序的目的.2.装饰着模式(Decorator): 动态的给一个对象添加一些额外的职责.比如java.io包. BufferedInputStream封装了FileInputStream, 它们都实现了InputStream接口, 但前者实现了r

2021-04-03 09:54:46 513

原创 TCP网络编程

TCP网络编程服务器端客户端Socket流总结计算机网络的基本概念主要有:计算机网络:由两台或更多计算机组成的网络;互联网:连接网络的网络;IP地址:计算机的网络接口(通常是网卡)在网络中的唯一标识;网关:负责连接多个网络,并在多个网络之间转发数据的计算机,通常是路由器或交换机;网络协议:互联网使用TCP/IP协议,它泛指互联网协议簇;IP协议:一种分组交换传输协议;TCP协议:一种面向连接,可靠传输的协议;UDP协议:一种无连接,不可靠传输的协议。在开发网络应用程序的时候,我们又会遇到

2021-03-31 17:05:08 133

原创 76. 最小覆盖子串

最小覆盖子串给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串,则返回空字符串 “” 。注意:如果 s 中存在这样的子串,我们保证它是唯一的答案。示例 1:输入:s = “ADOBECODEBANC”, t = “ABC”输出:“BANC”示例 2:输入:s = “a”, t = “a”输出:“a”提示:1 <= s.length, t.length <= 105s 和 t 由英文字母组成进阶:.

2021-03-28 19:53:35 106

原创 滑动窗口模板

滑动窗口模板 while (right < n) { // 当前窗口最右边元素 char c = s.charAt(right); // 窗口增加 right++; // 窗口更新 ...... // 满足窗口缩小条件时 while ( 满足窗口缩小条件时) {

2021-03-28 16:09:26 135

原创 611. 有效三角形的个数 双指针

有效三角形的个数给定一个包含非负整数的数组,你的任务是统计其中可以组成三角形三条边的三元组个数。示例 1:输入: [2,2,3,4]输出: 3解释:有效的组合是:2,3,4 (使用第一个 2)2,3,4 (使用第二个 2)2,2,3注意:数组长度不超过1000。数组里整数的范围为 [0, 1000]。题目大意给定一组数,求出所有可以构成三角形的解的个数。思路先排序,然后从高到低遍历:每次先固定一个最大边,然后一个左指针指向最小边,一个右指针指向固定边左边的一个边,当左指.

2021-03-28 15:58:49 131

原创 438. 找到字符串中所有字母异位词 滑动窗口

找到字符串中所有字母异位词给定一个字符串 s 和一个非空字符串 p,找到 s 中所有是 p 的字母异位词的子串,返回这些子串的起始索引。字符串只包含小写英文字母,并且字符串 s 和 p 的长度都不超过 20100。说明:字母异位词指字母相同,但排列不同的字符串。不考虑答案输出的顺序。示例 1:输入:s: “cbaebabacd” p: “abc”输出:[0, 6]解释:起始索引等于 0 的子串是 “cba”, 它是 “abc” 的字母异位词。起始索引等于 6 的子串是 “bac.

2021-03-28 15:50:33 85

原创 567. 字符串的排列 滑动窗口

字符串的排列给定两个字符串 s1 和 s2,写一个函数来判断 s2 是否包含 s1 的排列。换句话说,第一个字符串的排列之一是第二个字符串的 子串 。示例 1:输入: s1 = “ab” s2 = “eidbaooo”输出: True解释: s2 包含 s1 的排列之一 (“ba”).示例 2:输入: s1= “ab” s2 = “eidboaoo”输出: False提示:输入的字符串只包含小写字母两个字符串的长度都在 [1, 10,000] 之间class Solution .

2021-03-28 15:49:08 90

原创 平衡二叉树(AVL)平衡调整

文章目录一、AVL树简介二、AVL树相关概念三、调整第一类:LL,RR第二类,LR,RL一、AVL树简介AVL树的名字来源于它的发明作者G.M. Adelson-Velsky 和 E.M. Landis。AVL树是最先发明的自平衡二叉查找树(Self-Balancing Binary Search Tree,简称平衡二叉树)。平衡二叉树定义(AVL):它或者是一颗空树,或者具有以下性质的二叉排序树:它的左子树和右子树的深度之差(平衡因子)的绝对值不超过1,且它的左子树和右子树都是一颗平衡二叉树。一棵

2021-03-28 15:43:07 2950

原创 放苹果

题目描述 放苹果把m个同样的苹果放在n个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。数据范围:0<=m<=10,1<=n<=10。本题含有多组样例输入。输入描述:输入两个int整数输出描述:输出结果,int型示例1输入复制7 3输出复制8题目描述m个苹果发到n个盘子上,盘子可以放苹果也可以不放苹果,组合问题。思路递归:定义函数:f(m, n)为m个苹果放到n个盘子上的分发数。分两种

2021-03-25 22:01:01 81

原创 计算机网络知识点整理

计算机网络简述从输入网址到浏览器显示的过程当我们将网址输入到浏览器后,第一件事就是解析URL得到域名,通过DNS协议得到改域名IP地址,接着通过IP地址与服务器通过TCP三次握手建立链接,然后构建HTTP请求,将HTTP的传输工作交给操作系统的协议栈;发送请求成功后,浏览器会从服务器那里得到HTML文件和资源文件,接着进行页面渲染,最后就是我们看到的模样。这个过程中重要的几个知识点是DNS解析、HTTP请求、TCP/IP协议栈、页面渲染等,只用挑一两个着重介绍,其它略过。当然也可以继续扩展,HTTP和

2021-03-25 21:05:27 346

原创 操作系统知识点梳理

操作系统内存管理简述进程线程切换的流程如果想要从A进程切换到B进程,必定要先从用户态切换到内核态,因为这个切换工作是由操作系统完成的,操作系统需要先挂起正在占用CPU的A进程,才能切换到B进程。由于从用户态切换到内核态的时候,CPU是在用户进程手中,所以这个是通过硬中断来实现的。再从用户态切换到内核态之前需要首先保存用户进程的上下文,以便下一次执行是可以继续之前的工作。这个上下文就是进程的执行环境,包括所有的寄存器变量,进程打开的文件、内存信息等。一个进程的上下文可以分为用户级上下文、寄存器上下文

2021-03-25 21:04:22 468

原创 数据库理论

数据库简述关系型数据库和非关系型数据库关系型数据库:指采用了关系模型来组织数据的数据库,关系模型指的是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。优点是容易理解、使用方便、易于维护。缺点是磁盘IO是一个很大的瓶颈,不适用于高并发的网站,海量数据查询效率低,难以横向扩展,当应用系统访问量与日俱增时,可能需要数据库系统进行扩展和升级,往往需要停机维护和数据迁移;导致性能欠佳的最主要原因时多表的关联查询、以及复杂数据分析类型的复杂SQL报表查询。为了保证数据库的ACI

2021-03-25 21:01:49 215

原创 HashMap 原理解释及其常见面试题

HashMap 原理解释及其常见面试题在多线程下在java HashMap的1948或2239行都会出现死循环情况,1948行treeify函数中将链表转为树的时候,2239在balanceInsertion函数中,让树变为平衡时,总之多线程下HashMap在链表转树或涉及树的操作时会出现死循环。测试代码:import java.util.*;public class MainTest { Map<String,String> map = new HashMap<>();

2021-03-25 19:32:16 541

原创 84. 柱状图中最大的矩形

柱状图中最大的矩形给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。求在该柱状图中,能够勾勒出来的矩形的最大面积。以上是柱状图的示例,其中每个柱子的宽度为 1,给定的高度为 [2,1,5,6,2,3]。图中阴影部分为所能勾勒出的最大矩形面积,其面积为 10 个单位。示例:输入: [2,1,5,6,2,3]输出: 10题目大意给定一个柱状图,求该柱状图能够勾勒的最大矩形面积思路用一个单调自增栈才存数组索引,当当前元素大于栈顶元素时就出栈计算此.

2021-03-24 19:07:49 94

原创 42. 接雨水

接雨水给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。示例 1:输入:height = [0,1,0,2,1,0,1,3,2,1,2,1]输出:6解释:上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。示例 2:输入:height = [4,2,0,3,2,5]输出:9提示:n == height.length0 <= n <= .

2021-03-24 18:24:52 76

原创 146. LRU 缓存机制

LRU 缓存机制运用你所掌握的数据结构,设计和实现一个 LRU (最近最少使用) 缓存机制 。实现 LRUCache 类:LRUCache(int capacity) 以正整数作为容量 capacity 初始化 LRU 缓存int get(int key) 如果关键字 key 存在于缓存中,则返回关键字的值,否则返回 -1 。void put(int key, int value) 如果关键字已经存在,则变更其数据值;如果关键字不存在,则插入该组「关键字-值」。当缓存容量达到上限时,它应该在.

2021-03-18 11:41:10 149

原创 990. 等式方程的可满足性

等式方程的可满足性给定一个由表示变量之间关系的字符串方程组成的数组,每个字符串方程 equations[i] 的长度为 4,并采用两种不同的形式之一:“a==b” 或 “a!=b”。在这里,a 和 b 是小写字母(不一定不同),表示单字母变量名。只有当可以将整数分配给变量名,以便满足所有给定的方程时才返回 true,否则返回 false。示例 1:输入:[“a==b”,“b!=a”]输出:false解释:如果我们指定,a = 1 且 b = 1,那么可以满足第一个方程,但无法满足第二个方程。.

2021-03-18 10:41:29 154

原创 Java 异常处理

Java 异常处理捕获异常捕获异常使用try…catch语句,把可能发生异常的代码放到try {…}中,然后使用catch捕获对应的Exception及其子类:static byte[] toGBK(String s) { try { return s.getBytes("GBK"); } catch (UnsupportedEncodingException e) { // 先记下来再说: e.printStackTrace();

2021-03-17 16:58:18 121

demo语音识别百度网盘.zip

lstm ctc 语音识别

2021-08-20

Snow.html雪花代码

HTML雪花,浏览器打开就能看到天空中下的雪花

2021-03-05

eclipse-SDK-4.3.1-linux-gtk-x86_64.tar.zip

eclipse-SDK-4.3.1-linux-gtk-x86_64.tar.zip

2020-06-17

eclipse-SDK-4.3.2-linux-gtk.tar.zip

32位 eclipse-SDK-4.3.2-linux-gtk.tar.zip

2020-06-17

jdk1.7.0_80-linux-x64.zip

jdk1.7.0_80-linux-x64.zip

2020-06-16

hadoop-2.8.5.rar

hadoop-2.8.5.rar

2020-06-02

cudnn6.0 for windows10版 64位.rar

cudnn6.0 for windows10版 64位.rar

2020-06-02

cudnn--x64-v6.0 windows7版 64位.zip

cudnn--x64-v6.0 windows7版 64位.zip

2020-06-02

GeoLite2-City_20200512.tar.gz(最新)

GeoLite2-City_20200512.tar ip得到地理位置经纬度

2020-05-15

MySQL Installer 5.6.21.2.zip

MySQL Installer 5.6.21.2.zip

2020-05-14

python原生实现RSA算法,十分详细

python原生实现RSA算法,十分详细。

2019-11-12

空空如也

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

TA关注的人

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