- 博客(65)
- 资源 (9)
- 收藏
- 关注
原创 数组实现循环队列
循环队列:需要预留一个空间,即rear指向的空间,否则无法判断队列为空或者为满空队列条件:rear == front满队列条件:( rear + 1 ) % maxSize = frontpublic class CircleArrayQueue { private int maxSize; private int[] queue; private int front; //队首 private int rear; //队尾 /* 说明:
2021-07-08 17:17:06
236
原创 数组实现简单队列
对于队列来说,需要队首和队尾指针变量,出队改变队首,入队改变队尾。此外需要队列的大小和存放数据的变量。代码如下:public class ArrayQueue { private int maxSize; private int[] queue; private int front; //队首 private int rear; //队尾 public ArrayQueue(int maxSize){ this.maxSize = maxS
2021-07-08 17:08:02
139
原创 数组实现栈
对于栈来说,只有入栈和出栈操作,所以只需要一个栈顶指针即可。另外需要初始化数组的大小和数据存放的空间。代码如下:public class ArrayStack { private int maxSize; private int[] stack; private int top = -1; // 栈指向栈顶元素,初始化为空 public ArrayStack(int maxSize){ this.maxSize = maxSize; th
2021-07-08 16:57:26
91
原创 在服务器上离线下载并在线播放 Cloud Torrent
Cloud Torrent 安装Cloud Torrent 是用 Go 语言编写的程序,无需安装运行环境就可以直接使用。如果想用 Docker 运行或从源代码构建(需安装 Go 环境),在 GitHub 项目页有相关介绍。这里介绍二进制文件使用方法,适用 CentOS、Debian、Ubuntu 这些主流 Linux 发行版。安装步骤:获取 Cloud Torrent,运行后会自动检测系统环境下载对应的二进制文件。curl https://i.jpillora.com/cloud-torren
2021-01-30 11:54:22
824
原创 Linux下tomcat8使用脚本关闭不能杀掉进程问题
由于我tomcat部署了一个DDNS的war包,每分钟检测一次公网ip是否更改,改变则修改解析记录。但是,不知道为什么有时候会突然挂掉,就设置一个定时任务,每个4个小时就关掉重新开一次。然后看着内存占用越来越大,原来是使用了关闭脚本并没有把原来的进程给杀掉。所以需要更改一下tomcat的脚本达到停止运行的时候杀死进程。这里是网上找的个简单,实用的办法,原理就是启动时记住PID,关闭时强制杀死该进程。1、编辑bin/catalina.sh,添加如下内容,作用是记录tomcat的pid#在PRGDIR=d
2021-01-17 20:54:42
401
原创 Linux创建备份之最笨方法
备份:#!/bin/bash# 把回收站的文件清除deleteFile="/backup/delete/tmp.tar.gz"if [ ! -f "$deleteFile" ];then echo "文件不存在"else $(rm -rf $deleteFile)fi# 把原来的文件放在回收站file="/backup/tmp.tar.gz"if [ ! -f "$file" ];then echo "文件不存在"else $(mv $file
2021-01-17 01:17:03
150
原创 Linux更换yum源
一、阿里云yum源:1)备份当前yum源防止出现意外还可以还原回来cd /etc/yum.repos.d/cp CentOS-Base.repo CentOS-Base-repo.bak2)使用wget下载阿里yum源repo文件wget http://mirrors.aliyun.com/repo/Centos-7.repo3) 清理旧包yum clean all4)把下载下来阿里云repo文件设置成为默认源mv Centos-7.repo CentOS-Base.repo5
2021-01-17 00:24:48
435
原创 C语言,指针和变量的地址是一个意思吗?
当然不是。1、指针到底是什么?比如说定义了一个变量a和一个指针p。int main(){ int a = 10; int *p = &a; printf("指针的值是:%d",p);}可以得到p的值:可以知道指针p不过也是一个需要开辟内存空间的变量,只不过里面存放的是另一个变量的地址。既然是这样,那么能不能通过另一种方式来检验指针其实并不特殊呢?把上面代码 p 的定义修改一下,如下:int main(){ int a = 10; i
2020-12-16 14:36:32
2620
转载 Debug命令详解
R命令的使用作用:观看和修改寄存器的值。在提示符“-”下输入以下命令:R。DEBUG将会显示出当前所有寄存器和标志位的状态。接下来再输入命令rax。在提示符“:”后输入100。该命令的作用是将寄存器ax的值设置为100(注意:DEBUG使用的是十六进制,这里的100相当于十进制的256。)最后再执行r命令,观看修改后的寄存器值。H命令的使用H命令作用:计算两个十六进制数的和与差。在提示符“–”下输入以下命令:h 10 1。观看命令执行结果。运行结果的前一个数是计算出来的和,后一个数是计算
2020-12-15 10:51:41
6155
转载 8086寄存器简介
引子打算写几篇稍近底层或者说是基础的博文,浅要介绍或者说是回顾一些基础知识,自然,还是得从最基础的开始,那就从汇编语言开刀吧,从汇编语言开刀的话,我们必须还先要了解一些其他东西,像 CPU ,内存这些知识点还是理解深刻一点的比较好,所以这一篇博文就绕着 80x86 CPU 中寄存器的基础部分下手,至于其他的一些将会在后续的博文中介绍 。同时在这里说明一下,本篇博文介绍的算是比较详细的了,而且介绍的知识点也是比较多的,所以造成博文长度过长,如果有兴趣想了解这一块的话,还请自行斟酌好阅读比例,
2020-12-15 10:18:37
4124
原创 重装系统后,开发环境配置
1.JdkJdk 版本1.82.Eclipse和IDEAEclipse 版本2020-6、IDEA 版本20183.Mysql和NavicatMysql 版本5.14.MavenMaven 版本3.6.15.TomcatTomcat 版本9.06.Xshell或MobaXtermXshell 版本6.0、MobaXterm 版本v20.6------------有时间再补充安装过程--------------...
2020-12-12 14:49:29
258
原创 Mysql忘记密码以及开启远程登录
1、忘记密码提示:Access denied for user ‘root’@‘localhost’ (using password: YES)首先修改配置文件,在 mysqld 下添加 skip-grant-tables[client]#password = your_passwordport = 3306[mysqld]skip-grant-tables接下来在 mysql 的 bin 目录下执行mysql,然后执行以下命令# 切换数据库use mysql# mysql 5
2020-12-11 10:32:31
306
原创 IDEA常用快捷键 - 防遗忘
Alt + Insert 点击类名可快速实现get、set、toString等方法,对子类可以选择父类中的方法进行重写Ctrl + Shift + N 根据类名查找类Ctrl + H 查看该类的继承关系
2020-12-10 20:25:30
131
原创 类装载子系统装载过程及两种类加载器
作用:三个阶段:1、加载阶段这个阶段主要是读取字节码文件。2、验证阶段验证:查看class的二进制文件,能查看到是以CA FE BA EE开头,说明这是一个符合要求的字节码文件。可以防止恶意文件危害虚拟机的安全。准备:...
2020-12-10 19:16:07
162
原创 网络IO(BIO,NIO)、多路复用器
cpu运行原理:假设现在只有一个cpu,说一下在这里的产生的两种中断:1.时钟中断:一个cpu需要执行所有的程序,那么就需要晶振产生时钟中断cpu,cpu再进行进程调度执行下一个程序。由于同一时间只能执行一个程序,所以需要将上一个程序的现场保护起来,把将要执行的程序的现场恢复。这里的保护现场和恢复现场涉及到IO,假设有1w个进程,那么cpu势必有大量的时间浪费在进程的调度上。2.系统调用中断:程序自身也有可能会需要中断来做其他的事情,由于中断程序是在内核里面的,所以程序会调用中断。3.外部中断:
2020-12-09 00:14:06
278
原创 Tcp传输原理
1.tcp协议(一种面向连接的,可靠的传输协议)三次握手建立连接,即在内核里面开辟socket队列空间,为接下来的服务做准备。所以连接并不是真正的建立了电路上的连接,只是为接下来的服务做好了准备。四次分手断开连接,内核释放开辟的空间。这里为什么服务器需要连续发送两个呢?比如说一对夫妻离婚,A对B说我想要离婚,B首先表示知道了,然后B也表示想要离婚,这个时候A表示知道了。然后就可以去签离婚协议了,也代表他们之间的关系结束了。例:对上面的过程进行抓包得到:因为一次性最多接收1500字节,所以
2020-12-07 23:00:07
713
原创 CPU相关的一些概念
1.缓存一致性:由于cpu去内存取数据有局部性原理,比如一次性取64Byte的数据放在一级缓存。对于多核cpu和多cpu计算机来说,需要这个数据的核心都有可能修改这个区域的数据,修改后将主存的数据也更新,需要通知其他使用这部分数据的核心更新。即保持各个核心缓存的一致性。2.cpu指令重排序:cpu可能需要去主存取数据,这个过程较慢,cpu是空闲的。所以cpu会看下一条指令,如果该指令与上一条指令没有关系,则cpu会执行这条指令。原来的指令顺序1 2 3,就变成了2 1 3。对于java的volita
2020-12-07 19:15:11
847
原创 nginx配置反向代理到tomcat
Linux系统,使用了宝塔,原先装了nginx部署了一些需要php环境的网站和静态网站。但是现在有一个springboot项目的war包,我就装了一个tomcat。现在的问题是,我现在tomcat和nginx都需要80端口,因为不管哪个软件更改成其他的端口对于访问来说都是非常麻烦的。于是只能把tomcat启动为8080端口,使用nginx实现反向代理。首先8080端口访问是这样的:更改nginx配置:server { listen 80; server_name
2020-12-03 13:29:11
508
原创 tomcat7与tomcat8不同方式部署ssl证书
本文针对于在阿里云购买的ssl证书进行部署tomcat7阿里云帮助文档使用的就是tomcat7为例子,配置如下:<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="443" /> <Connector port="443" protocol="HTTP/1.1"
2020-12-03 01:01:28
493
转载 二叉树的先序中序后序遍历
先看一下定义:(1)先序遍历:(根左右)(2)中序遍历:(左根右)(3)后序遍历:(左右根)下面依次分析:(拿例子分析比较直接)先序遍历先来看一下先序遍历:先是根然后左分支然后右分支,这个懂的人都懂,但不懂的人就很迷茫了,感觉这句话不就是说明A在第一个,然后遍历左边再右边吗<博主以前就是这么想的>,其实不是的,下面给大家详细说一下把,至于中序与后序都是大同小异了。先看一下整体,先根再左分支,然后右分支。说明先是A然后左边分支然后右边分支:A+A的左分支+A的右分支。再把左分支取出
2020-12-02 15:24:12
1822
原创 Linux中对目录的操作权限
用root用户创建一个root文件夹1.设置用户组权限为可读结果:普通用户在不进入目录的情况下可能读取文件夹下内容,但是不能进入该文件夹。2.设置用户组权限为可执行结果:普通用户能够进入文件夹,但不能查看文件夹内容,因为不可读。更不能创建文件,因为不可执行。3.设置用户组权限为可写、可执行结果:普通用户可以进入文件夹,创建文件,但不能读取。结论:对于目录的读、写、执行其实相应的操作是是否可以查看文件夹内容、在文件夹内创建文件夹或文件、进入文件夹。...
2020-12-01 14:33:08
2424
原创 xml解析url
我们经常上网,经常会进入一个登录注册的页面比如www.xxx.com/login,那么我们是怎么通过url,服务器怎么就知道给我们返回相应的页面呢?网站通常都有web.xml配置文件,如下:<?xml version="1.0" encoding="UTF-8"?> <web-app> <servlet> <servlet-name>...
2019-08-23 12:52:14
1388
原创 template might not exist问题
错误提示:**Error resolving template ‘’/xxx/xxx" template might not exist or might not be accessible by any of the configured Template Resolvers。问题原因:thymeleaf模板引擎不能渲染页面,或者返回提交默认页面可能存在的问题:返回页面时加了 “/” ...
2019-07-16 11:32:52
1812
原创 刚学完java基础,springboot入门
作为准大三狗,近段时间跟着老师在外实习,给我安排任务一周内熟悉mybatis+springboot框架,同时学习jQuery+ajax,和thymeLeaf实现对学生的增删改查,前后端要能进行交互,简直让我一个才学java到线程的人奔溃。不过还好,自己前些时间在w3c学习了一段时间html,css和js的一些基础的东西,xml也看不太懂的。但是任务下来了没办法,硬着头皮做,于是开始动手。不就是增...
2019-07-15 21:22:28
1210
1
WindowsHotkeyExtend_1.2.2.zip
2020-05-25
Mkonlineplayer.zip
2020-05-25
No.7_qzhai.zip
2020-05-25
苹果cmsv10黑精大气响应式模板 自适应手机端.zip
2020-05-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