java
文章平均质量分 92
忘川丿
这个作者很懒,什么都没留下…
展开
-
阻塞队列(BlockingQueue)
目录一、队列(Queue)1.Queue接口2.Deque接口3.ArrayDeque类二、非阻塞队列(AbstractQueue)1.优先级队列(priority queue)2.ConcurrentLinkedQueue三、阻塞队列(BlockingQueue)1.ArrayBlockingQueue2.LinkedBlockingQueue一、队列(Queue)Queue是数据结构中比较重要的一种类型,它支持FIFO,尾部添加、头部删除(先进队列的元素显原创 2021-01-13 16:27:29 · 4297 阅读 · 0 评论 -
最长回文字符串
public static void main(String[] args) { String str="abdcAcba"; //测试 System.out.println(centerExtend(str)); } public static String centerExtend(String str) { int end=0,start=0; for(int i=...原创 2020-04-04 23:03:40 · 106 阅读 · 0 评论 -
给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的
class Solution { public int[] twoSum(int[] nums, int target) { Map<Integer,Integer> map = new HashMap<>(nums.length); if(nums==null||nums.length<=1){ re...原创 2020-03-26 18:41:52 · 209 阅读 · 0 评论 -
给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */class Solution { public ListNode addTwoNumb...原创 2020-03-26 18:40:55 · 631 阅读 · 0 评论 -
给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。
class Solution { public int lengthOfLongestSubstring(String s) { int n = s.length(); int res = 0; int start = 0; Map<Character, Integer> map = new HashMap<...原创 2020-03-26 18:39:17 · 212 阅读 · 0 评论 -
给定两个大小为 m 和 n 的有序数组 nums1 和 nums2。 请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。 你可以假设 nums1 和 nums
class Solution { public double findMedianSortedArrays(int[] nums1, int[] nums2) { int n = nums1.length; int m = nums2.length; int left = (n + m + 1) / 2; int right...原创 2020-03-25 23:47:19 · 775 阅读 · 0 评论 -
java校招面试题库(六)
1.applet安全管理器是什么?它会做哪些工作?applet安全管理器市给applet施加限制条件的一种机制。浏览器可以只有一个安全管理器。安全管理器是在启动的时候被创建,之后不能被替换覆盖或者是扩展。2.弹出式选择菜单(choice)和列表(list)有什么区别?choice是以一种紧凑的形式展示的,需要下拉才能看到所有的选择。choice中一次只能选中一个选项。list同时可以有...原创 2020-03-25 23:44:01 · 133 阅读 · 0 评论 -
Java校招面试题(五)
1.throw和throws有什么区别?throw用于方法内容,throws用于方法声明上throw后缀异常对象,throws后跟异常类型throw后只能跟一个异常对象,throws后可以一次声明多种异常类型2.异常处理完成后,exception对象会发生什么变化?exception对象会在下一个垃圾回收过程中被回收掉3.finally代码块和finalize()方法有什么...原创 2020-01-27 16:27:29 · 155 阅读 · 0 评论 -
Java校招面试题(四)
1.你了解大O符号(big-O notation)么?你能给出不同数据结构的例子么?大O符号描述了当数据结构里面的元素增加的时候,算法的规模或者是一个渐进上界。大O符号也可用来描述其他的行为,比如:内存消耗。因为集合类实际上是数据结构,我们一般使用大O符号基于时间,内存和性能来选择最好的实现。大O符号可以对大量数据的性能给出一个很好的说明。2.如何权衡是使用无序的数组还是有序的数组?...原创 2020-01-01 23:55:25 · 193 阅读 · 0 评论 -
Java校招面试题(三)
1.Java中HashMap的工作原理是什么?Java中的HashMap是以键值对(key-value)的形式存储元素的。HashMap需要一个hash函数,它使用hashCode()和equals()方法来向集合/从集合添加和检索元素。当调用put()方法的时候,HashMap会计算key的hash值,然后把键值对存储在集合中合适的索引上。如果key已经存在了,value会被更新成新值。Ha...原创 2019-12-28 00:12:22 · 136 阅读 · 0 评论 -
快速失败(fail-fast)和安全失败(fail-safe)的区别是什么?
一、快速失败(fail-fast)在用迭代器遍历一个集合对象时,如果遍历过程中对集合对象的结构进行了修改(增加、删除),则会抛出Concurrent Modification Exception。原理:迭代器在遍历时直接访问集合中的内容,并且在遍历过程中,使用一个modCount变量。集合在被遍历期间如果结构发生变化,就会改变modCount的值。每当迭代器使用hadNext()/next...原创 2019-12-26 23:23:00 · 169 阅读 · 0 评论 -
Java校招面试题(二)
1.同步方法和同步代码块的区别是什么?同步方法默认用this或者当前类class对象作为锁同步代码块可以选择以什么来加锁,比同步方法要更细颗粒度,我们可以选择只同步会发生同步问题的部分代码,而不是整个方法同步方法使用关键字synchronized修饰方法,而同步代码块主要是修饰需要进行同步的代码,用synchronized(object){代码内容}进行修饰2.在监视器(Monit...原创 2019-12-24 23:48:40 · 109 阅读 · 0 评论 -
Java收发包
一、使用Datagram打开本地端口,构建socketDatagramSocket ds = new DatagramSocket(2000);//构建接收实体final byte[] buf = new byte[512];DatagramPacket receiverPack = new DatagramPacket(buf, buf.length);//接收ds.recei...转载 2019-12-24 23:14:34 · 145 阅读 · 0 评论 -
Java校招面试题(一)
1.什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”?Java虚拟机是一个可以执行Java字节码的虚拟机进程。Java源文件被编译成能被Java虚拟机执行的字节码文件。Java被设计成允许应用程序可以运行在任意的平台,而不需要程序员为每一个平台单独重写或者是重新编译。Java虚拟机让这个变成可能,因为它知道底层硬件平台的指令长度和其它特性。2.JDK和JRE的区别是什...原创 2019-12-23 23:56:50 · 192 阅读 · 0 评论