- 博客(82)
- 收藏
- 关注
原创 【老白学 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
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