自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 学习图,Java实现

2022-08-01 15:08:10 62

原创 学习二叉树,Java实现

二叉树

2022-07-30 10:28:15 158

原创 学习栈,Java实现

2022-07-29 16:55:03 55

原创 学习队列,Java实现

队列

2022-07-29 16:50:36 143

原创 学习链表,Java实现

链表

2022-07-28 21:27:14 138

原创 学习顺序表,Java实现

顺序表

2022-07-28 17:56:01 37

原创 JAVA抽象类中都能写哪些东西

Java的抽象类,接口,外部类,实例变量,静态变量,常量,实例方法,静态方法知识

2022-07-21 19:52:30 294

原创 计算机网络ARP,Nslookup,netsh,ftp命令

ARP用于确定对应IP地址的网卡物理地址。ARP命令能够查看本地计算机或另一台计算机的ARP高速缓存中的当前内容。此外,使用ARP命令,也可以用人工方式输入静态的网卡物理/IP地址对。可使用这种方式为缺省网关和本地服务器等常用主机进行操作,有助于减少网络上的信息量。显示和修改地址解析协议(ARP)使用的“IP 到物理”地址转换表。ARP -s inet_addr eth_addr [if_addr]ARP -d inet_addr [if_addr]ARP -a [inet_addr]

2022-05-31 11:41:34 160

原创 结算机网络的tracert和route命令

1.Tracert命令可以用来跟踪数据报使用的路由(路径),并列出在所经过的每个路由器上所花的时间。因此, Tracert一般用来检测故障的位置。该实用程序跟踪的路径是源计算机到目的计算机的一条路径,但不能保证或认为数据报总遵循这个路径。用法: tracert [-d] [-h maximum_hops] [-j host-list] [-w timeout] [-R] [-S srcaddr] [-4] [-6] target_name选项: -d ...

2022-05-31 11:23:11 190

原创 计算机网络的netstat的使用

etstat 用于显示与 IP、TCP、UDP 和 ICMP 协议相关的统计数据,用于检验本机各端口网络连接情况。显示协议统计信息和当前 TCP/IP 网络连接。NETSTAT [-a] [-b] [-e] [-f] [-n] [-o] [-p proto] [-r] [-s] [-x] [-t] [interval] -a 显示所有连接和侦听端口。 -b 显示在创建每个连接或侦听端口时涉及的 可执行程序。在某...

2022-05-31 11:04:11 103

原创 计算机网络的ipconfig的使用

ipconfig用来检验人工配置的TCP/IP设置是否正确.可以了解ip地址,子网掩码,网关的配置,检查故障。用法: ipconfig [/allcompartments] [/? | /all | /renew [adapter] | /release [adapter] | /renew6 [adapter] | /release6 [adapter] | ...

2022-05-31 10:52:54 246

原创 计算机网络ping命令的使用

ping命令用来检查IP网络连接及主机是否可达;用法: ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS][-r count] [-s count] [[-j host-list] | [-k host-list]][-w timeout] [-R] [-S srcaddr] [-c compartment] [-p][-4] [-6] target_na...

2022-05-31 10:33:22 1459

原创 关于ftp服务器ip映射问题的文章

在开发过程部署过程中遇到这样的问题,Java程序部署在linux上,需要和对方的应用通信,通过VPN方式,但是VPN又只是支持windows操作系统,于是就需要通过ip映射方式去处理,结果遇到如下问题:可以登录,但是无法传输数据:通过查找网上资料,推荐如下一篇文件:映射内网ftp服务器到公网报错问题解决 - 爱码网希望对大家有帮助!!!...

2022-05-19 14:04:32 53

原创 Linux查看端口是否被占用

方式1:查看所有端口sudo lsof -i -P -n | grep LISTEN方式2:查看指定端口ps -ef | grep :80方式3:netstat -anp |grep :80方式4:netstat -tunlp |grep :80查看服务器所有端口netstat -ntp...

2022-05-17 13:58:13 101

原创 给自己的jar包运行时分配内存大小

java -jar -Xms8m -Xmx8m -XX:PermSize=8M -XX:MaxPermSize=16M bankmock-0.0.1-SNAPSHOT.jar说明:Xms:堆内存初始大小Xmx:堆内存最大值PermSize:永久内存初始大小MaxPermSize:永久内存最大值上边是启动jar包时设置的jvm参数;自己打一个包,springboot搭建的,打包后40多兆。当我们在windows上cmd进入启动的时候,当我设置的启动参数为:java -jar.

2022-04-20 21:20:42 4532 2

原创 react入门指南

