Java 12
-
Java类文件中的字节码指令
注意:本章内容紧接上篇文章 通过HelloWorld读懂Java类(.class)文件结构字节码指令通过读取HelloWorld.class文件的内容,我们得知方法信息部分包含字节码指令。如:<init>方法部分的字节码指令为2A B7 00 01 B1其中:2A代表aload_0,即加
-
通过HelloWorld读懂Java字节码(.class)文件结构
Hello World一个最简单的Hello World程序源代码如下:package top.zysite;public class HelloWorld { public static void main(String[] args) { System.out.println
-
CyclicBarrier、CountDownLatch、Semaphore对比
CountDownLantch称作线程计数器。当某个线程需要等待其他 n 个线程执行完毕后才能执行,就可以使用CountDownLantch。public static void main(String[] args) throws InterruptedException { int num
-
Java代码连接ZooKeeper(Curator)
Curator简介Apache Curator 是 ZooKeeper 的Java客户端库。包含了高标准的API工具库,让我们可以更加简单、可靠的使用ZooKeeper。创建项目先启动ZooKeeper。如果还没安装:docker-compose安装ZooKeeper集群。通过IDEA创建一个Mav
-
Java基础:注解篇
概念注解(Annotation),也叫元数据。一种代码级别的说明。它是JDK1.5及以后版本引入的一个特性,与类、接口、枚举是在同一个层次。它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明,注释。分类按照来源分类JDK注解:如@Override、@Deprecate
-
基数排序、堆排序分析与实现(Java)
基数排序基数排序(Radix Sort)属于“分配式排序”(distribution sort),又称“桶子法”(bucket sort),顾名思义,它是透过键值的部份资讯,将要排序的元素分配至某些“桶”中,藉以达到排序的作用,基数排序法是属于稳定的排序,其时间复杂度为O (nlog(r)m),其中
-
归并排序、快速排序、希尔排序分析与实现(Java)
归并排序归并排序归并排序(Merge Sort)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。归
-
二分查找、插值查找、斐波那契(黄金分割)查找分析与实现(Java)
二分查找 二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。基本思想 首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录