#Java

Java内存模型

<h3 id="java内存模型">Java内存模型</h3> <p><strong>Java内存模型(Java Memory Model,JMM)就是一种符合内存模型规范的,屏蔽了各种硬件和操作系统的访问差异的,保证了Java程序在各种平台下对内存的访问都能保证效果一致的机制及规范。</strong></p> <pre tabindex="0"><code>简要言之,jmm是jvm的一种规范,定

Java类加载机制

<h3 id="java类加载机制">Java类加载机制</h3> <p><strong>类加载机制</strong></p> <p>所谓类加载机制就是JVM虚拟机把Class文件加载到内存,并对数据进行校验,转换解析和初始化,形成虚拟机可以直接使用的Java类型,即Java.lang.Class。</p> <p><strong>类的生命周期</strong></p> <p><strong>类的生

Java创建对象的五种方式

<h3 id="java创建对象的五种方式">Java创建对象的五种方式</h3> <p>本文将介绍五种方式来创建一个Java对象:</p> <ul> <li>使用new关键字</li> <li>使用Class.newInstance</li> <li>使用Constructor.newInstance</li> <li>使用clone方法</li> <li>使用反序列化</li> </ul>

Java基础sleep与interrupt

<h3 id="java基础sleep与interrupt">Java基础sleep与interrupt</h3> <ol> <li> <p>interrupt用于向线程发终止通知信号,会影响该线程内部的中断标志位</p> </li> <li> <p>当前线程本身不会因为interrupt而改变状态,状态的具体变化需要等待接收到中断表示的程序的最终处理结果来判定。</p> </li> <li>

Java基础wait和sleep的区别

<h3 id="java基础wait和sleep的区别">Java基础wait和sleep的区别</h3> <p>1、sleep是Thread中的方法,是静态方法,wait是Object中的方法,是实例方法。</p> <p>2、sleep主要作用使线程暂停执行一段时间,时间一到自动恢复,不涉及线程通讯,不会去释放锁,但是wait会释放这个锁,并把这个wait的线程加入到这个锁的等待队列中去</p>

volatile和synchronized的区别

<h3 id="volatile和synchronized的区别">volatile和synchronized的区别</h3> <ol> <li> <p>volatile本质是在告诉jvm当前变量在寄存器(工作内存)中的值是不确定的,需要从主存中读取; synchronized则是锁定当前变量,只有当前线程可以访问该变量,其他线程被阻塞住。</p> </li> <li> <p>volatile仅能

Java实现生产者和消费者

<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-java" data-lang="java"><span

Java语言图形界面JavaFX编程入门

<pre tabindex="0"><code>import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.layout.StackPane; import javafx.stage.Stage; /** *

Java语言HashMap遍历的六种方式

<p>我们总共采用六种方式来遍历HashMap,计算效率的方式采用执行遍历之前记下时间,遍历之后记下结束时间,时间差就是遍历所用的时间。之后比较六种方式的时间的大小,时间差值越小代表效率越高。</p> <div class="highlight"><pre tabindex="0"