sleep()方法是使线程停止一段时间的方法。在sleep时间间隔期满后,线程不一定立即恢复执行。这是因为在那个时刻,其它线程可能正在运行而且没有被调度为放弃执行,除非(a)“醒来”的线程具有更高的优先级(b)正在运行的线程因为其它原因而阻塞。wait()是线程交互时,如果线程对一个同步...
方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写(Overriding)。子类的对象使用这个方...
索引的作用:索引是一种数据结构,用于加快mysql获取数据的速度;如何建索引?在使用InnoDB引擎的前提下讨论:(1)最左前缀原理:分析业务中的查询条件,区分度高的字段放在前面,尽量减少一条SQL的影响行数;(2)A+B可以代替A,A+B+C可以代替A+B,如果查询是A+C则只能使用到A列索引;关于InnoD...
对象优先在新生代Eden区中分配,如果Eden区没有足够的空间时,就会触发一次younggcFullgc的触发条件有多个,FULLGC的时候会STOPTHEWORD。在执行Younggc之前,JVM会进行空间分配担保——如果老年代的连续空间小于新生代对象的总大小(或历次晋升的平均大小),...
在并发编程领域,有进程和线程两个概念,在Java语言中说起并发编程,常常是指多线程,但是了解进程的概念也非常重要:–进程是操作系统的资源调度实体,有自己的内存地址空间和运行环境;–线程一般被称为轻量级的进程,线程和进程一样,也有自己的运行环境,但是创建一个线程要需要的资源比创建一个进程要...
volatile本质是在告诉jvm当前变量在寄存器(工作内存)中的值是不确定的,需要从主存中读取;synchronized则是锁定当前变量,只有当前线程可以访问该变量,其他线程被阻塞住。volatile仅能使用在变量级别;synchronized则可以使用在变量、方法、和类级别的。volatile仅能实现变量的...
indexOf():返回指定字符的索引。charAt():返回指定索引处的字符。replace():字符串替换。trim():去除字符串两端空白。split():分割字符串,返回一个分割后的字符串数组。getBytes():返回字符串的byte类型数组。length():返回字符串长度。toLowerCase(...
JDK:JavaDevelopmentKit的简称,java开发工具包,提供了java的开发环境和运行环境。JRE:JavaRuntimeEnvironment的简称,java运行环境,为java的运行提供了所需环境。具体来说JDK其实包含了JRE,同时还包含了编译java源码的编译器javac,还包含了很多j...
答案是:有的实例:Stringstr1="通话";Stringstr2="重地";System.out.println(String.format("str1:%d|str2:%d",str1.hashCode(),str2.hashCode()));System.out.println(str1.equals...
访问修饰符,主要标示修饰块的作用域,方便隔离防护。类中的数据成员和成员函数据具有的访问权限包括:public、private、protect、default(包访问权限)作用域当前类同一package子孙类其他packagepublic√√√√protected&...