自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 基本的JVM参数你了解多少?

JVM参数调优JVM参数查看通过jps 和 jinfo进行查看-Xms: 初始堆空间 ---- 等价于 -XX:InitialHeapSize-Xmx: 堆最大值 ---- 等价于 -XX:MaxHeapSize-Xss: 栈空间 ---- 等价于 -XX:ThreadStackSize-Xms 和 -Xmx最好调整一致,防止JVM频繁进行收集和回收JVM参数类型标配参数-version — java -version (查看Java版本)-help ----

2020-08-17 11:27:08 350

原创 redis简单概要

redis复习补充1、持久化由于redis直接在内存上进行操作,关机后,数据瞬间丢失,利用持久化解决这问题。关于Redis的持久化,主要就两种。AOF:以追加日志的形式进行持久化,实时的写入数据,不会有数据丢失。RDB: 根据自定义配置的save规则进行持久化,有可能在持久化前,服务器宕机,则数据丢失。AOF优缺点优点:数据实时更新,不会产生数据丢失的情况。缺点:当大量的修改操...

2020-04-23 23:50:04 117

原创 JVM基础知识简要概括

JVM初探jvm体系结构[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RxnI0Mey-1583463998979)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20200305170623614.png)]方法区:存储 static,final,Class,...

2020-03-06 11:06:47 201

原创 java并发编程之再学习

