![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
酸乳酸乳
这个作者很懒,什么都没留下…
展开
-
java实现读写锁
package concurrent.rwl;import java.util.Random;import java.util.concurrent.LinkedBlockingQueue;import java.util.concurrent.ThreadPoolExecutor;import java.util.concurrent.TimeUnit;import java.util.concurrent.locks.Lock;import java.util.concurrent.loc原创 2021-09-21 19:04:54 · 370 阅读 · 0 评论 -
HashMap源码 + jdk11
1.声明类public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable, Serializable 2.成员变量private static final long serialVersionUID = 362498820763181265L;static final int DEFAULT_INITIAL_CAPACITY = 1 << 4;原创 2021-09-20 18:53:54 · 143 阅读 · 0 评论 -
LinkedList源码学习 + jdk11
底层是使用双向链表实现的,插入删除容易,不需要扩容,不是线程安全的。1.类定义public class LinkedList<E> extends AbstractSequentialList<E> implements List<E>, Deque<E>, Cloneable, java.io.Serializable2.成员变量 transient int size = 0; transient Node<E>原创 2021-09-19 11:12:04 · 167 阅读 · 0 评论 -
ArrayList源码 + jdk11
动态数组,但是不是线程安全的。1.类的定义public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.SerializableAbstractList也实现了List接口,这样做是为了使用一些重复代码,自己又实现了List是为了实现自己特有的方法。2.成员变量 private static final原创 2021-09-19 11:00:42 · 174 阅读 · 0 评论 -
String 源码学习 jdk11
1.实现的接口 implements java.io.Serializable, Comparable<String>, CharSequence //分别是序列化 //比较接口 compareTo(T 0) //只读的字符串序列包括length(), charAt(int index), subSequence(int start, int end)2.成员数据 @Stable private final byte[] value; //存字符串的byte数组原创 2021-09-19 10:03:23 · 192 阅读 · 0 评论 -
循环依赖spring
https://blog.csdn.net/lkforce/article/details/97183065转载 2021-09-17 19:29:52 · 63 阅读 · 0 评论 -
leetcode滑动窗口练习
3.无重复最长子序列对于这样的题,一定要计算好窗口的长度class Solution { public int lengthOfLongestSubstring(String s) { if(s.length()<=1){ return s.length(); } int sum = 0; int max = -1; int start = 0; for(int i=0;原创 2021-09-16 19:13:43 · 53 阅读 · 0 评论 -
leetcode 链表练习
这几天面试编程总是出现问题,确实是自己的问题,没有好好练习,在面试的时候一定要注意心态,不要紧张。83 将重复元素删除,只留一个class Solution { public ListNode deleteDuplicates(ListNode head) { if(head==null){ return head; } ListNode p = head; while(p!=null&&p.原创 2021-09-16 19:09:55 · 91 阅读 · 0 评论 -
0911京东笔试
第一题模拟在一个不重复字符键盘上输出一个指定字符串要要多大代价?最开始在0,0的位置移动一格需要x的代价敲击一个字符要z的代价发生转向要y的代价输入n,m,x,y,zn代表输入n行,m代表每行字符数样例2 2 1 1 1.E:FEE:F.:输出15import java.util.HashMap;import java.util.Scanner;/** * @data 2021/9/11 18:47 **/public class Main { publ原创 2021-09-11 21:00:42 · 306 阅读 · 0 评论 -
jvm 内存相关问题
jvm内存相关问题总结jvm溢出与泄露产生内存泄露的可能原因?处理内存泄露的步骤分析使用的工具java中的引用内存溢出的原因内存溢出的解决办法java对象回收与finalize方法OOM可能发生在哪些区域?GCroot的几种对象?jvm调优常用参数jvm溢出与泄露Out of memory 内存不足,使用空间不足,比如创建一个对象,需要10m的大小。(申请内存过大)内存泄露?Memory leak ,程序运行完后,并没有完全释放已经占用的空间,太多次的内存泄露就会导致oom。内存溢出会抛出异常,内原创 2021-09-07 16:23:10 · 137 阅读 · 0 评论 -
跳跃表 + Java
package sjjg;import java.util.Random;/** * @author wengyinbing * @data 2021/8/25 17:06 **/public class SkipList { private final static int MAX_LEVEL = 10; private int levelCount = 1;//索引的层节数 private Random random = new Random(); pr.原创 2021-08-27 21:17:24 · 52 阅读 · 0 评论 -
TOP K + java
import java.util.Arrays;/** * @author wengyinbing * @data 2021/8/20 16:20 **/public class TopK { //topk 问题常见解法 //1.使用k次冒泡排序 //2.使用堆 求k最大的 用小顶堆 //3.利用快排 public static void heapTopK(int[] arr,int k){//取k小 //首选建立一个k的大顶堆原创 2021-08-20 17:58:36 · 96 阅读 · 0 评论 -
堆排序+java
/** * @author wengyinbing * @data 2021/8/20 15:33 **/public class HeapSort { /* 堆排序 大顶堆 升序 小顶堆 降序 */ public static void heapSort(int[] arr){ //从第一个非叶子节点开始调整 for(int i=arr.length/2-1;i>=0;i--){ adj原创 2021-08-20 16:18:52 · 53 阅读 · 0 评论 -
哈夫曼树 + java
package sjjg;import java.util.ArrayList;import java.util.Collections;import java.util.List;/** * @author wengyinbing * @data 2021/8/16 21:21 **/public class HuffmanTree<T> { public static <T> Node<T> createHT(List<Node&l.原创 2021-08-16 21:42:47 · 61 阅读 · 0 评论 -
LRU+java实现
使用hashmap(O(1)时间复杂度中找到)+ 双向链表(将最新访问放到链表头部,尾部是最近最少访问的,是最先删除的)import java.util.HashMap;/** * @author wengyinbing * @data 2021/8/15 16:47 **/public class LRUcache<K,V>{ //hashmap + 双向链表实现 public final static int CacheSize=4; public原创 2021-08-15 20:35:44 · 60 阅读 · 0 评论