Java

Java

  • 2021年6月面试题Java后台(字节、招银、花旗、携程)

    2021年6月面试题Java后台(字节、招银、花旗、携程)

    招银网络科技(深圳)技术面和HR一起面。自我介绍、项目。技术问题:介绍下生产者消费者模型。通过怎样的设计可以提高消费速度。生产者消费者模型中怎么避免重复消费、遗漏消费。线程run方法和start方法的区别。说下冒泡排序思路,有没有更快的排序算法,说下实现思路。问题相对较少。项目占了不少时间,全程大概

    查看全文
  • Java实现LRU算法(哈希表加双向链表)

    Java实现LRU算法(哈希表加双向链表)

    LRULRU 全称 Least Recently Used,意为最近最少使用,是最常见的页面置换算法,也常用于实现缓存淘汰策略。实现哈希表 + 双向链表。链表头节点代表最近使用过的数据。对于 get 操作,首先判断 key 是否存在:如果 key 不存在,则返回 -1;如果 key 存在,则 key

    查看全文
  • Java类文件中的字节码指令

    Java类文件中的字节码指令

    注意:本章内容紧接上篇文章 通过HelloWorld读懂Java类(.class)文件结构字节码指令通过读取HelloWorld.class文件的内容,我们得知方法信息部分包含字节码指令。如:<init>方法部分的字节码指令为2A B7 00 01 B1其中:2A代表aload_0,即加

    查看全文
  • 通过HelloWorld读懂Java字节码(.class)文件结构

    通过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对比

    CyclicBarrier、CountDownLatch、Semaphore对比

    CountDownLantch称作线程计数器。当某个线程需要等待其他 n 个线程执行完毕后才能执行,就可以使用CountDownLantch。public static void main(String[] args) throws InterruptedException { int num

    查看全文
  • Java代码连接ZooKeeper(Curator)

    Java代码连接ZooKeeper(Curator)

    Curator简介Apache Curator 是 ZooKeeper 的Java客户端库。包含了高标准的API工具库,让我们可以更加简单、可靠的使用ZooKeeper。创建项目先启动ZooKeeper。如果还没安装:docker-compose安装ZooKeeper集群。通过IDEA创建一个Mav

    查看全文
  • Java基础:注解篇

    Java基础:注解篇

    概念注解(Annotation),也叫元数据。一种代码级别的说明。它是JDK1.5及以后版本引入的一个特性,与类、接口、枚举是在同一个层次。它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明,注释。分类按照来源分类JDK注解:如@Override、@Deprecate

    查看全文
  • 基数排序、堆排序分析与实现(Java)

    基数排序、堆排序分析与实现(Java)

    基数排序基数排序(Radix Sort)属于“分配式排序”(distribution sort),又称“桶子法”(bucket sort),顾名思义,它是透过键值的部份资讯,将要排序的元素分配至某些“桶”中,藉以达到排序的作用,基数排序法是属于稳定的排序,其时间复杂度为O (nlog(r)m),其中

    查看全文
  • 归并排序、快速排序、希尔排序分析与实现(Java)

    归并排序、快速排序、希尔排序分析与实现(Java)

    归并排序归并排序归并排序(Merge Sort)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。归

    查看全文
  • 二分查找、插值查找、斐波那契(黄金分割)查找分析与实现(Java)

    二分查找、插值查找、斐波那契(黄金分割)查找分析与实现(Java)

    二分查找  二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。基本思想  首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录

    查看全文