自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 网络端口及对应服务

网络端口对应服务介绍,可用过本文快速查询对应服务。

2022-07-11 10:08:39 14034 1

原创 防火墙上做地址映射

Juniper防火墙的网络地址映射Juniper防火墙作为网络的一道关卡,除了控制内网用户访问外网之外还可以控制外网对内网的访问,如果用户内网的服务器需要对外网发布服务的话就需要使用Juniper防火墙的网络映射功能公司业务防火墙外网映射该如何去做1.首先上跳板机打开需要设置的服务器。2.然后使用xshell登入防火墙3.输入命令进入路由表edit security nat static进去之后可以直接输入命令,则无需在添加rule-set4.创建一个路由表set rule-set

2021-08-08 23:40:37 3293

原创 路由器的网络连接模式(桥接模式和路由模式)

路由器的网络连接模式一般有AP(接入点)模式、Router(无线路由)模式、Repeater(中继)模式、Bridge(桥接)模式、 Client(客户端)模式。接下来介绍这几种模式的含义和应用场景。1.AP(接入点)模式AP(接入点)模式下,只需要把一根可以上网的网线插在路由器上,无需任何配置就可以通过有线和无线上网了;在此模式下,该设备相当于一台无线HUB,可实现无线之间、无线到有线、无线到广域网络的访问。说到底就相当于一台拥有无线功能的交换机。需要注意的是,此时通过LAN口或者无线上网的用户设备

2021-08-08 23:21:50 32809 1

原创 网络地址转换技术NAT

NAT含义网络地址转换, 就是替换IP报文头部的地址信息。NAT通常部署在一个组织的网络出口位置,通过将内部网络IP地址替换为出口的IP地址提供公网可达性和上层协议的连接能力。内部网络IP地址RFC1918规定了三个保留地址段落:10.0.0.0-10.255.255.255;172.16.0.0-172.31.255.255;192.168.0.0-192.168.255.255。这三个范围分别处于A,B,C类的地址段,不向特定的用户分配,被IANA作为私有地址保留。这些地址可以在任何组织或企

2021-08-08 23:10:24 1080

原创 本机ip与外网ip(附带查询方法)

1.二者的区别外网IP:是全世界唯一的IP地址,仅分配给一个网络设备。内网IP:是由路由器分配给每一部内部使用的IP地址,而内网的所有用户都是通过同一个外网IP地址进行上网的,而内网的IP地址每个人的都不一样,Internet上的用户也无法直接访问到内网用户。2.如何查询外网ip和内网ip?2.1 外网ip方法一:在浏览器网址框内输入 ip.3322.org 回车即可得到本机外网的ip方法二:cmd后,输入curl ipinfo.io即可得到外网ip2.2 内网ip本机查看网络属性

2021-03-19 21:33:27 17805 3

原创 Java刷题总结——(wait()跟sleep()区别+时间显示)

1.sleep跟wait方法区别1、sleep方法属于Thread类中方法,表示让一个线程进入睡眠状态,等待一定的时间之后,自动醒来进入到可运行状态,不会马上进入运行状态,因为线程调度机制恢复线程的运行也需要时间,一个线程对象调用了sleep方法之后,并不会释放他所持有的所有对象锁,所以也就不会影响其他进程对象的运行。wait()方法是Object类里的方法,当一个线程执行wait()方法时,它就进入到一个和该对象相关的等待池中(进入等待队列,也就是阻塞的一种,叫等待阻塞),同时释放对象锁,并让出CPU

2020-09-26 10:54:26 542

原创 数据库刷题总结(统计表中数据)

1.统计表中数据select count(*) from table 表示返回表中包括空行和重复行在内的行数,但是会扫描所有列select count(1) from table 也是返回表中包括空行和重复行在内的行数,不会扫描所有列,1其实就是表示有多少个符合条件的行,但是此时没有where,所有没条件也就是返回总行数select count(id) from table 表示返回表中存在该列id的行数,但是该列的值不为空,为空的不计算,所以在此题中是不能用这个,因为tg_email都为空,用主键

2020-09-26 10:47:58 243

原创 数据结构刷题总结——(折半判定树+)

