自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

枯木逢春犹再发,人无两度再少年

喜欢游戏编程,享受尽在掌控的快乐。

  • 博客(82)
  • 收藏
  • 关注

原创 【缘于J2ME】

分享我与 J2ME 的故事。

2025-01-24 17:06:42 502

原创 【老白学 Java】程序打包,安全可靠

在前篇文章中,我们通过-d命令可以很轻松地管理程序文件。今天我们再来试试另一种玩法,把你所有的程序文件打包成一个.jar文件,方便你随身携带、拷贝,或者提交给客户。

2025-01-22 11:06:17 1022

原创 【老白学 Java】神奇的 -d 命令

总算是入门了,「菜鸟」也终于飞走了。老白认为程序设计是件非常严谨的事情,为了提高编码效率、尽量减少代码错误,非常有必要从现在开始养成一些良好习惯。本文就先从代码文件管理开始,讨论如何规范目录结构,如何使用-d命令自动创建「包」结构。

2025-01-21 14:43:56 934

原创 【老白学 Java】简单的聊天客户端

上一篇文章中实现了一个简单地聊天服务器,本文继续实现一个简单的客户端。虽然看起来很简单,其实一点也不复杂,整个程序用到了GUI、网络、IO以及线程方面的一些基础知识。

2025-01-20 15:53:16 602

原创 【老白学 Java】简单的聊天服务器

最近一周,老白足不出户努力学习GUI、网络以及线程的相关知识。为了检验近期的学习成果,本文准备实现一个简单的聊天服务器程序,下篇文章继续实现客户端代码。

2025-01-19 19:20:39 741

原创 【老白学 Java】线程死锁是怎么回事

前面学过的线程锁,可以有效地排除线程间的干扰。线程锁固然好用,但还需谨慎使用,稍有不慎就会出现令人痛恨的「线程死锁」。本文带你了解什么是线程死锁以及如何避免。

2025-01-18 16:30:54 1138

原创 【老白学 Java】线程的并发问题(二)

在上一篇文章中,那个公用账户莫名其妙的出现透支情况,想必大家还心有余悸。今天再来说说线程并发性的另一个问题,导致公共账户的收入无缘无故的减少,简直是欲哭无泪。

2025-01-17 20:50:02 582

原创 【老白学 Java】线程的并发问题(一)

尽管多线程设计很令人兴奋,但还是要尽可能「避坑」。想象一下,当你用精心设计的两个线程同时维护某个对象数据时,这个数据安全吗?这就是本文要讨论的问题 - 线程的并发性可能会破坏数据安全。

2025-01-16 20:21:14 944

原创 【老白学 Java】线程的调度机制

通过上篇文章的学习,现在可以创建自己的线程去执行任务了。老白在想一个问题:程序创建了多个线程后,怎样决定每个线程的执行顺序呢? 其实,Java 有一种专门管理线程的方式,就是接下来要讨论的线程调度机制。

2025-01-15 11:40:24 1138

原创 【老白学 Java】线程的专属空间

到目前为止,我们看到的程序都是在主线程中按顺序执行的。 若是前面有个非常耗时的操作,后边代码再着急也要耐心等待,显然这样的执行效率十分低下。 本文讨论的 Java 多线程技术,就是为了改善此类情况而设计的。

2025-01-14 11:50:04 608

原创 【老白学 Java】重返文字聊天的年代(二)

上一篇文章我们了解了网络通信的基本原理,以及客户端的工作方式。本文继续讨论服务器端的工作流程,然后通过一个简单的例子实现客户端和服务器端的收发功能。

2025-01-13 16:15:24 591

原创 【老白学 Java】重返文字聊天的年代(一)

从本章开始步入网络领域。2000 至今,网络在人们的生活中已经根深蒂固。为何它有如此魔力,究其根本就是网络技术的飞速发展。接下来老白准备从简单地的聊天程序入手,了解网络相关的基础知识。

2025-01-12 19:55:02 1054

原创 【老白学 Java】项目演练 - Quizzes #3

本篇文章继续实现卡片引擎的代码,与编辑器一样也是由 GUI 展现给用户。允许从磁盘上读取数据文件然后生成答题卡,用户点击「下一个」按钮就可以显示下个题目内容。

2025-01-11 11:58:10 1043

原创 【老白学 Java】项目演练 - Quizzes #2

上一篇文章老白仔细分析了 Quizzes 的类结构,本文接上一章继续对功能模块逐步完善。整个程序没有复杂的算法,仅仅用到了一些基础知识,如果大家已经了解了这部分内容请无视,可以直接选择下一章。