1.在cmd查询node.js,node -v ,查询npm,npm -v;如果没有请安装node.jsNode.js2.按照Create React App 安装指南创建一个新的项目;npx create-react-app my-appcd my-appnpm start3.删除掉新项目中src/文件夹下的所有文件。cd my-appcd src# 如果你使用 Mac 或 Linux:rm -f *# 如果你使用 Windows:del *#...

2022-03-10 15:32:20 61

原创 Mybatis遇到的坑

iBatis自己带了一个simple的数据库连接池,基本的功能都有。但是在处理部分数据库(比如mysql)的连接空闲时间太长(mysql是8小时)自动超时的时候,就比不上象c3p0这样的连接池软件了(c3p0能自动处理数据库连接被关闭的情况)解决方案:SpringBoot项目application.properties里配置#<!-- 这是一个底层设置,如果获取连接花费的相当长的时间,它会给连接池打印状态日志并重新尝试获取一个连接(避免在误配置的情况下一直安静的失败),默认值:200

2022-01-26 15:56:27 83

原创 计算机科学需要掌握的数学公式

指数:对数:在计算机科学中,除非有特别的申明,所有的对数都是以2为底的。定理1.1定理1.2其他一些公式可以以此类推:级数:

2022-01-19 20:26:57 616

原创 网络安全基础知识笔记

计算机网络通信面临两大威胁,即被动攻击和主动攻击。被动攻击是指攻击者从网络上窃取他人的通信内容。通常把这类攻击称为解惑。攻击者只是观察和分析某一个协议数据单元 PDU,这些数据对分析者不易理解,但是可以研究协议的地址和身份,数据长度和传输的频度。从而交接交换的数据的某种特性,被动攻击又叫流量分析。通过流量分析可以发现目的地址或源地址等。主动攻击有如下几种方式:(1)篡改:攻击者故意篡改网络上的传输报文。也称为更改报文流。(2)恶意程序:举例几种恶意程序:计算机病毒:一种会传染其他程序

2022-01-18 17:24:04 4726

原创 计算机网络物理层笔记

物理层传输媒介的4大特性:(1)机械特性:指明接口所用接线器的形状和尺寸,引脚数和排列,固定和锁定装置等。(2)电器特性:指明在接口电缆的各条线上出现的电压的范围;(3)功能特性:指明某一条线上出现的某一电平的电压意义;(4)过程特性:指明对于不同功能的各种可能事件的出现顺序。数据通信模型:源点:也叫信源,数据产生的设备 ;发送器/接收器:也叫调制器/协调器,将接收的信号转换为目的端能够处理的信号;终点:也叫信宿:接收信号的端点;概念认知:(1)模拟信号:或连续信

2022-01-17 22:32:09 4051

原创 数据链路层点对点协议PPP和MAC简单介绍

点对点协议PPP(point-to-point protocol)是目前使用的最广泛的数据链路层协议。互联网用户通常都要连接到某个ISP才能接入到互联网。PPP协议就是用户计算机和ISP进行通信时所使用的数据链路层协议。PPP协议有如下特点:(1)简单:数据链路层的帧不需要纠错,不需要序号,不需要流量控制。(2)封装成帧:规定特殊字符作为帧定界符(帧的开始和结束字符);(3)透明:保证数据传输的透明性。(4)多种网络层协议:在同一条物理线路上同事支持多种网络层协议的运行。如I

2022-01-15 13:05:20 1645

原创 IP数据报的格式

IP数据报的格式能够说明IP协议具有什么功能,在TCP/IP的标准中,各种数据格式常以32位(4字节)为单位来描述。一个IP数据包有首部和数据两部分组成。首部的前一部分是固定长度,占20字节,是所有IP必须有的。在首部的固定后面是一些可选字段,其长度是可变的。(1)版本:占4位,指IP协议的版本。双方通信的版本必须一致。目前使用的版本号是4,即IPv4.(2)首部长度:占4位,可表示的十进制数是15(二进制:1111) 。首部长度的字段所表示数的单位是32位字(1个32位字长是4字节)。最小

2022-01-15 11:16:54 2894

原创 TCP报文段的首部格式

①位/比特(bit):内存中最小的单位,二进制数序列中的一个0或一个1就是一比特,②1 Byte=8bit(位)。③1KB=1024Byte(字节)④1MB=1024KB。⑤1GB=1024MB。⑥TB、Tera byte:1TB=1024GB。TCP是面向字节流的,传送的数据是报文段,一个报文段分为首部和数据2个部分。TCP首部的前20个字节是固定的,后面的4n个字节是根据需要而增加的选项,n为整数,因此TCP的最小长度小于20字节。20 Byte * 8bit=160bit(位)..

