06丨计算机
文章平均质量分 57
操作系统、网络、数据结构、算法
吾日三省贾斯汀
我是贾斯汀,一枚喜欢分享技术和经验的新生代码农~
古人有云:工欲善其事,必先利其器!
吾日三省:善用则益之,滥用则害之!
展开
-
Linux--防火墙iptables基本命令、常用端口的开放/阻止/删除
【学习背景】Linux CentOS 6.5版本以前,默认防的火墙是iptables,CentOS6.5版本及以后版本,防火墙都由iptables升级为了firewall,不过底层还是基于iptables的指令,因此还是有必要了解了解。本文主要介绍iptables的基本命令以及如何开放和阻止iptables防火墙常用端口,如22、80、8080、3306等常用端口号。目录一、iptables安装二、iptables基本操作2.1 防火墙服务2.2 systemctl基本命令2.3 service原创 2021-10-24 18:11:59 · 45883 阅读 · 6 评论 -
LeetCode--多数元素(数组排序、Map特性、位运算、摩尔投票)
题目分析原题:给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。进阶:尝试设计时间复杂度为 O(n)、空间复杂度为 O(1) 的算法解决此问题。示例 1:输入:[3,2,3]输出:3示例 2:示例 2:输入:[2,2,1,1,1,2,2]输出:2解题思路数据结构与算法: 数组、Map特性、位运算、摩尔投票实现思路1: 利用数组排序,取中间元素;实.原创 2021-10-18 18:15:34 · 1111 阅读 · 0 评论 -
LeetCode--只出现一次的数字(位运算、Set集合)
题目分析原题:给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [3,3,2]输出: 2示例 2:输入: [5,3,1,3,1]输出: 5解题思路数据结构与算法:数组、位运算、Set特性实现思路1:利用^异或位运算特性 a ^ 0 = a; a ^ a = 0; a ^ b ^ a = a ^ a ^ b;实现思路2:利用Se.原创 2021-10-18 17:04:24 · 1132 阅读 · 0 评论 -
LeetCode--Java实现704.二分查找、278.第一个错误的版本、35.搜索插入位置
目录学习背景704.二分查找题目分析解题思路代码实现278.第一个错误的版本题目分析解题思路代码实现35.搜索插入位置题目分析解题思路代码实现学习背景本文主要介绍如何通过Java实现LeetCode官方提供的以下数据结构与算法题目:704.二分查找278.第一个错误的版本35.搜索插入位置704.二分查找题目分析原题:给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回原创 2021-10-13 17:05:30 · 1234 阅读 · 0 评论 -
Shell--脚本中如何通过while或for两种方式实现读写文件操作【工作笔记】
哈喽,大家好,我是贾斯汀,欢迎又来学习啦~ 【学习背景】本文主要介绍Shell脚本中如何通过while和for两种循环方式,实现按行读写文件,分享出来,希望能对您有所帮助~进入正文~目录一、while方式二、for方式一、while方式(1)创建读文件while_read.log示例内容:123哈哈哈秀儿是你吗?666(2)创建while.sh脚本示例内容:#!/bin/sh#定义要读取的文件readfile=/home/mysql/sh/while_rea..原创 2021-09-10 14:04:48 · 3200 阅读 · 11 评论 -
Shell--计算两个日期的相差天数及输出这两个日期内的所有日期【工作笔记】
定义脚本vim calculateDate.sh如下:#!/bin/shstartDate="20210801"endDate="20210826"echo "起始日期:$startDate"echo "结束日期:$endDate"#将日期转成秒startDateTime=`date -d "$startDate" +%s`endDateTime=`date -d "$endDate" +%s`#两个日期秒数差diff=`expr $endDateTime - $startDate原创 2021-08-26 12:16:53 · 6162 阅读 · 7 评论 -
Shell--如何定义及遍历数组、字符串数组【工作笔记】
脚本定义array.sh:vim array.sh添加内容如下:#!/bin/sh#!/bin/shecho "一、Shell定义数组及遍历数组=========";array=(666 777 888)for value in ${array[@]};do echo $value;done;echo "二、Shell定义字符串数组及遍历字符串数组=========";strArray=("a.del" "b.del" "c.del");for value in ${strArr原创 2021-08-26 11:22:49 · 6983 阅读 · 3 评论 -
Linux--用户及用户组管理基本命令
目录学习背景一、用户组管理1.1 用户组查看1.2 用户组添加1.2.1 直接添加用户组1.2.2 指定GID值添加用户组1.2.3 用户组修改1.2.4 用户组删除1.2.5 用户组密码1.2.6 用户组切换1.2.7 管理用户组用户1.2.8 查看用户组下所有用户二、用户管理2.1 用户查看2.1.1 查看所有用户2.1.2 查看活跃用户2.1.3 当前用户所在组2.1.4 指定用户及所在组2.1.4 查看当前登录的用户名2.2 用户添加2.2.1 直接添加用户2.2.2 指定选项添加用户2.3 用原创 2021-08-12 14:01:40 · 15595 阅读 · 70 评论 -
Linux-- 定时服务crond VS anacron和 crontab VS anacrontab区别对比
学习背景一般实际的项目中多多少少都可能会涉及到定时任务的场景,比如定时nginx日志清理及备份、tomcat日志滚动、MySQL数据库自动备份、批量解析数据文件导入导出等等,定时任务执行的对象可能是shell脚本等指令文件。而定时任务的实现,在Java工程当中,可以通过Spring Quartz配置定时任务,在Linux服务器可以通过自带的crond服务配置定时任务,方式有很多种,本文主要介绍Linux服务自带的定时服务,有crond、anacron、crontab、anacrontab,这四种服务相互原创 2021-08-04 11:14:47 · 4145 阅读 · 10 评论 -
数组--如何通过【二维数组+稀疏数组】实现五子棋盘,并且保存记忆功能?
一、应用场景通过Java + 二维数组 + 稀疏数组实现一个五子棋盘功能,并且具有保存记忆功能。二、实现原理2.1 二维数组数组大家都知道,如不过数组是一维的属于线性结构,而二维数组则属于非线性结构。创建一维数组int oneArr[] = new int[11];创建二维数组int twoArr[][] = new int[11][11];2.2 稀疏数组稀疏数组是一种特殊的二维数组,采用压缩技术,可以减少占用的空间,降低空间复杂度稀疏数组有多行,但只有三列,分别表示row(原创 2021-07-25 15:34:21 · 1322 阅读 · 6 评论 -
网络安全--Java代码生成自颁发 cer证书、base64 cer证书文件
目录一、说明二、实现代码三、结果分析一、说明最近在做一个项目,涉及到数字证书这一块的内容,其中有一个需求是,根据前端维护上送参数, 后台Java实现生成cer自签名证书,证书要求跟openssl命令生成的一样 ,我的java环境是JDK1.8。网络--keytool CA签名SSL证书(收费)网络--keytool自签名SSL证书(免费)以及私钥签名、公钥验签二、实现代...原创 2019-11-12 16:53:15 · 21400 阅读 · 3 评论 -
网络安全--keytool CA签名SSL证书(收费)
本文主要介绍keytool CA签名SSL证书(收费),点击查看keytool自签名SSL证书(免费)以及私钥签名、公钥验签流程最近给银行做一个系统,虽说是给行内使用的,但是系统要同时支持内外网方式登录,采用https(http+ssl)传输协议,经过SSL加密信息,防止用户信息被截获。因此花了一段时间研究这方面的知识,主要从JDK自带keytool入手,研究如何通过keytool最终得到...原创 2019-08-25 13:32:50 · 17358 阅读 · 14 评论 -
网络--keytool自签名SSL证书(免费)以及私钥签名、公钥验签
本文主要介绍keytool自签名SSL证书(免费)以及私钥签名、公钥验签流程,点击查看keytool CA签名SSL证书(收费)最近给银行做一个系统,虽说是给行内使用的,但是系统要同时支持内外网方式登录,采用https(http+ssl)传输协议,经过SSL加密信息,防止用户信息被截获。因此花了一段时间研究这方面的知识,主要从JDK自带keytool入手,研究如何通过keytool最终得到...原创 2019-08-24 14:42:06 · 20446 阅读 · 0 评论 -
Windows--双路由永久配置内网、外网同时连接(wifi或手机热点)
目录一、连接内外网二、配置永久路由1、查看内网IP2、配置IPv4属性3、配置永久路由4、重连外网因为在公司上班用的是内网,插的内网网线,插上之后,再连接外网(wifi或者热点)没法访问外网,只能上内网。按照网上很多热门教程配置双路由,没有一个是生效的,自己研究了下,配置生效了。一、连接内外网插入内网USB端口、连接外网(wifi或热点),cmd打开命令窗 r...原创 2019-08-05 09:43:53 · 11796 阅读 · 6 评论 -
操作系统--Linux CentOS防火墙iptables安装及端口开放
Linux CentOS6.5以前版本默认防火墙是iptables,CentOS6.5及以后版本升级为firewall,不过底层还是基于iptables的指令。本文主要介绍如何在linux centos iptables防火墙如何开放22、80、8080、3306等端口号。目录一、防火墙安装二、开放指定端口 1、通过指令开放端口 2、通过修改配置开放端口三、删除...原创 2019-09-04 17:37:56 · 15047 阅读 · 0 评论 -
Linux--Xshell连接CentOS提示‘SSH服务器拒绝连接密码‘Connection failed
新买的阿里云Linux CentOS服务器,虽然可以在浏览器远程连接,但是很不方便,例如浏览器终端不允许复制粘贴、不允许上传下载等...想着,还是更习惯使用Xshell,配置好连接属性,点击连接...提示SSH服务器拒绝连接密码或Could not connect to '120.*.*.*' (port 22): Connection failed.原因是linux上没有启动s...原创 2019-08-24 11:35:09 · 13396 阅读 · 2 评论 -
Linux--分享一些常用的CentOS6.6基本指令
熟练linux基本指令,不论是在实际开发中、还是求职面试当中都有很大的优势,本文列举那么几个耐操的指令,实用有易上手,周末有空去个读书馆(ing),搭建个环境lol多几遍,就娴熟了。本文操作Linux环境以VMWare14+CentOS6.6虚拟机为例,相关资源环境VMWare14及永久密钥下载 https://pan.baidu.com/s/1KyT7UIEDal4_wS8rELF9ow ...原创 2019-08-11 14:25:05 · 1422 阅读 · 0 评论 -
Windows--虚拟机VMware如何实现在CentOS中Ctrl+c/v复制粘贴?
一、安装Tools工具栏虚拟机->安装 VMwareTools二、移动目录点击"安装 VMwareTools"后,CentOS页面生成VMwareTools(指向路径/media/VMwareTools)#cd /media/VMware Tools#cp VMwareTools-***.tar.gz /tmp#cd /tmp#tar -xzvf VMwa...原创 2019-08-11 12:50:55 · 7707 阅读 · 0 评论 -
Linux--如何安装Xshell、SecureCRT上传下载sz丨sz命令
一、指令说明从服务器下载文件到本地#sz上传本地文件到服务器#rz新的Linux服务器是没有rz(上传)/sz(下载)命令的,需要我们手动安装,本文主要讲使用Xshell、SecureCRT操作Linux时,上传下载命令sz丨sz的安装介绍。二、指令安装1、直接安装如果你的linux环境yum指令能正常使用的话,可以直接执行安装指令#yum install lrzsz安...原创 2017-11-18 12:38:15 · 1425 阅读 · 0 评论 -
Linux--如何查看JDK版本号、执行路径、安装路径
#java -version 查看java版本号#which java 只能定位到java程序的执行路径#echo $JAVA_HOME 定位java安装路径(前提是配置了$JAVA_HOME环境变量)如果其他方法都试过了,还是没有定位到JDK安装路径,可以尝试以下方法#which java显示********/usr/bin/java#ls -lrt /usr/bin/...原创 2017-11-18 12:35:05 · 3306 阅读 · 0 评论