暂无搜索历史
统一资源描述定位符 URL(Uniform Resource Locator)是用来表示从互联网上得到的资源位置和访问这些资源的方法,说的简单直白一点,就是我们...
这里主要介绍传统 IO,对于文件操作来说也主要用到的是传统 IO,而网络通信会用到 NIO,并且现在主流的框架已经集成了 NIO,所以不需要我们去调用 NIO ...
Callable 接口是 Java 并发编程中用于表示可以由线程执行的任务的一种接口,它与 Runnable 接口类似,但功能更强大。
注意:synchronized 并不仅仅是对 mutex 进行封装,在 synchronized 内部还做了很多其它的工作,下面会详细介绍!
Java 线程池的核心接口是 Executor 和 ExecutorService,最常用的实现类是 ThreadPoolExecutor。
饿汉模式属于 "急切加载" 的方式,即在类加载时就立即创建单例对象,而不管是否会被使用。
我们可以通过 Thread.getState() 来获取当前进程在某个时刻的状态,如下所示:
在 jdk 的 bin 目录中有一个 jconsole 程序,打开然后连接到对应的 java 程序,就能看到对应的程序信息,比如内存、线程等情况,如下图所示:
Lambda 表达式是 JavaSE8 中一个重要的新特性,它允许通过表达式来代替功能接口。
这里要注意 values() 是由 Java 编译器为每个枚举类自动生成的静态方法,所以在 Enum 类里是找不到它的源码的,但每个具体的枚举类都有它。
Java 文件被编译后,生成了 .class 文件,JVM 此时会去解读这个 .class 文件,而 .class 文件也被 JVM 解析为一个对象,这个对象就...
在 Java 中,由于基本类型不是继承自 Object,为了在泛型代码中可以支持基本类型,Java 给每个基本类型都对应了一个包装类型,如下图所示:
比如算数异常 ArithmeticException、数组越界异常 ArrayIndexOutOfBoundsException、空指针异常 NullPoint...
2. 对于上面第一种构造方式来说,实际上是对常量池中 "abc" 的一个引用,如果此时再创建一个 String s2 = "abc",此时并不会真的又去开辟一段...
在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是...
继承(inheritance)是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保持原有类特性的基础上进行扩展,增加新功能,这样产生新的类,称为派生...
采用 Java 语言将洗衣机类在计算机中定义完成,经过 javac 编译之后形成 .class 文件,在 JVM 的基础上计算机就可以识别了。
2. 静态初始化:在创建数组时不直接指定数据元素个数,而直接将具体的数据内容进行指定
在 java 中,凡是参加的逻辑运算的都必须得是 boolean 类型,比如说不能这样子: