
JAVA基础知识总结及JDK源码分析
本专栏总结java基础信息以及对个别版本JDK源码进行分析,部分文章转载于网络,仅供交流学习。
Soinice
还记得99 年的那个春天,我把握住了机会,赶上了互联网的开头,我就是那只会飞的猪~
展开
-
Java 反射之Class类获取方法信息(返回值、方法名、参数)
Class类获取方法信息(返回值、方法名、参数)获取类的全名称 @Test public void getTest2() { Class<Student> studentClass = Student.class; // 获取类的全名称 System.out.println("获取类的全名称:" + studentClass.getName()); }获取返回值方法名以及参数一个成员方法就是一个 Method对象。原创 2021-11-10 17:24:18 · 5040 阅读 · 0 评论 -
Java 反射之Class类的使用
Class类的使用基本的数据类型的类类型 @Test public void getTest() { Class<Integer> integerClass = int.class; Class<String> stringClass = String.class; // Double 类的类类型(封装过的类类型) Class<Double> doubleClass = Double.cla原创 2021-11-10 17:22:41 · 787 阅读 · 0 评论 -
Java 反射之Class类动态加载类的用法
Class类动态加载类的用法Class.forName(“类的路径”)不仅仅表示了类的类型,还表示了动态加载类。输入类的路径,就可以获取到类的方法。在这里要区分编译和运行:编译时加载类静态加载类运行时加载类动态加载类静态加载类new创建对象是 静态加载类,在编译时就需要加载可能使用的类。问:那么我们能不能在使用到类就进行加载?答:使用动态加载类就可以完成。举例: Student student = new Student(); student.getSt原创 2021-11-09 16:18:38 · 1140 阅读 · 0 评论 -
Java 反射之Class类 (3种实现方式)
反射java 反射机制就是在程序运行状态中,对于任意一个类,都能够知道这个类的属性和方法。对于任意一个对象,都能够调用到他们的属性和方法。这种动态获取信息以及动态调用对象的方法的功能成为 java 语言的反射机制。实现方式Class 类的使用;方法的反射;成员变量的反射;构造函数的反射;Java 类加载机制;Class 类...原创 2021-11-03 18:46:25 · 453 阅读 · 0 评论 -
Java基础之HashMap常用遍历以及性能分析
HashMap遍历-keySetpackage com import java.util.HashMap;import java.util.Map;/** * @author imenger * @date 2020/6/30 3:34 下午 */public class TestMap { public static void main(String[] args) { Map<String, Integer> userMap = inputM原创 2020-07-01 10:13:25 · 347 阅读 · 0 评论 -
Java 关键字之abstract用法
本篇文章主要分析abstract修饰符的用法,abstract和接口的比较以及常见的面试题。abstract 简介字面意思抽象,原创 2020-06-09 18:47:13 · 1235 阅读 · 0 评论 -
Java基础之List、Set、Map的区别
Interface Collection<E>里面有什么子类list和set是实现了collection接口的。Interface List<E> 可以允许重复的对象。 可以插入多个null元素。 是一个有序容器,保持了每个元素的插入顺序,输出的顺序就是插入的顺序。 常用的实现类有ArrayList、LinkedList...原创 2019-06-11 20:34:54 · 306 阅读 · 0 评论 -
Java基础之一个 ArrayList 就能让你面试到哭!
一个 ArrayList 就能让你面试到哭!我觉得这句话一点也不夸张。阅读本文让你彻底了解ArrayList 吧!在开始之前,我们先来简单的回顾一下ArrayList 吧!Java基础之ArrayList源码分析ArrayList 中 elementData 为什么使用 transient 修饰? /** * The array buffer into whi...原创 2019-05-28 18:20:31 · 1259 阅读 · 0 评论 -
Java基础之ArrayList源码分析
ArrayList是Java开发中使用比较频繁的一个类,通过对源码的解读,可以了解ArrayList的内部结构以及实现方法,清楚它的优缺点,以便我们在编程时灵活运用。原创 2019-05-28 16:07:28 · 324 阅读 · 0 评论 -
Java基础之Map的clear和new的区别
void clear();从此映射中删除所有映射。 此调用返回后,Map将为空。new HashMap<>();使用默认初始容量(16)和默认加载因子(0.75)构造一个空的HashMap。Map<K,V>的clear和new的区别// 将Map放入List看一下效果,下面是代码演示方案一: public static void ma...原创 2019-05-27 15:03:35 · 3982 阅读 · 0 评论 -
Java基础之String,StringBuilder,StringBuffer三者的区别
这个问题也是面试中很多人都会去问的。这三个类之间的区别主要是在两个方面,即运行速度和线程安全这两方面。String,StringBuilder,StringBuffer 运行速度首先说运行速度,或者说是执行速度,在这方面运行速度快慢为:StringBuilder > StringBuffer > String为什么 String 最慢 String最慢的原因:...原创 2018-12-04 11:14:51 · 212 阅读 · 0 评论 -
Java基础之基本数据类型到底是几种?
如果连基本数据类型都不知道,恐怕是还没入门。当然,有些人不去记,肯定不知道。就知道常用的有 int。其他,没了。此文只是说明 基本数据类型有几种?具体 区别 另行查看其它文章。基本数据类型到底有几种?7种?在我的脑海中,好多人还以为常用的基本类型有7种,当然,如果这么说出去,别人会笑话死。好多人还都会问String是不是基本数据类型。恩,加上String 应该是8种吧。...原创 2018-11-29 20:50:31 · 492 阅读 · 0 评论 -
Java基础之 String.trim() 究竟去掉了什么?
目录说在前面trim()trim()方法去掉了哪些空格?trim()方法 源码trim() 究竟去掉了什么?trim()/substring()怎样返回字符串对象?总结说在前面某一天,有人问我,String.tirm()是做什么的?我的回答是:去除两边空格字符串。“确定吗?中的能能去吗?”……trim()trim()方法去掉了哪些空格?为...原创 2018-11-29 20:11:38 · 7240 阅读 · 0 评论 -
Java 关键字之Static用法常见面试题整理
1)写出 main 函数执行后输出的结果结果:原创 2018-11-25 23:14:26 · 406 阅读 · 0 评论 -
Java 关键字之Static用法
目录static 简介static 用法修饰成员变量修饰成员方法静态块静态导包总结Q&A为什么main方法是静态的(static)static 简介 在《Java编程思想》P86页有这样一段话: “static方法就是没有this的方法。在static方法内部不能调用非静态方法,反过来是可以的。而且可以在没有创建任何对象的前提下,仅仅通过...原创 2018-11-14 15:11:20 · 240 阅读 · 0 评论 -
Java基础之方法重载(Overload)
同一个类中的多个方法可以有相同的方法名称,但是有不同的参数列表,这就称为方法重载(method overloading)。重载(overloading) 是在一个类里面,方法名字相同,而参数不同。返回类型可以相同也可以不同。每个重载的方法(或者构造函数)都必须有一个独一无二的参数类型列表。最常用的地方就是构造器的重载。参数列表又叫参数签名,包括参数的类型、参数的个数、参数的顺序,只...原创 2018-11-07 18:45:54 · 521 阅读 · 0 评论 -
Java基础之集合List<map>进行排序
现有以下集合List<Map<String,String>>,集合中元素Map中主要包含“code”,“name”等属性,要求按code升序,name降序的顺序对集合进行重新排序;实现Collections接口进行排序1,先根据需求封装List<Map<String,String>> public static void mai...原创 2018-11-06 19:58:31 · 4269 阅读 · 0 评论 -
Java基础之字符串数组Array进行去重
写出一段算法,用于对字符串数组进行去重,要求尽量简洁举例:* 输入:* {"cc","dd","aa","cc","gg","dd","ee"}* 输出:* {"cc","dd","aa","gg","ee"}ArrayList去重通过list.c原创 2018-11-05 15:14:13 · 1936 阅读 · 0 评论 -
Java基础之String 是否包含该字符串,使用 contains 和 indexOf 的区别
判断该字符串是否包含某个字符串:1、一般会用到String的contains,如果包含则返回true,否则返回false。@Testpublic void contains_Test() { String one = "a"; String two = "abc"; System.out.println(one.contains(two));// false System.ou...原创 2018-08-03 12:38:31 · 12733 阅读 · 1 评论 -
java基础之compareTo比较两个日期的大小
处于对compareTo(BigDecimal val)的理解,以前我一直以为,如果大于的话compareTo的返回值应该是1,等于的话是0,小于的话是-1,最后打出来,看了一下,如果大于的话返回的是正整数,等于是0,小于的话就是负整数,而不仅仅局限于1,0和-1。日期格式进行比较源码:栗子:日志打印:分析:类似于:compareTo(BigDecimal val)日期String格式进行比较源码...原创 2018-06-12 11:54:01 · 11420 阅读 · 0 评论 -
Java 递归操作实现邀请关系
单独抽出,递归查询:原创 2018-06-07 15:47:59 · 1550 阅读 · 0 评论 -
Java基础之对List集合的常用操作
1.list中添加,获取,删除元素; 添加方法是:.add(e); 获取方法是:.get(index); 删除方法是:.remove(index); 按照索引删除; .remove(Object o); 按照元素内容删除; 1 2 3 4 5 6 7 8 9 10 11 12 13...原创 2018-05-24 16:54:25 · 783 阅读 · 0 评论 -
Java基础之Integer和int的区别
1 int与Integer的基本使用对比1、Integer是int提供的封装类,而int是Java的基本数据类型;2、Integer默认值是null,而int默认值是0;3、声明为Integer的变量需要实例化,而声明为int的变量不需要实例化;4、Integer是对象,用一个引用指向这个对象,而int是基本类型,直接存储数值。2 int与Integer的深入对比(1)由于Integer变量实际上...原创 2018-05-23 19:41:40 · 340 阅读 · 0 评论