java基础
文章平均质量分 72
java
Alice_whj
记录生活点点滴滴
展开
-
java基础面试题
因为参数的地址都指向同一个对象,所以我们也称之为"传共享对象",所以,如果在被调函数中改变了形式参数的值,调用者是可以看到这种变化的。Map 是键值对映射容器,与 List 和 Set 有明显的区别,而 Set 存储的零散的元素且不允许有重复元素(数学中的集合也是如此),List是线性结构的容器,适用于按数值索引访问元素的情形。因为传共享对象调用的过程和传值调用的过程是一样的,而且都有一步关键的操作,那就是"复制",所以,通常我们认为传共享对象调用是传值调用的特例。1、什么是值传递,什么是引用传递?原创 2024-06-05 18:47:29 · 725 阅读 · 0 评论 -
36 散列hasntable
什么是哈希表?原文链接:https://blog.csdn.net/yyyljw/article/details/80903391哈希表(Hash table,也叫散列表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。哈希表hashtable(key...原创 2019-12-24 10:33:09 · 195 阅读 · 0 评论 -
35 Set/Map实现
HashSetpublic class HashSet<E> extends AbstractSet<E> implements Set<E>, Cloneable, java.io.SerializableHashSet源码:常量: 第一个定义一个 HashMap,作为实现 HashSet 的数据结构;第二个 PRESENT 对象,因为前面讲过 Has...原创 2019-12-21 18:56:38 · 272 阅读 · 0 评论 -
26 JAVA零散的笔记(一)
1.进程间如何通讯原文链接:https://blog.csdn.net/weixin_41050155/article/details/88047556管道(pipe)管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系有名管道(namedpipe)有名管道也是半双工的通信方式,但是它云溪无亲缘关系进程间的通信。信号量(s...原创 2019-12-10 19:58:16 · 196 阅读 · 1 评论 -
工作中一些java代码总结
1.httpget请求public static String doGet(String url, Map<String, String> params, Map<String, String> headers){ CloseableHttpClient client = HttpClientBuilder.create().build(); ...原创 2020-03-10 16:35:48 · 264 阅读 · 1 评论 -
62 java基础知识
1.final 关键字主要用在三个地方:变量、方法、类。对于一个 final 变量,如果是基本数据类型的变量,则其数值一旦在初始化之后便不能更改;如果是引用类型的变量,则在对其初始化之后便不能再让其指向另一个对象。当用 final 修饰一个类时,表明这个类不能被继承。final 类中的所有成员方法都会被隐式地指定为 final 方法。使用 final 方法的原因有两个。第一个原因是把方法锁定...原创 2020-03-01 20:03:20 · 260 阅读 · 0 评论 -
63 Java集合框架
ArrayListpublic class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializable{ private static final long serialVersionUID = 86834...原创 2020-03-01 22:32:58 · 144 阅读 · 0 评论 -
69 Java中Annotation用法
原文链接Annotation其实是代码里的特殊标记,这些标记可以在编译、类加载、运行时被读取,并执行相应的处理。通过使用Annotation,程序开发人员可以在不改变原有逻辑的情况下,在源文件嵌入一些补充信息。代码分析工具、开发工具和部署工具可以通过这些补充信息进行验证或者进行部署。Annotation提供了一条为程序元素设置元数据的方法,从某些方面来看,Annotation就像修饰符一样被使...转载 2020-03-13 10:21:47 · 146 阅读 · 0 评论 -
83 代码规范
一,编程规约1.命名规范不能以美元或下划线符号开始或结束;不能有英文和拼音混合;类–UpperCameCase, DO/BO/DTO/VO/AO/PO/UID等除外;方法名/参数名/成员变量名使用lowerCamelCase;常量命名全部大写,单词间下划线隔开;抽象类命名使用Abstract或Base开头;异常类命名使用Exception结尾;测试类命名以要测试的类的名称开始,以Test结尾;POJO类中布尔类型的变量,都不要加is前缀,否则部分框架解析会引起序列化错误;包名统一使用小原创 2020-10-18 15:18:13 · 193 阅读 · 0 评论 -
90 Java调优
有哪些参考因素可以体现系统的性能?CPU:例如,代码递归导致的无限循环,正则表达式引起的回溯,JVM 频繁的 FULL GC,以及多线程编程造成的大量上下文切换等,这些都有可能导致 CPU 资源繁忙。内存::内存成本要比磁盘高,相比磁盘,内存的存储空间又非常有限。所以当内存空间被占满,对象无法回收时,就会导致内存溢出、内存泄露等问题。异常:Java 应用中,抛出异常需要构建异常栈,对异常进行捕获和处理,这个过程非常消耗系统性能。数据库:大部分系统都会用到数据库,而数据库的操作往往是涉及到磁盘 I/O原创 2021-05-16 19:32:38 · 167 阅读 · 0 评论 -
数组相关知识
数据拷贝cloneint[] a1 = {1, 3};int[] a2 = a1.clone();System.arraycopypublic static native void arraycopy(Object src, int srcPos, Object dest, int destPos, int length);Arr原创 2021-12-14 15:14:05 · 136 阅读 · 0 评论 -
Java字节码结构/类的加载机制
要运行一段Java源码,必须先将源码转换为class文件,class文件就是编译器编译之后供虚拟机解释执行的二进制字节码文件.字节码结构类的加载机制原创 2022-02-12 11:57:27 · 83 阅读 · 0 评论 -
接口和抽象类
接口:用于定义对象的公共行为;可以定义方法和常量,普通方法是不能有具体实现的;在jdk1.8之后,接口可以创建static和default方法,可以有实现;接口中定义的变量默认为public static final类型;子类可以不重写接口中的static和default方法;抽象类:抽象类中可以包含普通方法和抽象方法;抽象方法不能有具体的代码实现;抽象类不能直接实例化;抽象类中属性控制符无限制;抽象方法不能使用private修饰子类继承抽象方法必须重写抽象方法,可以不重写普通方法;原创 2022-03-06 15:13:11 · 82 阅读 · 0 评论 -
牛客网一些题目的错误笔记
小杂碎原创 2022-09-01 20:32:03 · 303 阅读 · 0 评论 -
牛客JAVA问答题
链接:https://www.nowcoder.com/questionTerminal/82331a08576e4e9485de71fa54e12c7f来源:牛客网1、创建泛型对象的时候,一定要指出类型变量T的具体类型。争取让编译器检查出错误,而不是留给JVM运行的时候抛出类不匹配的异常。 2、JVM如何理解泛型概念 —— 类型擦除。事实上,JVM并不知道泛型,所有的泛型在编译阶段就已经被处理成了普通类和方法。 处理方法很简单,我们叫做类型变量T的擦除(erased) 。 总结:泛型代码与JVM ①原创 2023-03-29 10:19:29 · 336 阅读 · 1 评论