![](https://img-blog.csdnimg.cn/20190927151043371.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
JavaSE
文章平均质量分 62
该专栏存放了博主的JavaSE的总结文章,仅对知识点的使用做了记录,但未做详细的讲解和介绍,日后会重构该专栏的文章或者重新开一个专栏用于此方面的记录。
charon2002
这个作者很懒,什么都没留下…
展开
-
java中的容器添加null的测试
文章来自转载,原文链接:https://www.jianshu.com/p/92d22bc2e2d1昨天写代码的时候需要往容器中添加null,所以主要测试了几个常见的容器能否添加null的情况,如下:public class TestNull { public static void main(String[] args) { //HashMap 允许null-null键值对 Map<String,String> hashMap = ne.转载 2021-12-18 14:27:06 · 232 阅读 · 0 评论 -
Java常用类——String、StringBuffer、StringBuilder
String类字符串的创建字符串存放在公共的存储池中,字符串变量指向存储池中相应的位置。如果复制一个字符串变量,原始字符串和复制的字符串共享相同的字符串。Java的设计者认为共享带来的高效率渊源胜过于提取子串、拼接字符串带来的低效率/*"123"这个字面常量会存储在方法区中的字符串常量池中,栈中的s1会存储这个字面常量的引用。若常量池中已有这个字符串,则直接返回这个字符串的引用*/String s1 = "123";、/*JVM会在常量池中创建一个"abc",在堆创建一个String对象原创 2021-11-20 22:02:39 · 436 阅读 · 0 评论 -
Java常用类——Math类
在Math类中,包含了各种各样的数学函数和常量。Math类位于java.lang包下,Math类中的方法和字段都是静态的,因此可以使用类名来调用。Math类的构造方法是私有的,也new不出来它的实例对象。不必在数学方法名和常量名前添加前缀“Math”,可以采用静态导入的方式,导入所有的静态方法和静态字段。常用字段//e和π的最接近的近似值public static final double E = 2.7182818284590452354;public static final double原创 2021-11-20 21:43:35 · 945 阅读 · 0 评论 -
IEEE 754浮点数工业标准
数符:浮点数的符号,0表示正数,1表示负数。阶码:浮点数的指数,用移码表示,基数默认为2。尾数:“尾数”又可称之为“精度”,即对表达结果精确程度产生重要影响的数,也就是常说的significant digits,缩写后为significand(有效数,尾数)。用原码表示。浮点数有三种格式:单精度浮点数,双精度浮点数,扩充的单精度浮点数,扩充的多精度浮点数。计算机主要使用3种形式的IEEE 754浮点数。...原创 2021-11-12 20:03:45 · 1447 阅读 · 0 评论 -
Java数据库连接——JDBC详述
文章目录JDBC概述IDEA导入jar包JDBC编程六步第一步:注册驱动第一种方式:第二种方式(类加载的方式):第二步:获取数据库连接对象第三步:获取数据库操作对象第四步:执行SQL第五步:处理查询结果集(对于DML语句可以跳过这步)第六步:释放资源完整的编程六步示例通过配置文件获取所需信息的实现方式SQL注入现象SQL注入概述:导致SQL注入的根本原因是什么?SQL注入示例PreparedStatement解决SQL注入问题Statement和PreparedStatement对比Statement的使用原创 2021-11-12 00:03:29 · 1231 阅读 · 0 评论 -
JavaSE——基本的输入与输出
Scanner类Scanner类用于获取“标准输出流”(即控制台)上的输入。Scanner(InputStream in); //用给定的输入流创建Scanner对象String nextLine(); //读取输入的下一行内容(可以获得输入有效字符之前的空白,碰到换行符结束读取。)String next(); //读取输入的下一个单词(会忽略有效输入以前的所有空白,碰到空白结束读取)boolean hasNext(); //检测输入中是否还有其他单词。boolean ha原创 2021-11-08 19:45:33 · 257 阅读 · 0 评论 -
JavaSE——数组详解
数组的特性Java中的数组有一些令人十分困惑的地方。在Java中,数组是引用数据类型,引用类型的数据被创建时,首先要在栈上给其引用(句柄)分配一块内存,而它的具体信息都存储在堆内存上,然后由栈上面的引用指向堆中对象的地址。而令人困惑之处在于:数组是引用数据类型,那它是不是对象呢?我们从以下几点进行探讨:要判断数组是不是对象,那么首先明确什么是对象,也就是对象的定义。在较高的层面上,对象是根据某个类创建出来的一个实例,表示某类事物中一个具体的个体。对象具有各种属性,并且具有一些特定的行为。而在较低的原创 2021-11-07 20:51:00 · 234 阅读 · 0 评论 -
JavaSE——集合
集合Collection接口该接口继承了Iterable接口和它的iterator()方法,用于遍历集合元素interface Collection<E> extends Iterable<E>添加元素boolean add(Object obj);boolean addAll(Collection c);移除元素boolean remove(Object obj);boolean removeAll(Collection c); //移除所有与c集合共原创 2021-11-05 14:16:27 · 55 阅读 · 0 评论 -
JavaSE——泛型详解
泛型概述:引入的原因:一个特殊的栗子:原理:原始类型:结论:泛型的作用:突破泛型约束:泛型的使用:泛型类泛型接口:泛型方法:通配符"?"的使用:概述:泛型,即“参数化的类型”,指将类型定义成参数形式(可以称之为类型形参),然后在使用/调用时传入具体的类型(类型实参)。引入的原因:引入泛型我觉得最主要的原因是使得程序更为灵活,去掉许多冗余不必要的代码。最直接的例子就是方法重载,比如需要设计一个计算器,仅针对加法运算的方法,我们就需要仅因为参数的类型的差异而需要设计很多重载的方法,这些代码看上去都是很相原创 2021-11-02 20:23:49 · 126 阅读 · 0 评论 -
JavaSE——常用类
Java常用类Object类String类Object类所有类的之间父类或间接父类,在类的定义的时候,若没有显示extends继承某个类,则默认继承自Object类//Object类中的方法getClass(); //返回当前对象所在类的Class对象,每个类只有一个Class对象hashCode(); //返回当前对象的哈希编码equals(Object obj); //判断两个对象是否相等,比较的是两个对象引用是否相等clone(); //返回该对象的一个拷贝,是浅拷贝t原创 2021-10-30 22:44:17 · 75 阅读 · 0 评论 -
Integer缓冲池
Integer缓冲池我们在使用装箱valueOf的时候会出现一些这样的情况:Integer i1 = 100;Integer i2 = 100;System.out.println(i1 == i2); //true结果是true,但是i1和i2是引用数据类型,指向的是在堆中的不同对象,比较的结果应该是false,接着看:Integer i1 = 250;Integer i2 = 250;System.out.println(i1 == i1); //false可以看到,比较的结果又是原创 2021-10-31 18:39:36 · 190 阅读 · 0 评论 -
JavaSE——线程详解
JavaSE——线程详解程序、进程、线程线程的创建方式一(Thread):方式二(Runnable):方式三(Callable):Lambda表达式线程控制线程的状态:线程状态的转换:线程的主要方法:停止线程线程休眠线程礼让线程插队线程状态观测线程优先级守护线程线程互斥和同步操作系统中的进程互斥与同步Java中的线程互斥和同步线程互斥**synchronized方法****synchronized块**Lock锁优先使用顺序线程同步线程通信的几个方法:实现线程同步的示例(以生产者-消费者模式为例):线程池方原创 2021-10-28 17:28:12 · 164 阅读 · 0 评论 -
JavaSE——注解、反射、Java内存分析
注解、反射、Java内存分析一、注解什么是注解?Java语言自带的几个基本注解注解的使用元注解自定义注解二、反射什么是反射机制?Class类1. 哪些类型可以有Class对象2. 获取Class类的实例3. Class类常用方法通过反射机制获取类的信息通过反射机制调用构造器、方法、属性通过反射机制操作泛型通过反射操作注解三、Java内存分析简易JVM内存模型深入理解JVM内存模型类加载过程什么时候一定会发生类的初始化?(主动引用)什么时候不会发生类的初始化?(被动引用)类加载器双亲委派机制一、注解什么是原创 2021-10-25 19:51:07 · 157 阅读 · 0 评论 -
JavaSE——代码块
普通代码块在方法或语句中出现的{}称为普通代码块。普通代码块和一般语句执行顺序是先出现先执行。构造代码块在类中定义且没有加static关键字的{}称为构造代码块。构造代码块在创建对象时被调用,每次创建对象都会被调用,并且构造代码块的执行次序优先于类构造函数。如果存在多个构造代码块,执行顺序由他们在代码中出现的次序决定,先出现先执行。静态代码块在类中定义且加static关键字的{}称为静态代码块。静态块用于初始化类,为类的属性初始化。每个静态代码块只会执行一次。由于JVM在加载原创 2021-10-03 17:06:49 · 75 阅读 · 0 评论 -
JavaSE——异常篇
异常异常分为两大类:Error、Exceptionthrow方法主动抛出异常throws方法将处理不了的或者暂时不需要处理的异常向上抛出,由调用者处理,如果调用者也处理不了则继续上抛,如果到了main方法还没有处理,则程序就会异常终止。try-catch-finally try{ //有可能出现异常的代码; }catch(异常类型 异常类型变量){ //对出现的异常做出一些处理,执行完毕后类似break语句,跳出捕获语句,继续执行后面的语句原创 2021-10-03 16:51:58 · 79 阅读 · 0 评论 -
JavaSE—— 面向对象篇
面向对象类和对象的创建//类的定义public class 类名{ //一个.java源文件可以由多个类,但只能有一个public的类,并且 public的类名必须与文件名一致,如果只有一个类,也可以不用加 public。 //成员变量的定义 private String name; //实例变量、对象变量、 public static int count = 0; //类变量、静态变量 public final int PI = 3.14 //常量原创 2021-09-28 23:42:41 · 95 阅读 · 0 评论 -
Java —— 流程控制篇
选择结构if语句if/else语句if/else if 多分支语句switch语句循环结构while循环do while循环for循环增强for循环中断控制语句break带标签的breakcontinuegoto选择结构原创 2021-09-26 22:41:35 · 67 阅读 · 0 评论 -
JavaSE —— 基础语法篇
基础语法注释//单行注释/** 多行注释*//*** 文档注释,该注释信息会被javadoc.exe工具解析提取并生成帮助* 文档。* @author 作者名* @version 版本号* @since 指明需要最早使用的版本号* @param 参数名* @return 返回值* throws 异常抛出情况*/或者使用idea里面的tools->Generate javadocencoding和charset的区别标识符和关键字标识符是程序员定义的变原创 2021-09-26 19:02:06 · 197 阅读 · 0 评论