2025-01-10 18:35:37 490

原创 【老白学 Java】项目演练 - Quizzes #1

为了巩固近段时期所学习的内容,准备编写一个简单的 GUI 应用,类似答题卡或者叫做知识问答的那种程序。 如果大家感兴趣,也可以自由发挥创建属于自己的应用。

2025-01-09 19:14:52 396

原创 【老白学 Java】对象序列号 SerialVersionUID

本文讨论这样一个问题:对象被序列化后,假如原先的类做了修改,那么反序列化还会顺利进行吗? 要想弄清楚这件事情,请接着往下看。

2025-01-08 15:20:52 883

原创 【老白学 Java】写入 / 读取文本数据

本文继续讨论如何写入、读取纯文本文件,与序列化对象相比,纯文本更容易用来解析。最近老白计划开发一款简单的 GUI 应用,主要是为了强化训练文本文件的读、写操作,欢迎大家围观。

2025-01-07 09:25:15 801

原创 【老白学 Java】保存 / 恢复对象状态

上两篇文章分别讨论了对象序列化和反序列化,主要是针对数据文件进行读、写操作的介绍。本篇文章通过一个完整的例子,复习一下对象保存与恢复的操作步骤,在文章最后做了总结。

2025-01-06 16:03:49 543

原创 【老白学 Java】对象反序列化

上篇文章中,老白弄清楚了什么是对象序列化,也学会了如何把对象写入文件中。本篇文章老白准备继续学习如何从文件中恢复对象,了解一下反序列化的过程中都发生了哪些事情。

2025-01-05 09:15:39 1102

原创 【老白学 Java】对象序列化

前几篇文章主要讨论了 GUI 方面的一些内容,如果对游戏设计情有独钟的话,可以仔细研究一下 API 文档。 今天我们要讨论的是文件读写方面的相关操作,比如如何写入序列化对象,如何恢复序列化对象等等。

2025-01-04 10:47:23 1243

原创 【老白学 Java】Box 布局管理器

前面文章我们了解了 Border、Flow 布局策略,本篇文章老白准备继续讨论一下 Box 布局管理器,究竟它会有什么样的表现让我们拭目以待。

2025-01-03 15:16:48 358

原创 【老白学 Java】Flow 布局管理器

上一篇文章我们认识了 BorderLayout,它是框架类组件的默认布局管理器。 本篇文章继续讨论流式布局管理器 FlowLayout,如果想要知道它有哪些与众不同的布局策略,请小伙伴们继续往下看。

2025-01-02 10:35:12 491

原创 【老白学 Java】Border 布局管理器

当你向面板中放入各种各样组件时,有没有感觉到有些不同寻常。这些组件能够很有条理的进行排列,它们是根据什么确定自己的位置和大小的呢?本文就来聊一聊组件布局管理器 (Layout Manager)。

2025-01-01 17:30:45 1048

原创 【老白学 Java】简单位移动画

上一篇文章中,老白利用内部类的特性完成了多个事件的处理,感觉还不错。为了更深入理解内部类,本篇文章继续使用内部类创建一个画板,完成简单的位移动画,感兴趣的小伙伴可以继续往下看。

2024-12-31 14:54:34 357

原创 【老白学 Java】处理多发事件

有没有想过这样一个问题:假如一个类中有多个 Button,当有事件发生时,怎样才能知道是由哪个 Button 触发的事件呢?或许,使用内部类更加合理,本篇文章老白就来具体聊聊内部类。

2024-12-30 16:18:38 609

原创 【老白学 Java】神来之笔 Graphics2D

Graphics 确实很好用,但时代在进步,科技在发展,子类对象也在不断进化着。Graphics2D 不但继承了 Graphics 的优良传统,也发挥了自己的优秀品质。下面老白要见识一下这个后起之秀究竟有哪些过人之处。

2024-12-29 13:34:05 737

原创 【老白学 Java】第一次绘制

在上文中,老白惊叹于事件的神奇魔力,跃跃欲试准备做些图形界面的应用程序。不过在此之前,老白有必要研究一下 Java 的绘图机制,毕竟一个漂亮的界面才是良好的开端。

2024-12-28 10:45:18 1053

原创 【老白学 Java】第一个事件

Java 的事件很好玩,最起码让你和这些虚拟元素产生了互动,瞬间感觉到有了生命气息。其实事件就像是某种期盼,说不定就会为我们带来一个惊喜,而我们要做的就是忠实地聆听消息…

