![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java基础
hdu_xiaoming
鹅厂打工人。
展开
-
【Java基础】挖一挖HashMap相关的几个问题
HashMap的hash()方法做了什么?JDK 1.8的hash()方法代码如下:static final int hash(Object key) { int h; return (key == null) ? 0 : (h = key.hashCode()) ^ (h >>> 16);}1.7中是这样的:```javastatic int hash(int h) { // This function ensures that hashCodes原创 2020-08-07 11:06:20 · 150 阅读 · 0 评论 -
【Java基础】说一说我对Java线程池的理解
线程池在Java多线程中应用也很多,面试中出现频率比较高。今天来整理下线程池相关的知识点。总的来说使用线程池管理有以下几个好处:减小时间开销。 如果每次使用单独创建线程,会有创建和销毁的时间损耗,而在线程池中的线程可实现复用。减少等待时间。 在需要使用线程时直接从线程池调取即可,避免了等待创建的过程。统一管理。 避免资源消耗过度。使用线程池统一管理,控制最大创建线程数。Executors先来说说Executors类,由于创建线程池较复杂,有很多参数需要设置。Executors就类似于游戏中的【原创 2020-08-01 21:21:35 · 198 阅读 · 0 评论 -
【java基础】内部类能访问外部类的成员吗?
昨天下午字节跳动的面试中,问到了这个问题:内部类能访问外部类的成员吗?当时只是回答了静态内部类能访问外部类的静态方法,成员内部类能访问外部类的所有方法。然后面试官问我原因我就答不上来了。还是原来看的不仔细,这里具体整理下。通俗的理解,在一个类里面定义另一个类,这样的类称为内部类。广义上来说内部类一共有四种:成员内部类、局部内部类、静态内部类、匿名内部类。其中静态内部类只能访问外部类静态的方法和属性。其余的内部类可以访问所有的外部类成员变量及方法。静态内部类不依赖于外部类存在。其他内部类可以访问外部类原创 2020-07-27 10:12:30 · 5118 阅读 · 1 评论 -
【java基础】labmda表达式
lambda表达式是java8的一个新特性,可看成一种闭包,允许把函数当作参数使用。在一定程度上可以使代码看起来更简洁。例如需要实现一个比较器,比较ListNode节点的大小。如果使用匿名内部类实现:new Comparator<ListNode>() { @Override public int compare(ListNode o1, ListNode o2) { if (o1.val < o2.val)原创 2020-07-09 10:59:22 · 399 阅读 · 0 评论 -
【Java基础】java反射使用
目录定义优点缺点常用方法获取Class对象的三种方式类相关常用方法获得类中属性(Field)获得类中方法(Method)Field类方法Method类方法其他重要方法总结定义java反射是指在程序运行过程中,对于任意一个类,能够获取其所有的属性和方法;对于一个对象,可以调用其所有的方法,修改其所有的属性。该种能够动态获取信息或调用对象方法的功能称为反射。优点增加程序灵活性,运行时根据需要动态加载类。缺点性能较差。破坏封装性。暴露内部细节。常用方法获取Class对象的三种方式原创 2020-07-08 16:20:56 · 110 阅读 · 0 评论 -
【java基础】List的各种遍历方式效率比较
今天来比较下ArrayList和LinkedList使用不同方式遍历时的速度,网上有许多这方面的比较,但是还是实践出真知嘛~ArrayList测试代码如下:import java.util.ArrayList;import java.util.Iterator;import java.util.Scanner;import java.util.concurrent.ConcurrentHashMap;public class Main { public static void ma原创 2020-06-29 23:15:00 · 776 阅读 · 1 评论