1.折半判定树与完全二叉树折半判定树折半判定树的构造过程其实就是对有序列表二分查找的过程,有序列表的中点是折半判定树的根节点,比根节点小的被分到根节点的左子树,比根节点大的被分到根节点的右子树;折半判定树的性质:任意两棵折半查找判定树,若它们的结点个数相同,则它们的结构完全相同任意结点的左右子树中结点个数最多相差1任意结点的左右子树的高度最多相差1任意两个叶子所处的层次最多相差1完全二叉树:如果二叉树的深度为k,除第 k 层外,其它各层 (1~k-1) 的结点数都达到最大个数,第k 层

2020-09-26 10:45:23 1116

原创 2021校招-360笔试技术A编程题

验证密码复杂性题目大意:给一组字符串,这个字符串必须满足以下五个条件要有数字要有大写字母要有小写字母要有特殊字符子字符串长度不小于8符合的话就输出Ok不符合就输出Irregular password上代码package test;import java.util.Scanner;public class mima { public static void main(String[] args) { Scanner sc=new Scanner(System.in);

2020-09-12 11:08:28 861 1

原创 数据库基础知识总结——(创建索引)

1.创建索引创建索引的语句是create index indexname on tablename (username (length))其中若是char和varchar类型,length可以小于字段实际长度,若是blob或text类型,必须指定length!

2020-09-12 11:06:10 305

原创 Java基础刷题总结———(JSP内置对象)

1.JSP内置对象有:1.request对象客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应。它是HttpServletRequest类的实例。2.response对象response对象包含了响应客户请求的有关信息,但在JSP中很少直接用到它。它是HttpServletResponse类的实例。3.session对象session对象指的是客户端与服务器的一次会话,从客户连到服务器的一个WebApplication开始,直到客户端与服务器断开连接为止。它是

2020-09-11 19:52:58 116

原创 Java基础刷题总结———(final类型+super跟this的区别+J2EE常用名词)

1.final关键字final方法:表示方法不可被子类重写(覆盖)final变量:初始化一次后值不可变final类:类不能被继承,内部的方法和变量都变成final类型final对象:指对象的引用不可变,但是对象的值可变,即指向的是同一个对象,但是对象内部的值可以修改。2....

2020-09-07 22:30:32 117

原创 三次握手四次挥手终于搞清楚啦!

三次握手状态图考点1:状态的转换客户端:SYN-SENT,ESTABLISHED服务器:LISTEN,SYN-RCVD,ESTABLISHED考点二 值的计算客户端发送X,服务器发送Y。三次握手分别是客户端:发送X服务端:发送Y, 确认X+1客户端:发送X+1,确认Y+1四次挥手状态图...

2020-08-29 21:54:50 102

原创 java基础刷题总结——(socket网络编程+Java垃圾回收机制+多线程)

1.socket网络编程1.1 框架介绍socket编程是在tcp/IP上的网络编程。socket在上述的模型的什么位置。通过上面的图,我们清楚,我们好比一些泛型的程序员,一些理论提供者提供给了我们上面的图形的理论,我们需要做的就是讲上面的图形的抽象化的东西具体化 第一次握手:客户端需要发送一个syn j 包,试着去链接服务器端,于是客户端我们需要提供一个链接函数 第二次握手:服务器端需要接收客户端发送过来的syn J+1 包,然后在发送ack包,所以我们需要有服务器端接受处理函数

2020-08-19 23:04:25 622

原创 剑指offer笔记——20. 表示数值的字符串(考虑特殊情况即可)

原题思路既然来判断,字符串是否表示数值,将字符串转成字符数组,那么便将几种特殊情况判断一下就知道了。设置几个标签,来判断情况,初始值都为falsenum:是否出现0-9dot:是否出现小数点eE:是否出现e,E正常情况是数字,0-9若是小数点小数点之前不能有小数点和E,e符号,否则返回falsee,Ee,E之前不能出现e,E,前面必须有数字出现,否则返回false,并且出现e,E之后,需要重置数字位num。+号,-号加减号只能在第一位出现,或者出现在e,E之后,否则返回fals

2020-08-13 20:42:54 107

原创 数据结构刷题总结——知识点归纳1(循环队列)

1.循环队列的相关条件和公式:队尾指针是rear,队头是front,其中QueueSize为循环队列的最大长度1.队空条件:rear==front2.队满条件:(rear+1) %QueueSIze==front3.计算队列长度:(rear-front+QueueSize)%QueueSize4.入队:(rear+1)%QueueSize5.出队:(front+1)%QueueSize...

2020-08-10 22:49:27 756

原创 操作系统刷题总结——知识点归纳1(虚拟地址空间+死锁)

1. 虚拟地址空间几个概念虚拟内存: 虚拟内存是一种逻辑上扩充物理内存的技术。基本思想是用软、硬件技术把内存与外存这两级存储器当做一级存储器来用。虚拟内存技术的实现利用了自动覆盖和交换技术。简单的说就是将硬盘的一部分作为内存来使用。虚拟地址空间: 在32位的i386 CPU的地址总线的是32位的,也就是说可以寻找到4G的地址空间。我们的程序被CPU执行,就是在0x00000000到0xFFFFFFFF这一段地址中。高2G的空间为内核空间,由操作系统调用,低2G的空间为用户空间,由用户使用。寻址过程

2020-08-08 19:40:42 416

原创 数据库刷题总结——考点归纳1(数据库设计+搜索语句+删除)

1.数据库设计阶段按照规范的设计方法,一个完整的数据库设计一般分为以下六个阶段:⑴需求分析:分析用户的需求,包括数据、功能和性能需求;⑵概念结构设计:主要采用E-R模型进行设计,包括画E-R图;⑶逻辑结构设计:通过将E-R图转换成表,实现从E-R模型到关系模型的转换;⑷数据库物理设计:主要是为所设计的数据库选择合适的存储结构和存取路径;⑸数据库的实施:包括编程、测试和试运行;⑹数据库运行与维护:系统的运行与数据库的日常维护。2.数据库搜索语句selete与match()和against()

2020-08-08 19:37:09 307

原创 Java基础内容刷题总结——垃圾回收

1. java垃圾回收算法算法:两个最基本的java回收算法:复制算法和标记清理算法复制算法: 两个区域A和B,初始对象在A,继续存活的对象被转移到B。此为新生代最常用的算法标记清理: 一块区域,标记可达对象(可达性分析),然后回收不可达对象,会出现碎片,那么引出标记-整理算法:多了碎片整理,整理出更大的内存放更大的对象对象两个概念:新生代和年老代新生代: 初始对象,生命周期短的永久代: 长时间存在的对象整个java的垃圾回收是新生代和年老代的协作,这种叫做分代回收。P.S:Seri

2020-08-08 19:24:34 133

原创 Java基础内容刷题总结(正则表达式)

题目解析:知识点

2020-08-08 18:20:27 112

原创 Springboot之——不能交给Spring管理的类如何添加注解?

情况描述如下:在EduSubjectServiceImpl方法中,我们调用easyexcel的读方法进行文件的读取,其中有个参数,监听器SubjectExcelListener直接是我们自己new的。所以,在写SubjectExcelListener类的时候,即图二中,我们不能在这个类上方加入service注解,把这个类交给(图一)(图二)...

2020-08-04 21:46:46 1732 3

原创 最全overleaf在线编辑数学公式以及遇到错误的解决方法!

最近帮朋友改小论文的格式,用到overleaf,现在总结以下我用的比较好用的方法以及遇到的问题。1.公式1.1基本语法公式分为行内公式和行间公式,其中行间公式又分为自动编号的和非自动编号的1.1.1行内公式在输入中,更加简便的写法就是在公式前后加上$,如$a+b=c$1.1.2行间公式非自动编号的公式前后分别加上\[和\],如\[a+b=c\]自动编号的\begin{equation}a+b=c \end{equation}1.2数学公式1.2.1上下标上标用字

2020-07-30 22:34:01 52050 2

原创 nginx基础——请求转发,负载均衡,动静分离

nginxNginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。Nginx是一款轻量级的Web服务器/反向代理服务器以及电子邮件代理服务器,并在一个BSD-like协议下发行。由俄罗斯的程序设计师lgor Sysoev所开发,供俄国大型的入口网站及搜索引擎Rambler使用。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好。Nginx相较于Apache\lighttpd具有占有内存少,稳定性高等优势,并且依靠并发

2020-07-28 17:37:00 217

原创 剑指offer笔记——打印从1到最大的n位数(大数越界)

原题思路返回一个整数列表的话,数字不超过int32整型取值范围内,不需要考虑大数越界的问题,只需要考虑伟大的n位数与位数n的关系所以简单的思路便是得到最大的n位数后,从1循环遍历到end,将其放入到数组中即可。BUT!面试题没有这么简单,真正的面试题的考点在于“大数越界”!!!大数越界需要考虑的点有2个表示大数的变量的类型不管是int/short/long,这三种变量类型,数组的取值范围都是有限的,所以不能采用这三种,需要采用字符串String类型来进行表示生成数字的字符串集生成的

2020-07-28 11:45:52 240

原创 剑指offer刷题笔记—— 二进制中1的个数(巧用&,简单好用一生推!)

二进制中1的个数原题:思路之前想的是个笨办法,怎么把数字转化成二进制的形式,然后再统计1个个数。后来发现,要巧用 “&”, 无需转换成二进制!!!方法1 按位循环&有一个性质,整数n&1的结果0,n最右边的一位是01,n最右边的一位是1&操作完,n右移1位,循环此操作,直至n为0.话不多说,上代码public class Solution { // you need to treat n as an unsigned value

2020-07-27 20:03:03 98

原创 springboot读取配置文件的方式

属性注解Value作用: 把一个值注入到一个属性中,例如,每次调用constantPropertiesUtils类时,都会执行将“abc”注入到name中。用属性注解Value读取配置文件的方式注解中加入入表达式 ${ }在{}中写key的名称...

2020-07-27 16:18:46 151

原创 剑指offer笔记——剪绳子(Ⅰ,Ⅱ)

剪绳子Ⅰ原题:思路:本题算法思想跟代码不是大问题,主要是数学推导。通过劈里啪啦一通推导(看不看的,知道结论就完事儿了 ),结论是绳子以长度为3时等分效果为好,乘积最大。其实问题变转化为,数字n,怎样除以3,使得各个商的乘积最大。当n<=3时,没有什么规律可言,最大商就是n-1(自己品品,你品!)当n>3时,n=3*a+bb的结果,无非有三种,0,1,2好了,破案!!!!!!!!!!!!!上代码:class Solution { public int cut

2020-07-27 11:23:36 87

原创 使用OSS接口报错failed to configure a Datasource解决方法:

问题描述使用了oss接口,创建启动类,启动之后报错:原因分析启动的时候,回去找数据库配置,但是现在编写的模块因为不需要操作数据库,只是做到上传到oss的功能,所以没有配置数据库解决方案1.添加数据库配置(不推荐)在模块的配置文件中,加入数据库的配置2.在启动类上添加属性,默认不去加载数据库的配置(推荐)在@SpringBootApplication()注解中添加属性:exclude=DataSourceAutoConfiguration.class...

2020-07-24 15:53:56 460

原创 IDEA开发spring boot项目无法编译的可能解决方案之文件夹颜色

情况描述左侧的目录中可以看出,不同的文件夹颜色不一样,例如,放代码的文件夹是蓝色的,放配置文件的文件夹是有黄色小图标的。如果配置文件的文件夹跟代码文件的文件夹都是一个样子的,代码可能会无法编译解决方案右键需要改的文件夹,选择“open module settings”选择上方合适的文件夹类型3. 选择完,点击OK,大功告成!...

2020-07-24 11:22:56 3737

原创 Leetcode刷题笔记——数据结构(队列/栈)

1.打开转盘锁原题思路:状态位一共有4位,前后都可进一步,所以从一个状态到下一个状态有8种可能。在这个基础上,采用广度优先的思想来解题。需要的数据结构是队列,并且还需要一个哈希集合来判断状态是否已经尝试。并且用nll放入队列来隔开每一层的遍历。所以,当取出队列中的第一个节点是,先判断是否位null,如果是,则说明进入下一层,即步数加一,并且判断队列中第一个元素是否是null,如果是的话,在...

2020-07-18 20:30:39 143

原创 Queue的三组重复方法:add/offer,element/peek,remove/poll的区别!!

1、add()和offer()区别:add()和offer()都是向队列中添加一个元素。一些队列有大小限制,因此如果想在一个满的队列中加入一个新项,调用 add() 方法就会抛出一个 unchecked 异常,而调用 offer() 方法会返回 false。因此就可以在程序中进行有效的判断!2、poll()和remove()区别:remove() 和 poll() 方法都是从队列中删除第一个元素。如果队列元素为空,调用remove() 的行为与 Collection 接口的版本相似会抛出异常,但是新的

2020-07-18 19:20:49 926

原创 Leetcode刷题笔记——数据结构(哈希表应用:哈希键值)

字母异位词分组原题思路1:排序这里需要看每个字符串的本质,将每个字符串转化成字符数组之后,排序,然后便能得到基础顺序,用这个基础顺序为键值,便能循环判断并将字符串分类上代码:class Solution { public List<List<String>> groupAnagrams(String[] strs) { if(strs.length==0) return new ArrayList<>();

2020-07-15 22:05:08 260

原创 Leetcode刷题笔记——数据结构(哈希表应用:哈希映射)

1. 同构字符串原题:思路1:可以用哈希映射来做。将字符串s和t同时对比,假设当前遇到的字符分别是c1和c2,看一下哈希映射里面是否有c1,如果有,则看一下c1和c2是否相对应,如果不对应,则返回false。如果哈希映射里面没有c1,则将(c1,c2)加到哈希映射中。注意:对于这道题,我们只需要验证 s - > t 和 t -> s 两个方向即可。如果验证一个方向,是不可以的。举个例子,s = ab, t = cc,如果单看 s -> t ,那么 a -> c, b

2020-07-14 22:00:38 148

原创 Leetcode刷题笔记——数据结构(哈希表应用:哈希集合)

1. 两个数组的交集原题:思路: 讲数组准换成哈希集合,使用两个哈希集合来做。定义一个函数来判断两个哈希集合的交集,此处注意,函数的返回值不能单纯的返回交集数组,因为刚开始定义数组的时候并不知道交集的长度,所以数组的长度并不是交集的长度,返回的时候使用Arrays.copyOf()函数处理一下数组,便能直接返回具体的交集。上代码:class Solution { public int[] section(HashSet<Integer> s1, HashSet<Int

2020-07-14 16:21:57 335

原创 BST二叉查找树(二叉排序树)java

1.介绍1.1定义二叉查找树(Binary Search Tree),是一种基础数据结构,支持多种动态集合的操作,search,insert,delete,minimum和maxmum1.2二叉树的性质:要么是一个空树要么具备以下性质(1)若左子树非空,则左子树上的所有节点的关键字值均小于根节点的关键字值;(2)若右子树非空,则右子树上的所有节点的关键字值均大于根节点的关键字值;(3)左右子树也分别是一个二叉查找树2.二叉查找树的java实现2.1 二叉查找树节点的定义publi

2020-07-12 20:53:10 165

原创 Leetcode刷题笔记——数据结构(哈希表)

设计哈希表原题:思路: 采用双端链表作为哈希表的基础数据结构,来实现哈希表的增删查询。关键点有两个:一个是哈希函数的确定,这里考虑质数,最大程度地避免哈希冲突。确定好哈希函数之后,后续增删查的函数,便是做完哈希之后再进行。确定一个基础地数据结构。这里选择双向链表。需要注意,在进行增加操作的时候,需要查询增加的元素是否存在,因为哈希表不存储重复值。...

2020-07-12 16:08:23 232

原创 Leetcode刷题笔记——数据结构(数组相关:反转字符串中的单词)StringBuffer+StringBuilder

反转字符串中的单词 III原题:思路:方法一:直接调用string的相关函数来解决问题split():以“ ”将字符串进行分割,切割成以单词为单位的字符串数组reverse():StringBuffer的一个函数,进行字符串的反转trim():该方法会从一个字符串的两端删除空白字符。话不多说上代码:class Solution { public String reverseWords(String s) { String word[]=s.split(" ");

2020-07-06 21:18:01 189

原创 Leetcode刷题笔记——数据结构(数组相关:杨辉三角)

杨辉三角原题:思路: 动态规划。这个需要注意的时杨辉三角时从0开始的。然后再控制循环变量的时候,变量的边界值,取值需要思考。用代码来解释:第一次错误示范:class Solution { public List<List<Integer>> generate(int numRows) { List<List<Integer>> dp=new ArrayList<>(); if(numRows==0)

2020-07-06 11:59:49 286

原创 分布式在线教育平台项目记录2——技术栈MybatisPlus(4)CRUD接口:查询

查询

2020-07-01 14:01:31 167

原创 Leetcode刷题笔记——数据结构(双指针/快慢指针)

1.两数之和 II - 输入有序数组原题:思路:最开始的思路不是双指针,简单的想两轮循环判断和。class Solution { public int[] twoSum(int[] numbers, int target) { for(int i=0;i<numbers.length;i++){ for(int j=i+1;j<numbers.length;j++){ if(numbers[i]+numbe

2020-06-29 21:37:13 7833

空空如也

空空如也

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

TA关注的人

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