自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 一文必懂Raft

Raft的内部选举、复制、安全保证,以及客户端如何与集群交互。

2022-07-28 14:38:45 239 1

原创 如何在centOS7上运行jar文件

1. 在自己的电脑上上传jar文件唯一一个在自己电脑上的操作scp filename.jar root@IP:/目录/目录/目录目录是指在服务器上的目录在服务器上配置jvm环境wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz安装jvm创建目录mkdir /java/解压到目录tar -zxvf jdk-17_linux-x64_bin.tar.gz -C /java/设置环境变量

2022-04-09 00:39:51 1468

原创 关于OutputStream类中write(int b)与write(byte[] b)的效率问题

据说write(int b)与 write(byte[] b)的效率不一样???测试发现,在发送相同内容的数据时(100000个26),write(int b)确实比write(byte[] b)效率要低,经过一层层查看代码与试验,得知了出现这个问题的原因。一言以蔽之,write(byte[] b)与write(int a)都在OutputStream的子类SocketOutputStream中被重写,write(int a)中调用了write(byte[] b),而每次调用write(byte[] b)

2022-03-09 22:35:38 787

原创 Java 实现服务器

如果一台电脑不能连接网络,就是一座孤岛。而如果想要与成个世界联系起来,这个孤岛就需要有一个经纬度,告诉世界,如何才能到达这里。IP就是一个电脑的经纬度,IPv4地址由32个bit组成,也可以说由4个byte组成(可以提供2^32个不同的地址,但是不够用啊)。所以有了IPv6,128bit。而在一个计算机中如果要想在程序上进行通信的话,还需要知道是哪一个程序,这个时候我们就需要一个端口号,来确定是哪一个程序。所以,如果知道一个计算机的Ip地址,和想要进行通讯的程序的端口号,我们就可以在该程序上进行通讯。

2021-09-19 20:11:40 533

原创 Java--线程安全

一、线程不安全之前我们介绍了线程的应用,那么在线程的应用中,会有一些意想不到的问题出现,比如我们今天提到的,线程安全。说到线程安全,首先我们要理解多线程到底是怎么样实现的:在下图中,我们展示了三个有三条指令的线程的一种可能执行的顺序。虽然在线程内指令是依次执行的,但是在线程之间,指令执行顺序是随机的。那么我们假设三个线程的三条指令都是一样的,且都有同一个对象a//a.value的值初始化为9if(a.value <10){ //Instruction1 a.value++;

2021-08-08 17:22:29 93

原创 Java-ArrayList的实现

我们在使用数组这种数据类型的时候会遇到一个问题,就是这个数组在一开始的时候就要确定一定的长度,这使得数组的容量有限,一旦后续需要存储的数据个数超过了数组长度,就无法再存储了。为了在实际应用中,有一个可以不限制长度的数组,我们要自己实现一个ArrayList。实现ArrayList的方法是通过对数组和相关参数进行封装,来起到自动扩容的作用。具体来说,就是当数组没有被填满的时候,后续的数据和普通数组一样存入,当要数组被填满的时候,我们就new一个新的,更长的数组,将原来的数组内容以此复制到新的数组内,并存入新

2021-08-06 18:46:43 155

原创 线程的介绍

一、程序、进程和线程的关系和并发与并行的关系线程(Thread)是执行程序的一个线(主线或者支线),每一个线程都有一个优先级(priority),线程被按照优先级的高低依次执行。当一个线程内创建了一个新的线程,新的线程的优先级就会被初始化为和已有线程一样的优先级。进程是线程的容器,是系统进行资源分配和调度的基本单位程序是指令、数据及其组织形式的描述,进程是程序的实体——运行的程序就是进程。线程:系统分配处理器时间资源的基本单元,或者说进程之内独立执行的一个单元执行流。线程——程序执行的最小单位。二

2021-07-28 23:18:05 131

原创 数据结构-Java-队列的实现

在这一文章中,我们希望通过使用数组,创建一种先进先出,后今后出的(队列)特殊的动态数组。这种队列就像名字一样,在超市排队买单的时候,先排队的人先结账,后排队的人后结账。而我们知道,new一个数组的时候是需要进行长度的指定的,那么为了实现在一开始的时候不需要进行指定数组,我们有两种办法1.在申请足够长的数组,我们就可以肆无忌惮的放置数据而无需顾虑长度;2.每次新建增加或者减小一个长度的数组,把结果放置进去。而实际我们既不希望一开始就申请10000个长度的数组,也不希望每一次增删都要重新折腾一遍数组,为

2021-05-20 20:20:34 84

原创 Java 与 五子棋游戏

一、功能分析五子棋的实现还是较为简单的,通过下期的流程我们可以知道大概要实现一下功能:网格界面点击下棋悔棋判断输赢二、功能实现根据之前的功能分析,要有网格先要有窗体,我们先重新写一个类,来继承JFrame类,以便在窗口变动的情况下,对窗口进行重绘(防止在窗口大小发生改变的时候,之前的绘画会消失),这里我们重写paint方法,画出网格线public class MyFrame extends JFrame{ public void paint(Graphics g) { super.

2021-04-24 12:49:35 78

原创 技术教程:类和对象,构造方法,类的继承。

技术教程:类和对象,构造方法,类的继承。类和对象的关系。类(class)是对一类对象进行抽象,得到共同的属性与行为。对象(object)是类的一个具体的实例。不妨将“类”理解成“一类”的类,而对象则是一个具体的实在的事物,比如清北复交是都是大学,那么我们就可以建立一个University类,类中包含了大学都具有的信息,比如校名、位置等等,也包含了大学可能会有的活动,比如取名字和迁校等等,这里面的信息就是类的属性/特征,活动就是类的行为/方法。在java中,类的构造方法为:public

2021-03-25 15:06:59 116

空空如也

空空如也

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

TA关注的人

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