java并发基础Callable首先我们来理一理Future和Runable的关系:public class FutureTask<V> implements RunnableFuture<V>public interface RunnableFuture<V> extends Runnable, Future<V> { ...

2020-03-04 22:21:29 140

原创 Ubuntu ee key too small

通过降低SSL security level来使启动Nginx时,报错SSL routines:SSL_CTX_use_certificate:ee key too small 通过sudo vim /etc/ssl/openssl.cnf在头部添加openssl_conf = openssl_init尾部添加[openssl_init]ssl_conf = ssl_sect[ssl_sect]system_default = system_default_sect[system_

2021-10-10 22:06:54 1216 2

原创 acwing基础课搜索与图论

搜索八数码题目链接:https://www.acwing.com/problem/content/847/这道题中比较难的地方在于状态的表示我们将其作为一个string表示状态存入map中即可import java.util.*;/** * @title: Main * @Author CheerJia * @Date: 2021/3/6 10:23 * @Version 1.0 */public class Main { static Scanner sc = ne

2021-04-15 14:23:44 240

原创 布隆过滤器简单实现 --- Java 版

布隆过滤器,简单来说就是判断是否存在,可以应用于爬虫项目中判断是否存在该url,还有Redis缓存穿透中,做布隆过滤器校验等等布隆过滤器是如何判断的呢?假设现在来了一个元素1,你要判断他否存在集合中,看图及文字:我们有{x,y,z}假设这是三个哈希函数,实际上可以更多,我将这个元素1进行三个哈希函数转化得到三个下标值,假设为{3,18,234};那么我们将布隆过滤器这三个集合的下标为{3,18,234}的值设为1(其实这个集合是位为单位占1/8个字节,也就是只有0和1,1代表存在,0代表不存在)

2020-12-09 17:21:04 416 2

原创 IO和NIO

BIOBIO编程流程: Socket —> read/write ---- Thread服务端启动ServerSocket客户端启动Socket进行通信,默认情况下服务端需要对每个客户端建立一个线程通讯客户端发出请求后先咨询服务器是否有线程响应,没有则等待或者拒绝如果有响应,客户端线程等待请求结束,再继续执行;Demo:public class BIOServer { public static void main(String[] args) throws IOExcept

2020-08-24 09:53:04 744 1

原创 Github搜索如何使用?

Github使用常用词watch:会持续收到该项目的动态fork:复制某个仓库到自己的Github仓库中star:点赞clone:将项目下载至本地follow:关注如何搜索in关键词公式:XXX关键字 in:name 或 description 或 readmexxx in:name 项目名称含有XXX的xxx in:description 项目描述含有XXX的xxx in:readme 项目的readme文件中包含XXX的组合使用xxx in:name,readme

2020-08-20 10:09:55 403

原创 Java内存溢出OOM

Java内存溢出OOM常见JavaOOMStackOverflowError: 栈溢出Java heap space : 堆溢出架构OutOfMemoryError和StackOverflowError是属于Error,不是Exception,即使有时候我们口语化:报栈溢出异常了;StackoverFlowError栈溢出很简单,我们只要不断的调用函数递归,没有出口即可爆栈;一般栈大小为 512K ~ 1024K;/** * @title: StackoverFlowTest

2020-08-19 11:45:34 823

原创 第一次如何记住繁杂的垃圾收集器

第一次如何记住繁杂的垃圾收集器首先在学习垃圾收集器之前,你一定要知道JVM内存模型和常见的垃圾回收算法。连线代表相互之间可以配合使用,G1则在新生代和老年代都使用;简单介绍垃圾收集器可以分为串行(Ser)、并行(par)、**响应时间优先(CMS)**来记。年轻代:最早出现的是单线程的 — > Serial并行的 ----- > ParNew吞吐量优先的(不关注单次GC时间) ----- > Parallel Scavenge(一般客户端)老年代:Seria

2020-08-03 20:57:51 323

原创 Class

ClassRTTI(RunTime Type Information,运行时类型信息)能够在程序运行时发现和使用类型信息Java 是如何在运行时识别对象和类信息的。主要有两种方式:“传统的” RTTI:假定我们在编译时已经知道了所有的类型;“反射”机制:允许我们在运行时发现和使用类的信息。实际上,Class 对象就是用来创建该类所有"常规"对象的。Java 使用 Class 对象来实现 RTTI,即便是类型转换这样的操作都是用 Class 对象实现的。构造器也是类的静态方法,虽然构造器前

2020-07-27 20:58:52 86

原创 谈谈抽象类和接口

接口和抽象类抽象类的特点抽象类只是规定这个类“是什么”,具体的实现暂不确定,因此不允许直接创建实例。抽象类是由子类具有相同的一类特征抽象而来,也可以说是其基类或者父类其抽象方法必须为public或者protected或者default(如果是private则子类无法实现该方法,那意义何在?),缺省的情况下默认为public抽象类不能用来创建对象抽象方法必须由子类来实现如果一个类继承于一个抽象类,则子类必须实现父类的抽象方法,如果子类没有实现父类的抽象方法,则必须将子类也定义为抽象类抽象类还

2020-07-27 20:55:50 77

原创 安装RocketMQ遇到的问题

原本环境服务版本RocketMQ4.5.1jdk13windows10 64位win10问题在start mqnamesrv.cmd 时报错解决降低jdk版本链接:https://pan.baidu.com/s/1fDP_1mQh4CbHVUiM9YnG_w提取码:w9s2安装后记得更改JAVA_HOME 环境变量即可。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uZCRdHrp-1595491608347)(i

2020-07-23 16:08:16 223

原创 Educational DP Contest

Educational DP ContestA-Frog 1题意:青蛙可以跳一格或者两格,跳到某格的花费是|hi−hj|;求最少的花费public static void main(String[] args) { int N = sc.nextInt(); int[] a = new int[N + 1],f = new int[N + 1]; for(int i = 1; i <= N; i ++) a[i] = sc.nextInt(); // 第一格的花销

2020-07-23 09:54:07 378

原创 LeetCode上DP题整理汇总

完全背包变形5399.数位成本和为目标值的最大数字给你一个整数数组 cost 和一个整数 target 。请你返回满足如下规则可以得到的 最大 整数:给当前结果添加一个数位(i + 1)的成本为 cost[i] (cost 数组下标从 0 开始)。总成本必须恰好等于 target 。添加的数位中没有数字 0 。由于答案可能会很大,请你以字符串形式返回。如果按照上述要求无法得到任何整数,请你返回 “0” 。示例 1:输入:cost = [4,3,2,5,6,7,2,5,5], targe

2020-07-19 22:07:13 848

原创 MySQL大体架构

Mysql存储引擎咸鱼太久,今天回顾一下下Mysql的一些知识;mysql的架构在Mysql中客户端是不能执行sql语句的,它要交给服务端,而服务的分为sql语句整体流程用户通过Navicat等客户端与服务器建立链接,就会进行用户名密码认证,或者SSL认证登录后,Mysql会根据角色判断对应表的权限当用户发送一条sql语句后,MySQL会先查询缓存,如果有则返回,没有则进行下面操作。update,insert,delete则不经过缓存MySQL进行解析,校验,再对解析树进行查询优化,生成

2020-07-01 15:52:21 184

原创 大数模板(c++)版

#include <iostream>#include<vector>#include<algorithm>using namespace std;//一个大整数一个整数的除法,和余数;vector<int> div(vector<int> &A, int b, int &r){ vector<int> c; //int tmp = 0; r = 0; for(int i = 0

2020-06-24 11:29:02 165

原创 剑指offer第六周(完)

剑指offer第六周79. 滑动窗口的最大值给定一个数组和滑动窗口的大小,请找出所有滑动窗口里的最大值。例如,如果输入数组[2, 3, 4, 2, 6, 2, 5, 1]及滑动窗口的大小3,那么一共存在6个滑动窗口,它们的最大值分别为[4, 4, 6, 6, 6, 5]。注意:数据保证k大于0,且k小于等于数组长度。样例输入:[2, 3, 4, 2, 6, 2, 5, 1] , k=3输出: [4, 4, 6, 6, 6, 5]单调队列模板 — 注意放的是下标class So

2020-06-24 11:24:52 139

原创 剑指offer第五周残缺

剑指offer第五周残缺版73. 数组中只出现一次的两个数字一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。你可以假设这两个数字一定存在。样例输入:[1,2,3,3,4,4]输出:[1,2]数组中只有两个数字出现一次,其余数字都出现两次。根据 a ^ a = 0得,如果将数组所有数字做异或即得到 此唯独出现一次的两个数字的异或;然后根据位 进行分组,即可;class Solution { public int[] findNu

2020-06-20 12:23:53 123

原创 剑指offer第五周

剑指offer第五周57.数字序列中某一位的数字数字以0123456789101112131415…的格式序列化到一个字符序列中。在这个序列中,第5位(从0开始计数)是5,第13位是1,第19位是4,等等。请写一个函数求任意位对应的数字。样例输入:13输出:1思路全在代码中class Solution { public int digitAtIndex(int n) { // base 为当前位数的起点(0,10,100,1000) // i

2020-06-07 20:56:39 150

原创 sql新手练习 30题

sql 训练 1 ~ 40 题建表首先,创建表咯。一共有4张表。分别是学生表,课程表,教师表,成绩表 。学生表Student4个字段,SId(学生ID),Sname(学生姓名),Sage(学生年龄),Ssex(学生性别)create table Student(SId varchar(10),Sname varchar(10),Sage datetime,Ssex varchar(10),PRIMARY key(SId));insert into Student values('01'

2020-06-06 17:41:34 581

原创 剑指offer第四周

46.二叉搜索树的后序遍历序列输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则返回true,否则返回false。假设输入的数组的任意两个数字都互不相同。样例输入:[4, 8, 6, 12, 16, 14, 10]输出:true后续遍历,故最后一个节点一定是根节点,而中间一定从某一个位置分开,其左边全部为左子树,右边全部为右子树,只要判断左子树全部比根小,右子树比根大递归下去,看是否满足,如果找不到这个点,则返回false;class Solution {

2020-06-02 10:01:28 894

原创 剑指offer第三周

剑指Offer第三周35.反转链表定义一个函数,输入一个链表的头结点,反转该链表并输出反转后链表的头结点。思考题:请同时实现迭代版本和递归版本。样例输入:1->2->3->4->5->NULL输出:5->4->3->2->1->NULLpre,cur,next,暴力翻转pre = null,cur = pre, pre = cur,cur = next; 翻转 模板class Solution { publi

2020-05-24 01:17:31 158 3

原创 剑指offer第二周

剑指offer第二周24.机器人的运动范围地上有一个 mm 行和 nn 列的方格,横纵坐标范围分别是 0∼m−10∼m−1 和 0∼n−10∼n−1。一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格。但是不能进入行坐标和列坐标的数位之和大于 kk 的格子。请问该机器人能够达到多少个格子?样例1输入:k=7, m=4, n=5输出:20样例2输入:k=18, m=40, n=40输出:1484解释:当k为18时,机器人能够进入方格(35,37),

2020-05-20 09:53:11 153

原创 剑指offer-第一周

剑指offer 第一周acwing-13.找出数组中重复的数字给定一个长度为 nn 的整数数组 nums,数组中所有的数字都在0∼n−1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。注意:如果某些数字不在0∼n−1 的范围内,或数组中不包含重复数字,则返回 -1;样例给定 nums = [2, 3, 5, 4, 3, 2, 6, 7]。返回 2 或 3。利用Set存储;set 存储时间复杂度O(1),所以此

2020-05-16 20:16:57 195

原创 leetcode-杂题

leetcode-面试题56 - I. 数组中数字出现的次数一个整型数组 nums 里除两个数字之外,其他数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。示例 1:输入:nums = [4,1,4,6]输出:[1,6] 或 [6,1]示例 2:输入:nums = [1,2,10,4,1,4,3,3]输出:[2,10] 或 [10,2]异或求解:101011 如果 是两个相同的数,异或后一定为0. 011101 1101

2020-05-15 21:56:05 2293

原创 红黑树简单学习

红黑树分析红黑树有五个性质:性质1:节点是红色或黑色。性质2:根节点是黑色。性质3: 每个叶节点(NIL节点,空节点)是黑色的。性质4: 每个红色节点的两个子节点都是黑色。(从每个叶子到根的所有路径上不能有两个连续的红色节点)性质5: 从任一节点到其每个叶子的所有路径都包含相同数目的黑色节点。三大核心操作:染色,左旋,右旋插入情况分析:父节点为null,则此节点为root父节点为黑节点,直接插入父节点为红,并且为爷爷节点的左子树,叔叔是红;将爸爸和叔叔染黑,爷爷染红,以爷

2020-05-13 21:25:35 186

原创 八大基本排序算法(附JAVA源码)

八大基础排序冒泡排序对相邻的元素,不断进行比较,就像小泡泡一样,向上浮动。for(int i = 0; i < n; i++) for(int j = i + 1; j < n; j ++) if(a[i] > a[j]){// swap int temp = a[i]; a[i] = a[j]; ...

2020-05-03 15:22:30 304

原创 真的是贪心吗?

1055.股票买卖II给定一个长度为 NN 的数组,数组中的第 ii 个数字表示一个给定股票在第 ii 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。输入格式第一行包含整数 NN,表示数组长度。第二行包含 NN 个不大于 1000010000 的正整数,表示完整的数...

2020-04-29 18:22:11 410

原创 redis简单学习

RedisNoSQLNoSQL = Not SQL (不仅仅是SQL)泛指非关系型数据库,随着web2.0互联网的诞生!传统的关系数据库很难对付web2.0时代!尤其是超大规模的高并发社区!NoSQL在如今大环境下发展迅速,Redis发展最快,也是必须掌握的技术!很多数据类型的个人信息,社交网络,地理位置。这些数据类型的存储不需要一个固定的格式,不需要多余的操作就可以横向扩展!Map&l...

2020-04-24 00:02:19 336

原创 简单概要数据库原理

数据库原理比如点赞收藏一篇文章,我要对该文章的权重值进行一个增加(增大其流量曝光率,优先显示该文章),所以我们进行点赞收藏,数据库对齐点赞数,收藏数进行累加的同时,我们对权重值也要增加。 也就是说,它们是一起的,如果有异常,我们对其点了赞,赞数已经写到数据库后怕抛出了异常,但是权重值没有增加怎么办?所以我们需要引入事务!什么是事务呢?1 事务(Transaction)一般指计算机想做...

2020-04-23 17:56:17 151

原创 滑动窗口,单调栈模板

单调队列,滑动窗口题目链接:https://www.acwing.com/problem/content/156/滑动窗口,维护一个大小为k的队列,使其队列里面的值是单调的。import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java.io.Input...

2020-04-22 12:57:07 227

原创 字典树模板

leetCode 208Implement a trie with insert, search, and startsWith methods.Example:Trie trie = new Trie();trie.insert(“apple”);trie.search(“apple”); // returns truetrie.search(“app”); // ret...

2020-04-17 18:06:14 96

原创 LeetCode-55.Jump Game

Given an array of non-negative integers, you are initially positioned at the first index of the array.Each element in the array represents your maximum jump length at that position.Determine if you ...

2020-04-17 09:48:35 118

原创 juc包简单学习

JUC简单学习并发和并行:并发:几个线程快速交替,轮转时间片;并行:多线程同时执行;线程池;java 默认启动两个线程:GC线程man线程(主线程)线程的状态public static enum State { NEW, //新建状态 RUNNABLE, // 运行状态 BLOCKED, // 阻塞 WAITING, // 等待 TI...

2020-04-15 23:29:05 233

原创 Cache缓存

Integer缓存机制Integer缓存大小为-128 ~ 127;在jdk1.5后有自动装箱拆箱机制;Integer a = 3;//等价于Integer a = Integer.valueOf(3); //默认调用int b = a;//默认调用int b = a.IntValue();不知道大家有没有注意到,在ArrayList的方法中有两个重载的方法:remove(i...

2020-04-14 13:13:48 352

原创 bfs双指针图论

1238.日志统计小明维护着一个程序员论坛。现在他收集了一份”点赞”日志,日志共有 NN 行。其中每一行的格式是:ts id 表示在 tsts 时刻编号 idid 的帖子收到一个”赞”。现在小明想统计有哪些帖子曾经是”热帖”。如果一个帖子曾在任意一个长度为 DD 的时间段内收到不少于 KK 个赞,小明就认为这个帖子曾是”热帖”。具体来说,如果存在某个时刻 TT 满足该帖在 [T,...

2020-04-13 22:48:26 243

原创 树状数组和线段树模板

树状数组:支持单点修改,和前缀求和。1264.动态求连续区间和给定 nn 个数组成的一个数列,规定有两种操作,一是修改某个元素,二是求子数列[a,b]的连续和。输入格式第一行包含两个整数 n 和 m,分别表示数的个数和操作次数。第二行包含 n 个整数,表示完整数列。接下来 m 行,每行包含三个整数 k,a,bk,a,b (k=0,表示求子数列[a,b][a,b]的和;k=1,表示第 a...

2020-04-11 14:36:24 171

原创 模拟枚举排序

ACwing-1210. 连号区间数小明这些天一直在思考这样一个奇怪而有趣的问题:在 1∼N 的某个排列中有多少个连号区间呢?这里所说的连号区间的定义是:如果区间 [L,R] 里的所有元素(即此排列的第 L 个到第 R 个元素)递增排序后能得到一个长度为 R−L+1 的“连续”数列,则称这个区间连号区间。当 N 很小的时候,小明可以很快地算出答案,但是当 N 变大的时候,问题就不是那么简...

2020-04-07 16:27:58 289

空空如也

空空如也

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

TA关注的人

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