
Java 基础
文章平均质量分 55
秀强
物有本末,事有终始。
展开
-
【Java Stream Trick】根据多个参数过滤,过滤之前需要校验参数是否存在
有一个对象列表,需要根据多个参数进行 filter。但是参数不一定存在,若不存在则跳过,否则过滤。核心是在 filter 时先判断 paramter 是否存在。原创 2023-03-16 18:30:17 · 627 阅读 · 1 评论 -
Java 手写 LinkedList
package com.company.generics;/** * 内部链式存储 */public class LinkedStack<T> { private static class Node<U> { U item; Node<U> next; Node() { item = null; next = null; }原创 2022-01-17 19:25:56 · 288 阅读 · 0 评论 -
判断范型的类型是否是布尔值的包装类
BaseRep<?> data = getData();if(Boolean.FALSE.equals(data.getData())){ // ... }原创 2022-02-22 15:15:09 · 148 阅读 · 0 评论 -
java 反爬虫
小哥哥、小姐姐,如果这篇博客对你解决问题提供了一点帮助,欢迎点赞或扫描分类专栏下的支付宝的二维码来请我喝阔落,一分一角也是爱,十分感谢,难为情.jpg文章目录反爬虫个人主页反爬虫今天使用httpclient+jsoup爬取某网站的数据时,一直获取不到网页中动态生成的那部分数据.尝试后发现只需在请求头中加入该网站的Reffer即可!httpGet.addHeader("Referer", "...原创 2019-11-04 17:19:18 · 1029 阅读 · 0 评论 -
Java 字符串首字母大写
文章目录前情提要代码先拿去抄巧用位运算结论前情提要涉及知识点:ascii码^ 运算代码先拿去抄 public static String capital2UpperCase(String name) { char[] cs = name.toCharArray(); if (97 <= cs[0] && cs[0] <...原创 2020-02-21 00:29:47 · 663 阅读 · 0 评论 -
印象中最深刻的一段JDK源码
印象中最深刻的一段JDK源码是JDK1.7中HashMap的putVal()方法中定位桶下标的一行代码 (n - 1) & hash当时看到这行代码时,我有2个疑惑:为什么不是通过hash % table.length来确定桶的下标,如下int length = table.length();int hash = key.hashCode();int index = hash % length;hash值是怎么算出来的先说为什么要用&来代替%操作:计算机中 &原创 2021-09-10 15:20:11 · 144 阅读 · 1 评论 -
Java面试题合集
文章目录公司1持续收录中…公司1jdk8 stream 获取Integer的List的最大值、求和StringBuilder 和 StringBuffer 区别线程 start 和 run 的区别sleep wait yield 有什么区别slepp(0)强、软、弱、虚引用线程池 7 个参数新生代内存 endn s0 s1 比例redis 数据类型redis 一个key过期后,是什么时候被删除的redis 数据存储格式mysqlTinyint 设置字段长度 1 和 4mys原创 2022-02-24 12:53:42 · 712 阅读 · 0 评论 -
List.subList用法小记
package com.company;import java.util.ArrayList;import java.util.List;public class SubListTest { public static void main(String[] args) { List<String> stringList = new ArrayList<>(); stringList.add("晓"); stringLi原创 2021-10-22 17:13:10 · 694 阅读 · 0 评论 -
使用栈实现队列
题目用栈模拟一个队列,要求实现栈的两个基本操作:入队、出队。思路使用两个栈A和B。入队时都放到栈A里,出队时,把栈A的元素弹出放入栈B(这一步是为了改变元素顺序)。然后从栈B中pop。代码 class CQueue { private Stack<Integer> stackA = new Stack<Integer>(); private Stack<Integer> stackB = new Stack<Integer>()原创 2021-07-31 17:39:20 · 112 阅读 · 0 评论 -
浅析JAVA集合框架之HashMap
数据结构原创 2018-12-01 13:11:05 · 1496 阅读 · 4 评论 -
Java ArrayList 和 LinkedList 有什么区别
文章目录异ArrayList 基于数组实现,LinkedList 基于链表实现。同都是线程不安全的异ArrayList 基于数组实现,LinkedList 基于链表实现。链表适合插入、删除,时间复杂度 O(1);数组支持随机访问,根据下标随机访问的时间复杂度为 O(1)。假设数组的长度为 n,现在我们将一个数据插入到数组中的第 k 个位置。为了把第 k 个位置腾出来给新来的数据,我们需要将第 k~n 这部分的元素都顺序地挪动一位。那插入的时间复杂度为多少?假设数组有序如果在数组的末尾插入原创 2022-03-16 12:55:13 · 788 阅读 · 0 评论 -
【JAVA基础】JDK8 HashMap 源码深度解析
而且当 key 是 Integer 时且小于等于 65535 时,(h = key.hashCode())^ (h >>> 16) 和 key 的值是相等的,所以此时 key 是有序递增的。当 key 大于 65535 以后,高 16 位就不全是 0 了,(h = key.hashCode())^ (h >>> 16) 的值就与 key 不相等了。n = 16 时,(h ^ (h >>> 16)) & (n-1) = 5, 即计算出来的下标是 5。JDK8:数组 + 链表 + 红黑树。...原创 2022-08-27 02:02:52 · 530 阅读 · 0 评论 -
【JAVA基础】深入解析 ArrayList 和 LinkedList 的区别?
算法分为“标记”和“清除”两个阶段:首先标记出所有需要回收的对象,在标记完成后,统一回收掉所有被标记的对象,也可以反过来,标记存活的对象,统一回收所有未被标记的对象。所以在链表中插入和删除一个数据的时间复杂度是 O(1)。如果我们申请了大小为 10 的数组,当第 11 个数据需要存储到数组中时,我们就需要重新分配一块更大的空间,将原来的数据复制过去,然后再将新数据插入。因为数组使用是一组连续的内存空间,所以它可以借助 CPU 的缓存机制,预读数组中的数据,弥补内存访问速度过慢与CPU执行速度快之间的差异。原创 2022-08-22 21:54:38 · 446 阅读 · 1 评论 -
一段代码秒懂 Java 中的「值」传递
代码:package testanything;public class Test2 { public static void main(String[] args) { A a = new A(); System.out.println("(1) 调用方法前 a 的地址 = " + a); change(a); System.out.println("(4) 调用方法后 a 的地址 = " + a); } pu原创 2022-03-03 10:38:31 · 371 阅读 · 2 评论 -
Java异常
Java的基本理念是“结构不佳的代码不能运行”。异常体系Throwable(任何可以作为异常被抛出的类)Exception 受检异常(在编译时被强制检查的异常)RuntimeException 非受检异常(运⾏时异常,代表⼀种预料之外的异常,因此不需要声明)几个常见的RuntimeException:IndexOutOfBoundsException、ClassCastException、NullPointerException、NumberFormatException.原创 2021-11-22 11:24:14 · 542 阅读 · 0 评论 -
聊聊Java中的内部类
内部类的基本定义可以将一个类的定义放在另一个类的定义内部,这就是内部类。demo1:内部类的基本定义class Outer{ //外部类 private String msg = "Outer Class"; //私有成员属性 public void fun(){ //普通方法 Inner in = new Inner(); //实例化内部类对象 in.print(); //调用内部类方法 } class Inner{ /原创 2021-11-16 21:13:16 · 671 阅读 · 0 评论 -
java 队列Queue简单使用
文章目录ConcurrentQueueLinkedBlockingQueueArrayBlockingQueuePriorityQueueDelayQueueSynchronusQueueTransferQueueConcurrentQueueimport java.util.Queue;import java.util.concurrent.ConcurrentLinkedQueue;...原创 2020-03-09 00:06:43 · 341 阅读 · 0 评论