09 2022 档案

摘要:Java数据库的安装和使用 1.数据库的作用 一个问题:淘宝网、京东、微信抖音,都有各自的功能,那么我们退出系统的时候,为什么信息还在? 解决之道-文件,数据库 为了解决上诉问题,使用更加利于管理数据东西-数据库,他能更加有效地管理数据。 举一个生活化的案例说明:如果说图书馆是保存书籍的,那么数据库 阅读全文
posted @ 2022-09-30 20:15 一刀一个小西瓜 阅读(250) 评论(0) 推荐(0) 编辑
摘要:Java反射03 3.通过反射获取类的结构信息 3.1java.lang.Class类 getName:获取全类名 getSimpleName:获取简单类名 getFields:获取所有public修饰的属性,包含本类以及父类的 getDeclaredFields:获取本类中所有属性 getMeth 阅读全文
posted @ 2022-09-29 21:41 一刀一个小西瓜 阅读(200) 评论(0) 推荐(0) 编辑
摘要:Java反射02 2.Class类 2.1基本介绍 Class类也是类,因此也继承Object类 Class类对象不是new出来的,而是系统创建的 对于某个类的Class类对象,在内存中只有一份,因为类只加载一次 每个类的实例都会记得自己是由哪个Class实例所生成 通过Class对象可以得到一个类 阅读全文
posted @ 2022-09-28 19:57 一刀一个小西瓜 阅读(94) 评论(0) 推荐(0) 编辑
摘要:Java反射01 1.反射(reflection)机制 1.1反射机制问题 一个需求引出反射 请看下面问题: 根据配置文件 re.properties 指定信息,创建Cat对象并调用方法hi classfullpath=li.reflection.Cat method=hi 使用现有的技术,你能做的 阅读全文
posted @ 2022-09-26 20:28 一刀一个小西瓜 阅读(114) 评论(0) 推荐(0) 编辑
摘要:多用户即时通讯系统05 4.编码实现04(拓展) 拓展功能: 实现离线留言,如果某个用户不在线 ,当登陆后,可以接收离线的消息 实现离线发文件,如果某个功能没有在线,当登录后,可以接收离线的文件 4.8功能实现-离线留言&离线文件 4.8.1思路分析 在服务端中使用ConcurrentHashMap 阅读全文
posted @ 2022-09-24 20:42 一刀一个小西瓜 阅读(391) 评论(0) 推荐(0) 编辑
摘要:多用户即时通讯系统04 4.编码实现03 4.7功能实现-服务器推送消息功能实现 4.7.1思路分析 服务器推送新闻,本质其实就是群发消息 在服务器启动一个独立线程,专门负责推送新闻 该线程通过管理线程的集合,把所有的线程的socket拿到,并发送Messgae对象信息 客户端通过接收,自然就拿到了 阅读全文
posted @ 2022-09-23 20:48 一刀一个小西瓜 阅读(78) 评论(0) 推荐(0) 编辑
摘要:多用户即时通讯系统04 4.编码实现03 4.6功能实现-发送文件功能实现 4.6.1思路分析 客户端(发送者): 先把文件a.jpg读取到客户端的字节数组 把文件对应的字节数组封装到message对象[包含文件内容,发送者,接收者] 将message对象发送到服务端 服务端: 接收到message 阅读全文
posted @ 2022-09-23 20:44 一刀一个小西瓜 阅读(55) 评论(0) 推荐(0) 编辑
摘要:多用户即时通讯系统04 4.编码实现03 4.5功能实现-群聊功能实现 4.5.1思路分析 群聊的实现思路和私聊的实现非常类似。 不同的是:私聊时,服务端接收到消息后,只需要找出接收方的socket并发送消息即可 群聊时,服务端在接收到消息后需要遍历集合中所有的线程,找出除了发送方的所有客户端的so 阅读全文
posted @ 2022-09-23 19:25 一刀一个小西瓜 阅读(202) 评论(0) 推荐(0) 编辑
摘要:多用户即时通讯系统03 4.编码实现02 4.4功能实现-私聊功能实现 4.4.1思路分析 客户端 - 发送者: 用户在控制台输入信息,客户端接收内容 将消息构建成Messgae对象,通过对应的socket发送给服务器 服务器: 可以读取到客户端(发送者)发送给某个用户(接收者)的消息 从管理线程的 阅读全文
posted @ 2022-09-23 00:07 一刀一个小西瓜 阅读(147) 评论(0) 推荐(0) 编辑
摘要:多用户即时通讯系统03 4.编码实现02 4.3功能实现-无异常退出系统 4.3.1思路分析 上述代码运行时,在客户端选择退出系统的时候,可以发现程序并没有停止运行,原因是: 退出时,程序将循环标志loop设为false,退出了内层循环,而外层循环因为也用了loop来作为循环条件,外层循环也同样退出 阅读全文
posted @ 2022-09-22 22:17 一刀一个小西瓜 阅读(164) 评论(0) 推荐(0) 编辑
摘要:多用户即时通讯系统03 4.编码实现02 4.2功能实现-拉取在线用户 4.2.1思路分析 客户端想要知道在线用户列表,就要向服务器发送请求(Message),因为只有服务器端保持着所有与客户端相连接的socket和uid信息。 整个流程大致为:对Message的种类进行扩展,然后客户端向服务器发送 阅读全文
posted @ 2022-09-22 20:21 一刀一个小西瓜 阅读(245) 评论(0) 推荐(0) 编辑
摘要:多用户即时通讯系统02 4.编码实现01 4.1功能实现-用户登录 4.1.1功能说明 因为还没有学习数据库,我们人为规定 用户名/id = 100,密码为 123456 就可以登录,其他用户不能登录,后面使用HashMap模拟数据库,这样就可以多个用户登录。 4.1.2思路分析+框架图 用户的登录 阅读全文
posted @ 2022-09-21 23:59 一刀一个小西瓜 阅读(504) 评论(0) 推荐(0) 编辑
摘要:多用户即时通讯系统01 1.项目开发流程 2.需求分析 用户登录 拉取在线用户列表 无异常退出(包括客户端和服务端) 私聊 群聊 发文件 服务器推送新闻/广播 3.设计阶段 3.1界面设计 用户登录: 拉取在线用户列表: 私聊: 群聊: 发文件: 文件服务器推送新闻: 3.2通讯系统整体设计 对传输 阅读全文
posted @ 2022-09-20 20:23 一刀一个小西瓜 阅读(134) 评论(0) 推荐(0) 编辑
摘要:Java网络编程03 5.UDP网络通信编程[了解] 5.1基本介绍 类DatagramSocket 和 DatagramPacket[数据报/数据包]实现了基于 UDP的协议网络程序 UDP数据报通过数据报套接字DatagramSocket 发送和接收,系统不保证UDP数据报一定能够安全的送到目的 阅读全文
posted @ 2022-09-19 23:32 一刀一个小西瓜 阅读(85) 评论(0) 推荐(0) 编辑
摘要:Java网络编程02 4.TCP网络通信编程 基本介绍 基于客户端--服务端的网络通信 底层使用的是TCP/IP协议 应用场景举例:客户端发送数据,服务端接收并显示控制台 基于Scoket的TCP编程 4.1应用案例 4.1.1应用案例1:(使用字节流) 编写一个服务器端,和一个客户端 服务器端在9 阅读全文
posted @ 2022-09-18 20:57 一刀一个小西瓜 阅读(218) 评论(0) 推荐(0) 编辑
摘要:Java网络编程01 1.网络相关的概念 1.1网络通信和网络 网络通信 概念:两台设备之间通过网络实现数据传输 网络通信:将数据通过网络从一台设备传输到另一台设备 java.net包下提供了一系列的类和接口,供程序员使用,完成网络通信 网络 概念:两台或多台设备通过一定物理设备连接起来构成了网络 阅读全文
posted @ 2022-09-17 20:40 一刀一个小西瓜 阅读(137) 评论(0) 推荐(0) 编辑
摘要:Java坦克大战07 8.IO流应用02 8.3记录退出游戏时敌人坦克坐标/方向,存盘退出 8.3.1思路分析 在Recorder类中,增加一个Vector集合,用来接收从MyPanel类中传入的enemyTanks集合,在记录时遍历集合,将还存活的敌人坦克的方向和坐标逐一取出并保存 8.3.2代码 阅读全文
posted @ 2022-09-15 17:33 一刀一个小西瓜 阅读(71) 评论(0) 推荐(0) 编辑
摘要:Java坦克大战06 8.IO流应用01 坦克大战6.0版 增加功能: 防止敌人坦克重叠运动 记录玩家的成绩(累计击毁坦克数),存盘退出 记录当时的敌人坦克坐标,存盘退出 玩游戏时,可以选择是开新游戏还是继续上局游戏 8.1防止敌人坦克重叠运动 8.1.1思路分析 按照目标坦克的向右下左四种情况分析 阅读全文
posted @ 2022-09-14 22:34 一刀一个小西瓜 阅读(51) 评论(0) 推荐(0) 编辑
摘要:JavaIO流05 4.常用的类04 4.4节点流和处理流03 4.4.8打印流-PrintStream和PrintWriter 打印流只有输出流,没有输入流 1.简单介绍及应用 PrintStream是字节打印流 例子1:演示PrintStream(字节打印流/输出流) package li.io 阅读全文
posted @ 2022-09-13 21:34 一刀一个小西瓜 阅读(184) 评论(0) 推荐(0) 编辑
摘要:JavaIO流04 4.常用的类03 4.4节点流和处理流02 4.4.5对象处理流-ObjectInputStream和ObjectOutputStream 1.序列化和反序列化 例子1: 看一个需求 将int num= 100这个int 类型的数据保存到文件中,注意不是100 数字,而是int 阅读全文
posted @ 2022-09-12 20:16 一刀一个小西瓜 阅读(163) 评论(0) 推荐(0) 编辑
摘要:JavaIO流03 4.常用的类02 4.4节点流和处理流 4.4.1基本介绍 节点流可以从一个特定的数据源读写数据,如FileReader、FileWriter 数据源就是存放数据的地方,比如文件、数组、字符串、管道等 处理流(也叫包装流)是“连接”在已经存在的流(节点流或者处理流)之上,为程序提 阅读全文
posted @ 2022-09-11 21:30 一刀一个小西瓜 阅读(353) 评论(0) 推荐(0) 编辑
摘要:JavaOI流02 4.常用的类 4.1文件字节流输入流-FileInputStream InputStream抽象类是所有类字节输入流的超类 InputStream常用的子类: FileInputStream:文件字节输入流 BufferedInputStream:缓冲字节输入流 ObjectIn 阅读全文
posted @ 2022-09-10 20:57 一刀一个小西瓜 阅读(105) 评论(0) 推荐(0) 编辑
摘要:一些外国的计算机课程 MIT6.824, CMU15-445, MIT6.S081, CS231N, GAMES101 前面是学校,后面是计算机课程代码 https://csdiy.wiki 阅读全文
posted @ 2022-09-10 01:03 一刀一个小西瓜 阅读(92) 评论(0) 推荐(0) 编辑
摘要:IO流01 1.文件基础知识 什么是文件? 文件,我们并不陌生。文件是保存数据的地方。比如大家经常使用的word文档,txt文件,excel文件等,都是文件。它既可以保存一张图片,也可以保存声音、视频…… 文件流 文件在程序中是以流的形式来操作的: 流:数据在数据源(文件)和程序(内存)之间经历的路 阅读全文
posted @ 2022-09-09 18:17 一刀一个小西瓜 阅读(91) 评论(0) 推荐(0) 编辑
摘要:7.线程的应用03 7.4坦克大战5.0版 增加功能: 我方坦克在发射的子弹消亡之后,才能发射新的子弹==>拓展:发射多颗子弹怎么办,控制一次最多只能发射5颗子弹 让敌人坦克发射的子弹消亡之后,可以再发射子弹 当敌人的坦克击中我方坦克之后,我方坦克消失,并出现爆炸效果 7.4.1功能1plus:我方 阅读全文
posted @ 2022-09-08 19:00 一刀一个小西瓜 阅读(190) 评论(0) 推荐(0) 编辑
摘要:JavaGUI-坦克大战04 7.线程的应用03 7.3坦克大战4.0版 7.3.4功能3:敌方坦克自由移动 功能3:让敌人的坦克也可以自由随机地上下左右移动 思路: 因为要求敌人的坦克自由移动,因此需要将敌人坦克当做线程使用,EnemyTank类实现Runnable接口 线程的run方法的具体操作 阅读全文
posted @ 2022-09-07 19:12 一刀一个小西瓜 阅读(61) 评论(0) 推荐(0) 编辑
摘要:JavaGUI-坦克大战03-2 7.线程的应用02 7.3.坦克大战4.0版 坦克大战4.0版 增加功能: 功能1.让敌人的坦克也能够发射子弹(可以有多个子弹) 功能2.当我方坦克集中敌人坦克时,敌人的坦克就消失,如果能做出爆炸的效果更好 功能3.让敌人的坦克也可以自由随机地上下左右移动 功能4. 阅读全文
posted @ 2022-09-07 19:08 一刀一个小西瓜 阅读(62) 评论(0) 推荐(0) 编辑
摘要:JavaGUI-坦克大战03 7.线程的应用01 7.1坦克子弹发射思路 在坦克大战2.0基础上添加如下功能:当玩家按下 j 键,就发射一颗子弹。 思路: 当发射一颗子弹后,就等于启动了一个线程 Hero类要有子弹的对象,当按下 j 键时,我们就启动一个发射行为(线程),让子弹不停地移动,形成一个设 阅读全文
posted @ 2022-09-06 22:00 一刀一个小西瓜 阅读(78) 评论(0) 推荐(0) 编辑
摘要:线程基础03 6.用户线程和守护线程 用户线程:也叫工作线程,当线程的任务执行完或者通知方法结束。平时用到的普通线程均是用户线程,当在Java程序中创建一个线程,它就被称为用户线程 守护线程(Daemon):一般是为工作线程服务的,当所有的用户线程结束,守护线程自动结束 常见的守护线程:垃圾回收机制 阅读全文
posted @ 2022-09-05 20:59 一刀一个小西瓜 阅读(117) 评论(0) 推荐(0) 编辑
摘要:线程基础02 3.继承Thread和实现Runnable的区别 从java的设计来看,通过继承Thread或者实现Runnable接口本身来创建线程本质上没有区别,从jdk帮助文档我们可以看到Thread类本身就实现了Runnable接口 实现Runnable接口方式更加适合多个线程共享一个资源的情 阅读全文
posted @ 2022-09-04 20:13 一刀一个小西瓜 阅读(219) 评论(0) 推荐(0) 编辑
摘要:线程基础01 1.程序 进程 线程 程序(program):是为完成的特定任务,用某种语言编写的一组指令的集合。简单来说,就是我们写的代码。 进程: 进程是指运行中的程序,比如我们使用QQ,就启动了一个进程,操作系统就会为该进程分配空间。当我们使用迅雷,又启动了一个进程,操作系统将为迅雷分配新的内存 阅读全文
posted @ 2022-09-03 21:58 一刀一个小西瓜 阅读(488) 评论(0) 推荐(1) 编辑
摘要:5.Java事件处理机制 5.1小球移动案例 通过监听键盘按键,实现小球的移动 例子: package li.gui.even_; import javax.swing.*; import java.awt.*; import java.awt.event.KeyEvent; import java 阅读全文
posted @ 2022-09-02 22:44 一刀一个小西瓜 阅读(121) 评论(0) 推荐(0) 编辑
摘要:JavaGUI-坦克大战 1.Java绘图坐标体系 坐标体系介绍:下图说明了一个Java坐标体系。坐标原点位于左上角,以像素为单位。在Java坐标体系中,第一个是x坐标,表示当前位置为水平方向,距离坐标原点x个像素;第二个是y坐标,表示当前位置为垂直方向,距离坐标原点y个像素。 坐标体系-像素: 绘 阅读全文
posted @ 2022-09-01 22:09 一刀一个小西瓜 阅读(140) 评论(0) 推荐(0) 编辑
摘要:Java注解 1.注解的理解 注解(Annotation)也被称为元数据(Metadata),用于修饰解释 包、类、方法、属性、构造器、局部变量等数据信息 和注释一样,注解不影响程序逻辑,但注解可以被编译或者运行,相当于嵌入在代码中的补充信息 在JavaSE中,注解的使用目的比较简单,例如标记过时的 阅读全文
posted @ 2022-09-01 18:48 一刀一个小西瓜 阅读(229) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示