- 博客(18)
- 收藏
- 关注
原创 Java从新手到技术专家(day04)
Java中的异常都是Throwable或者Exception或者RuntimeException的子类,那么我们要创建一个自定义的异常,其实就是创建其对应的子类。案例:编写一个分数必须在0~100之间的异常,并且使用这个异常/*** 自定义异常*//*** 编写一个分数必须在0~100之间的异常,并且使用这个异常*/try {/*** 获取一个分数* @return*/// 说明分数有问题throw new ScoreException("分数不合法");
2025-08-21 15:18:06
780
原创 Java从新手到技术专家(day03)
概念:使用单个字符串来描述/匹配一系列符合某个语法规则的字符串使用步骤:通过大量的字符串找规律定义规则使用这种规则去匹配新的字符串匹配成功做出相应的操作我们在上面的范围类的情况下我们知道在实际的开发中我们可能会碰到一些常见的需求比如:判断是否是数字,字母,大写字母等这些情况,对应的范围类正则比较常,所有在正则表达式中会给我们预定义一些有特殊含义的表达式\d == [0-9] 数字\D == [^0-9] 非数字空白字符:[ \t\n\x0B\f\r] == \s。
2025-08-18 15:51:01
298
原创 Java从新手到技术专家(day02)
类的理解:类是用于来描述实现事物的类是抽象类是一个模板、是属性和方法的集合类是Java中最基础的单位Java中使用class类描述类Java中使用class类来描述类成员变量:表示的是事物的属性【人:姓名 身高 体重】成员方法:表示的是事物的行为【吃 喝 睡 跑 学习...】[访问权限修饰符] class 类名{成员变量;成员方法;成员变量:定义在类体以内,方法体以外局部变量:定义在方法体内或者声明在方法的形参中。
2025-08-05 16:08:27
1087
原创 Java从新手到技术专家(day01)
JVMJava Virtual Marchin java虚拟机1.JVM 是一种规范,Oracle实现了这种规范2.JVM是跨平台的基础3.一次编译到处运行JREjava Runtime Environment Java运行时环境1.JRE 中提供了java程序运行时需要用到的核心jar(类,接口等)2.如果我们希望一个Java程序能够运行的话,那么我们必须要安装JREJDKjava Development Kit java开发工具包。
2025-07-28 15:27:06
301
原创 缓存面试题
事务是Redis实现在服务器端的行为,用户执行MULTI命令时,服务器会将对应这个用户的客户端对象设置为一个特殊的状态,在这个状态下后续用户执行的查询命令不会被真的执行,而是被服务器缓存起来,直到用户执行EXEC命令为止,服务器会将这个用户对应的客户端对象中缓存的命令按照提交的顺序依次执行。因为Redis的linux的版本本身就比较完善,一般的服务器都是部署在Linux上,所以没有官方版本,而大家看到的windows版本是微软的开发者爱好者仿照Linux的Redis版本写的一个而已。(不能作为生产的实践)
2024-02-19 17:44:59
934
1
原创 根据具体按键调整坦克位置,持有对方引用
3.因为键盘按下时状态设置为true了(状态设置为true表示为按下,false表示没有按下),所以我们键盘抬起的时候状态要设置为false恢复为没有按下的状态,修改keyReleased方法。1.修改keyPressed方法,在keyPressed新增switch判断当按下A键的时候,方块向左移动十个像素当按下W的时候,方块向上移动十个像素。要优化代码可以先用四个键的组合状态来确定坦克的方向确定方向后我们根据方向来处理坦克的坐标值。3.修改keyPressed方法,键盘按键被按下时方向做出改变。
2023-07-30 22:28:25
220
1
原创 实现MyKeyListener对键盘做出响应
再次运行可以看到我们只要按下任意一个键,键盘按下时调用了keyPressed方法在控制台打印出了key pressed,键盘抬起时调用了keyReleased方法在控制台打印出了 key released。再次运行可以看到当我们按下键盘上面的一个按键方块的位置没有变化,但是我们把窗口最小化再打开可以发现窗口的位置改变了,这是因为我们没有改变位置后没有重新画出方块,但我再打开窗口的时候矩形会重新绘制。7.要有一办法让它自动的不断的刷新(不能我按一下键盘,我动一下、再按一下键盘、敌人也跟着动一下)
2023-07-23 13:02:46
229
原创 画出一个正方形
9.修改paint方法再次运行可以看到,画出来了一个黑色的距离左边200像素距离上面200像素宽度为50、高度为50的矩形。5.在TankFrame中重写Frame类中的paint方法(这里可以用idea中的快捷键alt+insert键)3.把Main方法里的设置剪切进刚刚定义的构造方法(快捷键Ctrl+X)并修改里面的方法,并把f.删掉。6.print方法是在窗口需要重新绘制的时候来调用它,我们可以先在print方法中写一段打印语句来验证。调用Graphics 方法里的fillRect方法。
2023-07-21 11:49:44
430
1
原创 new出一个窗口
3.项目命名为tank ,这里我把tank项目放在G盘的workspaces目录下(你们也可以放在自己建的目录下)11.再次运行查看效果(然后现在不可以改变大小了,但是现在窗口还不能关闭)9.再次运行查看效果(可以看到窗口大小改变了,而且窗口可以改变大小)7.运行代码可以看到左上角有一个小窗口。2.选择新建java项目。5.新建一个Main类。
2023-07-20 21:23:42
178
1
原创 坦克大战(Java版)
坦克大战项目通过一个联机对战游戏的手把手,一行一行的开发过程,让你精准的理解和运用JavaSE,DesignPatterns , TCP/IP, 多线程, NIO等基础知识。真正理解项目的开发过程,并体会项目开发的难点和痛点。
2023-07-20 20:44:58
198
1
原创 安装Redis5.0.4
如果需要安装第二个redis的话可以回到utils目录再次执行./install_server.sh命令。在安装之前先去/etc/profile目录下 定义一个 REDIS_HOME。在utils目录下运行./install_server.sh。再把Redis安装在/opt/zsh/redis5。安装后再在redis目录下执行make命令。然后我们就可以启动我们的redis了。切换到我们刚刚安装redis的目录。然后再回到我们解压redis的目录。再次执行make命令成功安装。安装 wget 命令。
2023-05-23 17:29:18
821
1
原创 FastDFS安装
启动成功后,配置文件中base_path 指向的目录中出现FastDFS服务相关数据目录(data目录、logs目录)配置文件中的store_path0指向的目录中同样出现FastDFS存储相关数据录(data目录)。其中$store_path0/data/目录中默认创建若干子孙目录(两级目录层级总计256*256个目录),是用于存储具体文件数据的。启动成功后, 配置文件中 base_path 指向的目录出现 FastDFS服务相关数据目录(data目录, logs 目录)就是跟踪服务器的IP和端口。
2023-03-31 17:59:59
176
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