2024-12-27 11:28:27 793

原创 【老白学 Java】第一个窗口

千万别指望谁都像你一样会使用 CMD 应用程序,即便是这样,整天面对着黑乎乎的窗口也是很郁闷的事情。从本章开始,老白潜心研究 GUI(图形用户接口),包括事件处理等非常有意思的内容。再看别人那些漂亮的图形、炫酷的动画也不再是高不可攀的技术,你我都可以实现。废话不说,进入正题。

2024-12-26 11:49:06 519

原创 【老白学 Java】泛型参数的秘密

最近一段时间,老白深陷泛型泥潭无法自拔。与多态相比,泛型类似但也有不同,不可否认的是泛型更加安全可靠。在本篇文章中,老白对泛型的理解进行了归纳总结,有误之处还请诸位不吝赐教。

2024-12-25 16:04:46 1090

原创 【老白学 Java】HashMap 的基本使用

通过前几篇文章的介绍,老白体会到了 List 和 Set 集合类功能很强大。虽然很便利,但有时可能还需要一种以 `key/value` 键值对的保存方式,允许使用键查询值。 最近闲来无事,老白对 HashMap 有些好奇,于是简单了解了一下 Map 集合类,特在此记录一下 HashMap 的基本使用。

2024-12-24 10:36:51 610

原创 【老白学 Java】TreeSet 应用 - 卡拉 OK(六)

上篇文章说道,老白使用 HashSet 解决了曲目重复问题,还没有想好如何排序的问题。本文要讨论的是另一个集合类 TreeSet,它可以实现有序排列并且没有重复元素,正合老白心意,马上进入正题。

2024-12-23 16:44:34 1027

原创 【老白学 Java】HashSet 应用 - 卡拉 OK(五)

通过前几篇文章,老白也了解了基本排序方法,接下来要讨论的是数据重复问题。ArrayList 不会阻止添加重复数据,那是 Set 集合类的职责。本篇文章我们就来了解一下 Set 集合相关特性。

2024-12-22 21:00:24 1252

原创 【老白学 Java】泛型应用 - 卡拉 OK(四)

上文说到,解决了按歌名排序的问题后,老白立刻想到了按歌手名字排序的问题。 老白决定趁热打铁,尝试着实现自定义排序方式。

2024-12-21 21:53:00 762

原创 【老白学 Java】泛型应用 - 卡拉 OK(三)

上文说到,正当老白为编译错误焦头烂额时,事情有了转机。老白在 API 中找到了答案,终于弄清楚了 v3.0 编译错误的原因。为了以后不会忘记,特地在这里留下记录方便随时翻看。

2024-12-20 20:00:32 965

原创 【老白学 Java】泛型应用 - 卡拉 OK(二)

上文说道,老白正沉浸在代码完工后的喜悦中,老板又分配了新的任务。目前老白正在潜心研究 Java 的集合,正好借这个机会试试集合的威力,最主要的是解决排序问题。

2024-12-19 20:11:27 940

原创 【老白学 Java】集合应用 - 卡拉 OK(一)

最近老白准备研究一下 Java 集合和泛型的相关知识。为了增加学习乐趣,老白通过一些小案例来了解集合类的基本用法。本篇文章打算编写一个简单的曲目处理程序,其中使用到了类库中的排序方法。

2024-12-18 20:24:09 966

原创 【老白学 Java】请注意,你有一个异常未处理

不可否认的是,即使是再优秀的编程人员也无法规避类似服务器故障、找不到文件等异常情况。虽然无法制止那些行为的发生,但却可以通过一种合理的方式去处理,使程序能够继续运行而不至于崩溃。

2024-12-16 21:39:08 1412

原创 【老白学 Java】时光机器 Calendar

当你查询当前日期和时间时,使用 Date 非常方便,但是诸如「距离某天相差多久」等时间不确定的操作,Date 就显得有些力不从心。专业的事情还是要由专业的类完成,Java 提供了专门处理日期的类 Calendar。这个类究竟都有哪些好用的功能呢?让我们通过本篇文章一探究竟。

2024-12-15 15:03:58 1245

原创 【老白学 Java】日期 / 时间格式化

本篇文章,老白把日期和时间的格式化参数进行了整理,方便以后查阅,更加详细的说明请参考 Java API 文档。

2024-12-14 18:12:34 1203

Battle City 资源文件

压缩包中包含全部精灵图片和音效文件。

2025-02-07

空空如也

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

TA关注的人

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