知识题
study_azhuo
这个作者很懒,什么都没留下…
展开
-
类初始化问题案例
会导致类初始化的情况子类访问父类的静态变量,只会触发父类的初始化Class.forName和 new 会导致初始化,不会导致类初始化的情况访问类的 static final 静态常量(基本类型和字符串)不会触发初始化类对象.class 不会触发初始化创建该类的数组不会触发初始化ClassLoader classLoader=ClassLoader.getSystemClassLoader();Class clazz=classLoader.loadClass(“A”);类加载器加载类不会初始原创 2021-06-03 09:58:11 · 337 阅读 · 0 评论 -
反转链表
传入节点 1-2-3-4-0设 第一个和第二个空节点 0第一个保存传入节点的next值 2-3-4-0 => 3-4-0传入节点的next指向第二个节点 1-0 => 2-1-0现在的传入节点赋值给第二个节点 1-0 =>2-1-0第一个节点赋值给传入节点 2-3-4-0 => 3-4-0循环操作直到传入节点为空public static reverseLink(head){ Node p=head;//将p作为第一个节点 head=null;原创 2021-01-11 16:23:23 · 71 阅读 · 0 评论 -
栈实现中缀转后缀表达式--计算器
思路:由于表达式中数字可能为多位数,判断后使数字之间不相邻存入集合用index作为指针判断是否达到临界值,当前为哪一位字符。用str拼接数字,如果下一个字符是否为数字?字符拼接:跳出循环存入集合将中缀形式集合转为后缀形式数字直接添加到集合中,且该集合只存入数据创建枚举类并实现方法getValue做优先级判断用一个栈来压入运算符,插入运算符优先级比栈顶的优先级小时将栈顶运算符弹出并存入集合:*比+先执行,集合计算时是从头到尾取出的如果插入运算符为 )将一直弹出栈顶运算符存入原创 2021-01-07 16:28:21 · 148 阅读 · 0 评论 -
HashMap为什么容量总为2的次幂
原文根据自己的理解交换了位置寻找索引靠的是(n-1)&hash的值 ,n为初始容量首先,hashMap中的tableSizeFor 方法做了处理,能保证n永远都是2次幂。/** * Returns a power of two size for the given target capacity. */static final int tableSizeFor(int cap) { //cap-1后,n的二进制最右一位肯定和cap的最右一位不同,即一个为0,一个为1,例如cap=转载 2020-12-22 14:38:43 · 186 阅读 · 0 评论 -
位运算实例与栈
排序算法稳定性:看相对位置是否能改变。如果当前元素比一个元素小,而该小的元素又出现在一个和当前元素相等的元素后面,那么交换后稳定性就被破坏了。比较拗口,举个例子,序列5 8 5 2 9, 我们知道第一遍选择第1个元素5会和2交换,那么原序列中2个5的相对前后顺序就被破坏了。简单的数字不需要考虑稳定性,但是复杂的对象中想要得到的逻辑就会多做一些事情...转载 2020-12-21 11:34:01 · 104 阅读 · 0 评论 -
mina实现联网----多功能聊天室
聊天室简介聊天室使用mina完成,用户打开客户端连接服务器,随即在控制台输入并得到信息。将私聊与群聊使用集合存入数据进行判断然后给予信息反馈,群聊时可@全体成员或任意人员,私聊#与@不能同时进行,聊天室将进行友好的提示,帮助用户更好的了解操作的方法。-----------由于控制台输入,有些问题无法避免,请见谅-----------jar包环境配置使用mina进行聊天室的建立,需要的jar包有:commons-logging-1.0.3.jarmina-core-2.1.3.jarslf4j-原创 2020-09-04 17:48:35 · 1022 阅读 · 5 评论 -
错题--分析--理论知识@3
1.以下代码执行的结果显示是多少()?public class Demo{public static void main(String[] args){ System.out.print(getNumber(0)); System.out.print(getNumber(1)); System.out.print(getNumber(2)); System.out.print(getNumber(4));}public static int getNumber(in原创 2020-08-10 20:15:11 · 389 阅读 · 0 评论 -
如何制作list集合?
class MyArrayList<T> { private int length = 10; //初始化数组,默认为10 private Object[] objArray = new Object[length]; //数组内拥有的数据数量 private int size = 0; public MyArrayList(){} //自定义数组长度 public MyArrayList(int length) {原创 2020-07-25 22:29:59 · 463 阅读 · 0 评论 -
错题--分析--理论知识@2
下面有关java hashmap的说法错误的是?正确答案: CA.HashMap 的实例有两个参数影响其性能:“初始容量” 和 “加载因子”。B.HashMap 的实现不是同步的,意味着它不是线程安全的C.HashMap通过开放地址法解决哈希冲突D.HashMap中的key-value都是存储在Entry数组中的a)HashMap实际上是一个“链表散列”的数据结构,即数组和链表的结合体。HashMap的底层结构是一个数组,数组中的每一项是一条链表。 b)Hash原创 2020-07-24 15:59:41 · 983 阅读 · 0 评论 -
错题--分析--理论知识@1
1.下面有关JVM内存,说法错误的是?正确答案: CA.程序计数器是一个比较小的内存区域,用于指示当前线程所执行的字节码执行到了第几行,是线程隔离的B.虚拟机栈描述的是Java方法执行的内存模型,用于存储局部变量,操作数栈,动态链接,方法出口等信息,是线程隔离的C.方法区用于存储JVM加载的类信息、常量、静态变量、以及编译器编译后的代码等数据,是线程隔离的D.原则上讲,所有的对象都在堆区上分配内存,是线程之间共享的解析:方法区在JVM中也是一个非常重要的区域,它与原创 2020-07-14 15:35:57 · 2315 阅读 · 0 评论