• java中易错点(二)


    java,exe是java虚拟机
    javadoc.exe用来制作java文档
    jdb.exe是java的调试器
    javaprof,exe是剖析工具

    解析一:

    sleep是线程类(Thread)的方法,执行此方法会导致当前此线程暂停指定时间,给执行机会给其他线程,但是监控状态依然保持,到时后会自动恢复。调用sleep不会释放对象锁。
    wait是Object类的方法,对此对象调用wait方法导致本线程放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象发出notify方法或notifyAll后本线程才获得对象锁进入运行状态
    解析二:
    notity()和notifyAll()两个方法均可,应该进入就绪状态而不是运行状态。
    Exception 包括 非检查性异常 RuntimeException, 及其子类,即运行时的异常,运行时的异常是代码的BUG,
    和检查性异常,即非运行时异常,程序在编译的时候会发现的异常 如: IOException之类,在处理类似文件流的时候,java强制规定必须处理可能遇到的文件流异常。
    runtimeException是运行时的异常,在运行期间抛出异常的超类,程序可以选择是否try-catch处理。
    其他的检查性异常(非运行时的异常,如IOException),是必须try-catch的,否则程序在编译的时候就会发现错误。

    我们都知道jvm运行时刻内存的分配。其中有一个内存区域是jvm虚拟机栈,每一个线程运行时都有一个线程栈,线程栈保存了线程运行时候变量值信息。当线程访问某一个对象时候值的时候,首先通过对象的引用找到对应在堆内存的变量的值,然后把堆内存变量的具体值load到线程本地内存中,建立一个变量副本,之后线程就不再和对象在堆内存变量值有任何关系,而是直接修改副本变量的值,在修改完之后的某一个时刻(线程退出之前),自动把线程变量副本的值回写到对象在堆中变量。这样在堆中的对象的值就产生变化了

    java提供了一个系统级的线程,即垃圾回收器线程。用来对每一个分配出去的内存空间进行跟踪。当JVM空闲时,自动回收每块可能被回收的内存,GC是完全自动的,不能被强制执行。程序员最多只能用System.gc()来建议执行垃圾回收器回收内存,但是具体的回收时间,是不可知的
    当对象的引用变量被赋值为null,可能被当成垃圾。
    源码程序中用到了一个重要的内部接口:Map.Entry,每个 Map.Entry 其实就是一个 key-value 对。当系统决定存储 HashMap 中的 key-value 对时,完全没有考虑 Entry 中的 value,仅仅只是根据 key 来计算并决定每个 Entry 的存储位置。Entry是数组,数组中的每个元素上挂这个一条链表。。
    链表法就是将相同hash值的对象组织成一个链表放在hash值对应的槽位;开放地址法是通过一个探测算法,当某个槽位已经被占据的情况下继续查找下一个可以使用的槽位。很显然我们使用的不是开放地址法。
     
    J2Sdk是Sun公司开发的编程工具。
           java api是应用程序接口
    JAR(Java Archive,Java 归档文件)是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件。为 J2EE 应用程序创建的 JAR 文件是 EAR 文件(企业 JAR 文件)。打开方式java -jar
    AppletViewer是与html有关的
    appletviewer 提供了一个Java运行环境,在其中可测试小应用程序Applet。appletviewer 读取包含小应用程序的HTML文件并在一个窗口中运行它们。
  • 相关阅读:
    文件上传案例_Socket_测试
    Linux的小整理(入门)
    full stack 第一天
    基础考题 试题
    shell语法
    网络管理
    图像类
    定时储存
    网络管理
    磁盘管理
  • 原文地址:https://www.cnblogs.com/hgc-bky/p/6249369.html
Copyright © 2020-2023  润新知