此程序是我们数据库课程的一个作业,初衷是帮助大家理解数据库的增删改查操作,不过涉及的数据库操作非常基础,只要之前接触过数据库,对这些语法应该都基本掌握了。
在写这一程序的过程中,图形界面的编写倒是占了大部分时间。写下这篇文章,更多的是记录使用 Swing 来编写这一图形界面程序所遇到的问题和解决的[......]
此程序是我们数据库课程的一个作业,初衷是帮助大家理解数据库的增删改查操作,不过涉及的数据库操作非常基础,只要之前接触过数据库,对这些语法应该都基本掌握了。
在写这一程序的过程中,图形界面的编写倒是占了大部分时间。写下这篇文章,更多的是记录使用 Swing 来编写这一图形界面程序所遇到的问题和解决的[......]
在许多编程语言中,都有函数回调这一概念。C 和 C++ 中有函数指针,因此可以将函数作为参数传给其它函数,以便过后调用。而在 JavaScript 中,更是将函数回调发挥到了极致,各种事件的处理,特别是异步事件,基本都靠函数回调来完成。
在 Java 中,同样可以实现函数回调。虽然没有[......]
在《操作系统精髓与设计原理》一书中,对竞争条件的定义如下:多个进程或线程同时读写某些数据项,导致最后的结果取决于这些进程中指令的执行顺序。
也就是说,竞争条件下,计算结果由单线程下的确定状态,变成了多线程下的不确定状态。这个不确定性产生的原因是什么?我们下面来讨论。
在只有单个线程的[......]
Lambda 表达式是 Java 8 引入的新特性,结合 forEach 方法可以更方便地实现遍历。此外,它还可代替 Runnable 类,大大简化了代码的编写。
下面介绍了一些常见的应用场景,在这些场景中适时地使用 Lambda 表达式要比通常的方式来得更加简洁和方便。
对一个列表[......]
特权级是现代操作系统中极为重要的一个概念,它对于系统的安全性起到了至关重要的作用。
操作系统底层有很多方面都涉及到特权级,通常的书籍会在讲解各部分的时候介绍特权级在某个方面的作用,不过很多读者即使学完了各部分的内容,对特权级的理解还是有点模糊。
为了帮助大家较快地建立起对特权级的整体[......]
这篇文章将讲述如何为 PDF 添加书签目录,但并也不局限于此,你还可以用同样的方法修改已有的书签目录。
这几天在学习编译原理的语法分析,打算看一看《Parsing Techniques》这本经典书籍。
结果打开之前下载的 PDF 一看,六百多页的 PDF 连个书签目录都没有,找起来特别费劲。
于[......]
在讲 DTD 文件之前,我们还得先谈谈 XML 文档。
对于大部分程序员来说,经常需要与 XML 文档打交道。什么时候会用到 XML 文档?我想最常见的场景当属互联网中数据的传输,以及各种开发配置文件了。
例如,我们要在互联网中传输商品信息,可以直接使用 XML 文档来存储:[......]
如果我们想要在字符串“hello”中查找“he”,可以用暴力匹配、KMP、BM 算法等,但是如果想要同时查找“he”和“el“,又该如何实现?
最简单的方式就是先查找一遍”he“,然后再查找一遍”el“,如下图所示:
但这种方式的效率显然很低。为了更高效地完成多个模式串的匹配,贝[......]
这篇文章的分析对象是赵炯的《Linux 内核完全注释》第 4.9 节的“一个简单的多任务内核实例”。
这里将对 boot.s 和 head.s 两个程序的关键语句进行汇编语法层面的分析。
汇编语言的语法主要分为两种:Intel 汇编语法、AT&T 汇编语法。
as86[......]
当我们将应用部署到 tomcat 之后,默认是通过 http://codebelief.com:8080/myapp/
这种形式来访问的。
很显然,这只适用于调试的情况,在实际使用时,我们通常会为根据需要,为应用绑定更加便于访问的路径。
一般来说,我们不直接将 tomcat 运行在 80 端口,[......]