自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java贪吃蛇大作战游戏

g.setFont(new Font("微软雅黑", 10, 20));g.setFont(new Font("微软雅黑", 10, 20));g.setFont(new Font("微软雅黑", 10, 20));// System.out.println("高度:"+height);// System.out.println("宽度:"+width);

2024-07-18 20:47:59 798

原创 Java实现简易线程池

如果线程池的线程总数超过maximumPoolSize,线程池就会拒绝接收任务,当新任务过来时,会为新任务执行拒绝策略。example: 设置核心线程数量为1,阻塞队列为100,有5个任务待执行(假设极端情况下任务一直执行不接受),则只有1个任务可以被执行,其他4个任务在阻塞队列中,而不是创建新线程进行处理(阻塞队列未满)在核心线程池数量已经用完、阻塞队列也已经满了的场景下,如果线程池接收到新的任务,将会为新任务创建一个线程(非核心线程),并且立即开始执行新任务。//将任务加入任务list。

2024-07-18 20:35:55 638

原创 Java多线程游戏——坦克大战

System.out.println(Thread.currentThread().getName() + ":启动...");switch(getDirection())//判断方向,加载不同方向对应的坦克图片,设置速度。bufferg.setFont(new Font("楷体",0,50));bufferg.setFont(new Font("楷体",0,30));}else if(getSpeedY() < 0 ){//向下移动。}else if(getSpeedY() > 0 ){//向上移动。

2024-07-18 20:21:34 643

原创 关于OSI七层模型

表示层:由于A公司和B公司是不同国家的公司,他们之间商定统一用英语作为交流语言,所以此时A公司的文秘(表示层)将从上级手中(应用层)获取到的商业报价单的语言转翻译成英语,同时为了防止被别的公司盗取机密信息,A公司的文秘也会对这份报价单做一些加密的处理。网络层:网络层就相当于快递公司庞大的快递网络,全国不同的集散中心,比如说从深圳发往北京的顺丰快递,首先要到顺丰的深圳集散中心,从深圳集散中心再送到武汉集散中心,从武汉集散中心再寄到北京顺义集散中心。传输层负责端到端的数据传输,确保数据的可靠传输和正确的顺序。

2024-07-18 19:27:02 645

原创 Java多线程——生产消费问题

System.out.println(Thread.currentThread().getName() + "生产一件产品,当前产品库有" + currentCount + "个");System.out.println("消费者"+Thread.currentThread().getName()+"消费一件产品"+"当前线程池有"+currentCount+"个");System.out.println(Thread.currentThread().getName()+"线程进入等待状态");

2024-05-14 21:35:15 552 2

原创 哲学家吃饭问题(关于死锁的问题)

哲学家吃饭问题:一个圆桌上有n个哲学家,每个哲学家左右各有一只筷子,面前有一碗面,当拿到一双筷子时才能得吃,否则只能思考。当每个哲学家都先拿左边的筷子(或者先拿右边的筷子),此时每个人只有一只筷子,都进行思考,即死锁,我们要避免死锁。1.我们首先要定义一个哲学家类,因为是线程问题所以要继承Thread。哲学家类中包含哲学家的名字,左右筷子。2.同时我们要定义一个筷子类,其中包含筷子的名字以及筷子方法。3.接着我们回到哲学家类,其中要定义两个方法分别是吃和思考。

2024-04-27 20:53:55 233

原创 泛型的使用

在Java1.5下,不能直接向集合(collection)中放入原始类型值,因为集合只接收对象,通常这种情况下,做法应该是将这些原始类型的值转换成对象,然后将这些转换的对象放入集合中。但在某些程度上,使代码不够简洁,Java1.5下引入具有在原始类型和对象类型自动转换的装箱和拆箱机制。//i1和i2在超过127后,在Integer中以新的对象存储,而不以数存储。作用:保证了创建的数组可以存任何类型的的数据,但是每一个数组只能存一种类型的数据。equals是判断两个变量或实例所指向的内存空间的值时表示相同。

2024-04-06 18:13:45 1353 1

原创 实现动态数组

/不能定义length,要保证length始终与容量是一致的。//根据下标值获取,判断下标值是否超过length。//obj为空,但Array[num]不是。//检测数组的容量是否大于等于数组的length。//需要创建一个length更大的数组。//将旧数组中的数据取出来给到新数组。1)数组的唯一属性——长度,定义后,不可修改,有容量限制。//初始化容量,且保证输入的容量值不为负。目的:为数组中的数组元素分配内存空间,为每个数组元素赋值。//在构造方法中为创建的对象初始化赋值。

2024-04-06 18:09:09 775 1

原创 接口的使用

这行代码时输出zhang。System.out.println("IC卡识别正确,开门");System.out.println("IC卡识别正确,关门");System.out.println("人脸识别成功,开门");System.out.println("人脸识别成功,关门");System.out.println("深圳出发");System.out.println("到达北京");System.out.println("到达北京");System.out.println("到达北京");

2024-04-06 18:03:30 1831 1

原创 Java实现图片特效