2022-01-14 23:17:00 263

原创 超文本传送协议HTTP

HTTP操作过程:HTTP定义了浏览器怎样向万维网服务器请求万维网文档以及服务器怎样把文档传送给浏览器。是面向事务的应用层协议。可以传送文本,超文本,声音,图像等信息。万维网的大致工作过程如下图:1.服务端不断的监听TCP的端口,发现客户端有连接尽量就建立连接;2.连接建立后,浏览器向服务端发送HTTTP请求报文;3.服务端响应HTTP请求报文;4.释放TCP连接。HTTP使用了面向连接的TCP作为运输层协议,保证数据可靠传输。HTTP协议是无连接的,无状态的。HTTP的

2022-01-13 21:06:08 171

原创 Java并发编程工具类之控制并发线程数的Semaphore

Semaphore(信号量)是用来控制同时访问特定资源的线程数量,它通过协调各个线程,以 保证合理的使用公共资源。计数信号灯。从概念上讲,信号量维护一组许可。每个{@link#acquire}都会在必要时阻塞,直到有许可证可用,然后再获取它。每个{@link#release}都会添加一个许可证,可能会释放一个阻塞收单机构。但是,没有使用实际的许可证对象;{@code信号量}只保留可用数量的计数,并相应地进行操作。应用场景:Semaphore可以用于做流量控制,特别是公用资源有限的应

2022-01-12 17:42:22 313

原创 Java中的并发工具类之线程间交换数据的Exchanger

Exchanger(交换者)是一个用于线程间协作的工具类。Exchanger用于进行线程间的数据交 换。它提供一个同步点,在这个同步点,两个线程可以交换彼此的数据。这两个线程通过 exchange方法交换数据,如果第一个线程先执行exchange()方法,它会一直等待第二个线程也 执行exchange方法,当两个线程都到达同步点时,这两个线程就可以交换数据,将本线程生产 出来的数据传递给对方。 一个同步点,线程可以在该点配对和交换配对中的元素。每个线程在{@link#exchange

2022-01-12 17:24:14 50

原创 Java并发工具包之同步屏障CyclicBarrier

CyclicBarrier的字面意思是可循环使用(Cyclic)的屏障(Barrier)。它要做的事情是,让一 组线程到达一个屏障(也可以叫同步点)时被阻塞,直到最后一个线程到达屏障时,屏障才会 开门,所有被屏障拦截的线程才会继续运行。一种同步辅助工具,允许一组线程都等待对方到达一个共同的障碍点。CyclicBarrier在涉及固定大小的线程组的程序中很有用,这些线程有时必须互相等待。该屏障被称为循环屏障,因为它可以在释放等待的线程后重新使用介绍CyclicBarrier2种构造器的

2022-01-12 17:05:47 57

原创 Java并发工具包之CountDownLatch

CountDownLatch允许一个或多个线程等待其他线程完成操作。 假如有这样一个需求:我们需要解析一个Excel里多个sheet的数据,此时可以考虑使用多 线程,每个线程解析一个sheet里的数据,等到所有的sheet都解析完之后,程序需要提示解析完 成。在这个需求中,要实现主线程等待所有线程完成sheet的解析操作。--摘自Java并发编程的艺术针对上述的需求有2个解决方案,方案1就是使用jion(),方案2就是使用CountDownLatch;首先介绍方案1的实现:*

2022-01-12 16:11:45 94

原创 记windows如何杀掉进程

1.按win+r快捷键,启动CMD2.查到特定的端口被哪个应用占用: netstat -ano |findstr "端口号"3.查看应用的进程id,tasklist |findstr “进程id号”4.杀掉进程:taskkill /f /t /im “进程id或者进程名称”...

2022-01-08 18:21:15 593

原创 Netty+HTTP+XML框架开发

HTTP简单介绍:http是属于应用层的面向对象传输协议,适用于分布式超媒体信息系统。HTTP的特点:(1)支持client/server模式(2)简单(3)灵活(4)无状态HTTP请求消息:(1)请求行(2)请求头(3)请求体HTTP响应消息:(1)状态行(2)消息报头(3)响应正文Netty+HTTP+XML实战:1.对象和工具类准备package com.netty.wcy20210713.netty02;import com.ne

2022-01-04 19:15:51 405 1

原创 Netty之WebSocket实战

一.http的弊端(1)http协议为半双工通信协议(2)http协议消息长而繁琐(3)针对服务推送的黑客攻击,例如长时间轮询二.WebSocket的特点(1)单一的TCP连接,全双工通信(2)对代理,防火墙,路由器透明(3)无头部消息,Cookie和身份认证(4)无安全开销(5)通过“ping/pong”保持链路激活(6)服务器可以主动推送消息给客户端,不在需要客户端轮询三.WebSocket建立连接示意图四.WebSocket的生命周期示意图.

2022-01-04 16:04:32 152

原创 MySQL之流程控制学习篇

-- 创建学生表CREATE TABLE `student` ( `id` int(11) NOT NULL COMMENT '编号', `sex` tinyint(4) NOT NULL DEFAULT '1' COMMENT '性别,1:男,2:女', `name` varchar(16) NOT NULL DEFAULT '' COMMENT '姓名', `age` int(11) NULL COMMENT '年龄', PRIMARY KEY (`id`)) ENGINE=.

2021-12-27 23:03:07 298

原创 MySQL之视图学习篇

视图:简单理解视图,就是一张虚表,只存储sql逻辑,不会存储数据,实际数据存在表中。视图的优点,查询需要的数据,屏蔽不需要的数据;下面简单做视图的创建,修改,查询,操作,删除的实战操作。-- 创建视图CREATE VIEW view1 AS SELECTa.age,b.NAME FROM stusent a, t_user b WHERE a.id = b.id -- 使用视图SELECT * FROM view1 WHERE age = 20 SELECT * F

2021-12-26 22:11:09 242

原创 MySQL之事务学习篇

事务:理解就是一个处理单元,这个处理单元里可能包含需要处理的曾删改操作,要保证这个处理单元顺利执行完成或者全部没有执行。事务的特性:原子性,一致性,隔离性,持久性事务分为显示事务和隐式事务,显示事务就是要开发人员操作,隐式事务默认开启自动提交功能1.查看是否开启自动提交功能,on 是,off 否show variables like 'autocommit';2.设置提交方式,0 不自动,1 自动 set autocommit=1;3.创建一张表CREATE .

2021-12-25 13:01:28 135

原创 Mysql之函数创建

1.创建,删除,查看,调用无参函数 -- 删除函数 DROP FUNCTION IF EXISTS function1;DELIMITER $-- 创建函数CREATE FUNCTION function1()-- 定义返回值 returns INT BEGIN -- 定义变量 DECLARE max_age int DEFAULT 0; -- 查询sql 并赋值 SELECT max(age) INTO max_age FROM stusent; --

2021-12-25 11:24:52 381

原创 MySQL之存储过程

存储过程就是一组预编译好的sql语句,通过案例来学习如何创建,调用,删除,查看存储过程。CREATE TABLE `stusent` ( `id` int(11) NOT NULL, `name` varchar(30) DEFAULT NULL, `age` int(11) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;1.创建

2021-12-24 23:15:22 266

原创 netty自定义协议栈开发

基于netty+JBoss搭建的自定义开发框架,参考《netty权威指南第二版》1.Maven依赖 <dependency> <groupId>io.netty</groupId> <artifactId>netty-all</artifactId> <version>4.1.20.Final</version> </de

2021-12-23 21:40:54 309

原创 记netty的TCP拆包粘包问题

1.业务处理服务端handler/** * @PackageName:com.netty.obj.firstnetty Description * @author: * @date:2021/12/22 */public class TimeServerHandler extends ChannelInboundHandlerAdapter { private int counter; /** * 对于每个传入的消息都要调用; * @param ctx

2021-12-22 09:59:03 36

原创 netty实战之入门

最近在项目中在在数据交换项目,用到netty框架,搭建框架都是充网上东扒一块,西一块下来凑合用,遇到问题了就百度解决,现在抽点时间从头开始学习!主要是根据《netty实战》进行入门的,案例来自本书;建议搭建可以去看看,博主比较懒,代码就不改了,知识想研究原理,实战验证程序就可以!1.建立服务端ChannelHandler 和业务逻辑/** * @PackageName:com.netty.obj.handler * Description ChannelHandler 和业务逻辑 * @a

2021-12-21 20:38:20 138

原创 dubbo-admin在windows下启动

1.环境准备jdk1.8maven 3.5.xideamysqlnodejsZookeeper2.dubbo-admin-develop官网下载地址github地址:https://github.com/apache/dubbo-admin3.Zookeeper的安装,查资料吧,很简单的,可以深入的研究4.dubbo-admin启动,启动server后端5.打包UI并启动# 安装相关依赖npm install# 启动vue项目npm run d

2021-12-20 11:42:57 2166

空空如也

空空如也

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

TA关注的人

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