- 博客(10)
- 收藏
- 关注
原创 多线程与高并发——基本概念
多线程与高并发——基本概念1. 何为进程?何为线程?进程是程序的一次执行过程,是系统运行程序的基本单位,是动态的。线程是一个比进程更小的执行单位(也叫轻量级进程)。一个进程在其执行的过程中可以产生多个线程。 之后可以扯JVM相关的内容,例如多个线程共享进程的堆和方法区资源,但每个线程有自己的程序计数器、虚拟机栈和本地方法栈2. 并发与并行的概念并发: 同一时间段,多个任务都在执行 (单位时间内不一定同时执行,即交替执行);并行: 单位时间内,多个任务同时执行。3. 创
2021-02-16 13:56:30
255
原创 Starting nginx (via systemctl):长时间没反应并提示信息Can‘t open PID file /var/run/nginx.pid (yet?) after start:
service nginx start启动但Starting nginx (via systemctl):长时间没反应并提示错误信息Can’t open PID file /var/run/nginx.pid (yet?) after start:最近在配置tengine的时候遇到的问题,服务器为centos7。原因: nginx主配置文件nginx.conf中 pid指令配置的pid路径 与 nginx systemd service文件中的配置PIDFile路径不一致导致的。在nginx中
2020-10-15 00:17:16
6229
3
原创 KMP算法
KMP算法子序列:可以连续也可以不连续子数组,子串:一定连续int getIndexof(str1,str2) 用的就是KMP , O(N) ,c++、java的实际时间复杂度要更好1、一个字符的信息:前面字符的最长前缀与最长后缀的匹配长度2、0位置-1,1位置0,…public static int getIndexOf(char[] str1,char[] str2){ if(str1.length<str2.length || str2.length<1){ r
2020-07-05 00:29:47
149
原创 Manacher算法
求一个字符串的最长回文子串的长度暴力解法:需区分奇字符串和偶字符串技巧:在每个字符左右加个字符3个概念半径回文数组回文右边界(所有回文半径中最靠右的位置)回文右边界的中心(第一次的位置)回文右边界在左边,暴力扩(重新建立回文右边界)在回文右边界里面:i 对应 i’ 的回文半径在回文左右边界里面,i 位置的回文半径跟 i’一样i 对应 i’ 的左回文半径在外面,i 位置的回文半径到回文右边界Ri 对应 i’ 的左回文半径压线,i 位置的回文半径到
2020-06-27 23:06:09
141
原创 两个单链表相交的系列问题
给定两个单链表的头节点head1,head2,判断两个链表是否相交,若相交返回相交的第一个节点,若不相交则返回null由于单链表可能无环,也可能有环,因此这个问题可以总划分为三个方面:判断一个单链表是否有环判断两个无环链表是否相交判断两个有环链表是否相交一个有环链表和一个无环链表是不可能相交的,因为若相交则无环链表一定时有环的1. 判断一个单链表是否有环,有环则返回第一个相交的节点loop,不相交则返回null。(1)第一种方法:用哈希表,依次将遍历的节点存入,若有重复的则有环,相反则
2020-06-21 18:38:16
195
原创 常用git命令及常见问题
git initgit addgit commit -m “xxxx”git statusgit diffgit log (–pretty=oneline) 显示从最近到最远的提交日志 HEAD:当前版本git reset --hard + HEAD:当前版本 HEAD^上个版本 HEAD^^上上个版本 HEAD~100 版本号(前几位即可)git reflog...
2020-03-05 23:27:50
113
原创 数组用异或进行数值交换时出现的问题
今天用用异或进行数组数值交换时出现了问题,部分值为0。public static void swap(int[] arr,int i,int j){ arr[i] = arr[i] ^ arr[j]; arr[j] = arr[i] ^ arr[j]; arr[i] = arr[j] ^ arr[i]; }原因:当i==j时,数组本身异...
2020-02-29 00:26:12
305
原创 IDEA中Maven和Gradle依赖包下载失败的问题
引入mybatis-spring-boot-starter包等许多jar包的依赖时一直下载失败(*.lastUpdated),自己下载jar包导入进去又无法引用。解决方法:在本地仓库中删除(*.lastUpdated)文件,重启idea或重新引入依赖下载即可(有时可以,有时不可以)删除本地仓库中所有(.lastUpdated)文件的命令,cd到本地仓库的目录中, for /r %i...
2020-02-09 12:37:59
2450
原创 时间空间复杂度
时间空间复杂度时间时间复杂度为,一个算法流程中,常数操作数量的指标,这个 指标叫做O,big O。具体为,如果常数操作数量的表达式中, 只要高阶项,不要低阶项,也不要高阶项系数之后,剩下的部 分记为f(N),那么该算法的时间复杂度为O(f(N))1. 遍历:N * C = O(N)2. 选择排序:N * C + (N-1)C + … + C = (N+N-1+…) * C = (an2+...
2020-01-17 12:44:46
139
原创 排序
排序对数器:易写不出错的流程 + 随机生成的样例插入排序将一个新的数插入到一个有序数组中进行比较public static void insertionSort(int[] arr) { if (arr == null || arr.length < 2) { return; } for (int i = 1; i < arr.length; i++)...
2020-01-17 12:36:50
271
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人