搜书网 本次搜索耗时 0.035 秒,为您找到 220 个相关结果.
  • 建议19:断言绝对不是鸡肋

    建议19:断言绝对不是鸡肋 建议19:断言绝对不是鸡肋 在防御式编程中经常会用断言(Assertion)对参数和环境做出判断,避免程序因不当的输入或错误的环境而产生逻辑异常,断言在很多语言中都存在,C、C++、Python都有不同的断言表示形式。在Java中的断言使用的是assert关键字,其基本的用法如下: assert<布尔表达式> ass...
  • 4.1.4 线程池

    4.1.4 线程池 4.1.4 线程池 每个新线程都会消耗系统资源:创建一个线程将占用CPU周期,而且每个线程都自己的数据结构(如,栈)也要消耗系统内存。另外,当一个线程阻塞(block)时,JVM将保存其状态,选择另外一个线程运行,并在上下文转换(context switch)时恢复阻塞线程的状态。随着线程数的增加,线程将消耗越来越多的系统资源。这...
  • 7.3.5 初始化

    7.3.5 初始化 7.3.5 初始化 类初始化阶段是类加载过程的最后一步,前面的类加载过程中,除了在加载阶段用户应用程序可以通过自定义类加载器参与之外,其余动作完全由虚拟机主导和控制。到了初始化阶段,才真正开始执行类中定义的Java程序代码(或者说是字节码)。 在准备阶段,变量已经赋过一次系统要求的初始值,而在初始化阶段,则根据程序员通过程序制定...
  • 7.2 资源隔离的实现

    7.2 资源隔离的实现 7.2 资源隔离的实现 我们如何让计算任务的进程能受限制的使用机器资源呢,这里不仅指占用某台机器的粗粒度使用,也指对某台机器的CPU/内存/带宽/硬盘的细粒度限制。 资源限制和资源控制看上去差不多,但是我们接下来会发现他们的区别。 资源调度有两种解决方案:限制方式和控制方式。 所谓限制方式,也就是有个虚拟的容器限制,进程...
  • 11.3.3 MapReduce

    11.3.3 MapReduce 11.3.3 MapReduce MapReduce权限管理和身份认证涉及作业提交、作业控制、任务启动、任务运行和Shuffle等阶段。接下来分别对以上各阶段进行介绍。 (1)作业提交 用户提交作业后,JobClient需与NameNode和JobTracker等服务进行通信,以进行身份认证和获取相关令牌,具体过...
  • 建议58:强烈建议使用UTF编码

    建议58:强烈建议使用UTF编码 建议58:强烈建议使用UTF编码 Java的乱码问题由来已久,有点经验的开发人员肯定都遇到过乱码问题,有时是从Web上接收的乱码,有时是从数据库中读取的乱码,有时是在外部接口中接收到的乱码文件,这些都让我们困惑不已,甚至是痛苦不堪,看如下代码: public static void main(String[]ar...
  • 5.5 告诫

    5.5 告诫 5.5.1 遵从最低复杂度原则 5.5.2 追求适度的表现力 5.5.3 坚持优秀抽象设计的各项原则 5.5.4 避免语言间的摩擦 5.5 告诫 一直以来,本章向你展示的都是正面的例子。我们用了三种最流行的动态JVM语言来讨论DSL的实现,不但让你见识了不同语言的各种惯用法和实现技巧,还让你亲手实现了若干证券交易应用领域的实用D...
  • 建议78:减少HashMap中元素的数量

    建议78:减少HashMap中元素的数量 建议78:减少HashMap中元素的数量 在系统开发中,我们经常会使用HashMap作为数据集容器,或者是用缓冲池来处理,一般很稳定,但偶尔也会出现内存溢出的问题(如OutOfMemory错误),而且这经常是与HashMap有关的,比如我们使用缓冲池操作数据时,大批量的增删查改操作就可能会让内存溢出,下面建立...
  • 6.3 Diksam ver.0.1的实现——编译篇

    40 2024-12-09 《自制编程语言》
    6.3 Diksam ver.0.1的实现——编译篇 6.3.1 目录结构 6.3.2 编译的概要 6.3.3 构建分析树(create.c) 6.3.4 修正分析树(fix_tree.c) 6.3.5 Diksam的运行形式——DVM_Executable 6.3.6 常量池 补充知识 YARV的情况 6.3.7 全局变量 6.3.8 函数...
  • 2.4.3 方法区和运行时常量池溢出

    2.4.3 方法区和运行时常量池溢出 2.4.3 方法区和运行时常量池溢出 由于运行时常量池是方法区的一部分,因此这两个区域的溢出测试就放在一起进行。前面提到JDK 1.7开始逐步“去永久代”的事情,在此就以测试代码观察一下这件事对程序的实际影响。 String.intern()是一个Native方法,它的作用是:如果字符串常量池中已经包含一个等于...