高度不可设置,如果有南北组件,去掉南北组件的高度,剩下的就是东西组件的高度。//改采样间距的时候记得改小矩形的宽高。//用green是否大于100做二分。//将像素值存入buffing中。//创建一个bufferedimage对象。//灰度图原理r=g=b。//采样间距由1变为10。//循环结束后,将buffing绘制出来。// 获取图片对应的二维数组。//给按钮面板设置一个宽度。//将按钮面板设为边界布局。//需要比较两张图片的宽高。//在窗体上添加面板。宽高都不可以设置,剩下多少是多少。

2024-04-06 17:54:25 622 1

原创 Java类与对象

-若类的属性中已经定义过name,在下边的方法参数中又定义了name,则要用到this。//在调用方法时只要输入一个String类型的name,就可以得到年龄是18。-3.代码块/构造方法/封装方法/静态属性/静态方法。--属性是直接定义在类中的,外边只有一层大括号。//表示给一个字符串,会得到一个int类型结果。--每个对象都有自己的一份属性,是独立存在的。类:具有相同的属性,特征,功能,行为方式。--属性在这个类之外使用,需要先创建对象。-1.程序入口/主方法/主函数。-类名首字母大写,驼峰命名法。

2024-04-06 17:42:25 411 1

原创 进制数与颜色的储存

用2*十进制小数,可以得到积,将积的整数部分取出,用2*余下的小数部分,又得到一个积,再将积的整数部分取出,如此进行,直到积中的小数部分为0,此时0或1为二进制的最后一位。rgb分别代表红绿蓝光学三原色,RGB模式中每个像素占用3个字节(一个字节是8bit),分别用于表示颜色的R,G,B分量(255,255,255)windows下的32位是R,G,B三个通道各占8位,共24位,加上亮度通道8位,所以是32位。(1)二进制数,八进制数,十进制数,十六进制数。<2>由0-7组成,逢八进一,表示时有前缀0。

2024-04-06 17:36:28 640 1

原创 用Java实现用户登录界面

public void LE(){ JFrame jf=new JFrame(); jf.setTitle("用户登录界面"); jf.setSize(700,500); jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); jf.setLayout(new FlowLayout()); JLabel name=new JLabel("账号");

2024-04-06 17:31:23 1192 1

原创 多线程游戏开发

以美剧为例,想要看美剧,必须有声音、图像、字幕等,它们分别对应有自己的线程,同时运行这几个线程,完成了美剧播放这个进程。而在只有一个cpu模拟出来的多线程中,在同一时间点,cpu只能执行一个代码,因为切换的快,所以产生了同时执行的错觉。以人脑为例,在人看似边吃饭边玩手机时,由于人脑只有一个,在极短的瞬间中,我们其实只是在做吃饭和玩手机中的一件事。//启动线程 每个线程对象只能调用一次start。//run执行完,该线程的内存被回收,不能再启动。//需要先创建Thread类的对象,在启动线程。

2024-03-09 21:14:12 1351 1

原创 Java链表

该方法指的是获取链表中指定节点的数据,那么我们就要遍历链表找到该位置,然后返回当前节点的数据,注意节点下标不能小于0或超过链表中节点个数,要对节点下标index进行判断。//当前节点是头节点,把当前节点的下一个节点保存到当前节点即头节点。//建立一个新节点nextNode保存当前节点的下一个节点。//当 当前节点 的数据不是要删除的或者不为空时把当前节点的下一个保存到当前节点(依次前移1位覆盖被删除节点)添加时要注意当前链表是否有节点,分情况进行判断,当没有节点时所添加节点既是头节点也是尾节点。

2023-12-12 22:08:25 13

原创 子类与继承

package1-1 protected,本包,子类可访问(邻居,亲戚)使用不同包中的类,需要import这个类所在的包路径,继承也是需要导包的。父类的private也被子类继承了,只是不能直接用,可以间接用。有public,不写,protected,private。学生类是大学生的父类,而人类不是大学生的父类。子类自己定义的,非继承得到的,可以直接使用。

2023-12-10 18:10:07 12 1

原创 Java实现动态数组

原文链接:https://blog.csdn.net/Aa980905zjf/article/details/127332522。//不能定义length,要保证length始终与容量是一致的。//检测数组的容量是否大于等于数组的length。//需要创建一个length更大的数组。//将旧数组中的数据取出来给到新数组。1)数组的唯一属性——长度,定义后,不可修改,有容量限制。//初始化容量,且保证输入的容量值不为负。目的:为数组中的数组元素分配内存空间,为每个数组元素赋值。

2023-12-10 18:08:06 55 1

原创 【如何在Java实现在画板画直线】

需要注意的是在调用g2时要用MouseAction中的对象mouselistener调用,而不是类名.g2。画笔要在MouseAction中使用,因为获取坐标是在MouseAction中获取的,划线需要用坐标。创建一个Paintingboard(画板)的类之后,要写一个方法(draw)在程序入口创建一个paintingboard类的对象,让该对象调用写的方法。之后在MouseAction类中的方法在窗体上便可实现。创建好鼠标监听的类后,可在窗体上添加鼠标监听器。在窗体调用方法时,需要导包。

2023-12-01 15:53:11 36 1

空空如也

空空如也

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

TA关注的人

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