![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java基础---深入理解
文章平均质量分 84
时空恋旅人
坚持不懈的学习态度和坚韧的人生品质
展开
-
java基础---深入理解(目录)
1.java 基础语法,类型转换,访问控制权限,运算符java基础--01(基础语法数据类型,访问控制权限,基本逻辑语句)2.面向对象特征(封装,继承,多态,接口,抽象类,内部类,构造器,关键字 static,final,equals,hashCode)java基础--02(面向对象以及初始化) java基础--09(深入理解hashCode()方法和HashMap)3.异常j...原创 2019-11-23 19:37:31 · 792 阅读 · 0 评论 -
java基础--14(反射)
1.反射机制的作用 在运行时分析类的能力 在运行时查看对象,例如编写一个toString方法供所有的类使用, 实现通用的数组操作代码 利用Method对象2.检查类的结构 现在有两个类package com.wx1.test4;import java.time.LocalDateTime;import java.util.Objects;...原创 2019-11-23 19:20:44 · 180 阅读 · 0 评论 -
java基础--15(枚举)
目录1.认识枚举2.常用的API3.枚举的常用方式1.认识枚举 枚举是java5加入的特性了,说起来也不算是新的东西了,枚举有很多深入的用法,这里只说一些简单的用法。因为太复杂的我也不懂,下面定义一个简单的枚举,这就是一个最简单的枚举。public enum Type { OPEN, CLOSE}所有的枚举都是Enum的子类,首先枚举是一个...原创 2019-11-13 22:38:54 · 192 阅读 · 0 评论 -
java基础--22(java8新特性--时间和日期的API)
1.几个重要的类 LocalDate,LocalDateTime,LocalTime,Instant,Duration 以及 Period,TemporalAdjusters,DateTimeFormatter2.本地时间 LocalDate,LocalDateTime,LocalTime这三个为本地时间,生日,假日,计划等通常都会表示成本地时间,创建和使用的方法都差不...原创 2019-11-27 14:08:50 · 292 阅读 · 0 评论 -
java基础--01(基础语法数据类型,访问控制权限,基本逻辑语句)
1.目录1.目录1.javac命令和java命令做什么事情呢?2.数据类型:3.java运算符优先级4.基本逻辑语句5.访问控制权限6.java基本的内存划分1.javac命令和java命令做什么事情呢? 要知道java是分两部分的:一个是编译,一个是运行。 javac:负责的是编译的部分,当执行javac时,会启动java的...原创 2018-12-16 22:18:37 · 289 阅读 · 0 评论 -
java基础--02(面向对象以及初始化)
目录1.面向对象的特征2.抽象类:abstract3.接口4.初始化5.构造函数6.成员变量和局部变量的区别:7.构造代码块和构造函数有什么区别?8.this关键字(三个用法)9.final关键字10.static关键字11.数组的初始化12.创建一个对象都在内存中做了什么事情?13.初始化的总结14.equals()与hashCo...原创 2018-12-24 23:07:55 · 474 阅读 · 0 评论 -
java基础--03(异常以及异常的处理)
目录1.异常2.throw和throws关键字的区别:3.异常类型:4.自定义异常类:5.异常面试1.异常 当我们往外抛出异常的对象的时候,异常的对象将会在堆上new出来,这就伴随着存储空间的分配和构造器的调用,所有的标准异常都有两个构造器,一个默认,一个接收字符串作为参数。这个字符串的内容怎么提取? 只能在代码中忽略RuntimeExcep...原创 2019-01-04 13:57:46 · 246 阅读 · 0 评论 -
java基础--04(字符串)
目录1.字符串1.字符串 特点:字符串一旦被初始化,就不可以被改变,存放在方法区中的常量池中。 虚拟机必须为每个被装载的类型维护一个常量池。常量池就是该类型所用到常量的一个有序集合,包括直接常(string,integer和 floating point常量)和对其他类型,字段和方法的符号引用。 先思考这几个问题: ...原创 2019-01-05 17:12:11 · 251 阅读 · 0 评论 -
java基础--05(java常量池)
目录1.java常量池1.java常量池 之前汪先生在字符串的博客提到过字符串的常量池,但是今天又遇到一个题,所有有必要把常量池学习一下。首先为什么要有常量池这个东西?Java采用“动态链接”,与普通程序不同的是,Java程序(class文件)并不是本地的可执行程序;当运行Java程序时,首先运行JVM,然后再把Java class加载到JVM里头运行,负责加载Java...原创 2019-02-12 11:20:17 · 506 阅读 · 0 评论 -
java基础--06(自动装箱拆箱)
目录1.自动装箱,自动拆箱1.自动装箱,自动拆箱 装箱就是自动将基本数据类型转换为包装器类型;拆箱就是 自动将包装器类型转换为基本数据类型。 java的数据类型: 自动装箱:最主要的就是Integer b=a;这行代码执行了什么?其实这就是自动装箱的过程,上面程序在执行Integer b=a;的时候调用了Integer.value...原创 2019-02-11 16:40:27 · 12713 阅读 · 18 评论 -
java基础--07(java泛型)
1.java泛型 需要理解泛型的边界在哪里?只有理解边界所在,你才能成为程序高手,因为只有知道了某个技术不能做什么,你才能更好的做到所能做的。 jdk1.5版本以后出现的一个安全机制。表现格式:<>只要带有<>的类或者接口,都属于带有类型参数的类或者接口,在使用这些类或者接口时,必须给<>中传递一个具体的引用数据类型。...原创 2019-06-02 20:36:56 · 266 阅读 · 0 评论 -
java基础--08(容器总览)
1.java集合体系 1.集合和数组的区别: 1:数组是固定长度的;集合可变长度的。 2:数组可以存储基本数据类型,也可以存储引用数据类型;集合只能存储引用数据类型。 像这种情况系统会自动将i装箱为Integer类型的对象然后再存入set集合中 3:数组存储的元素必须是同一个数据类型;集合存储的...原创 2019-01-06 16:50:30 · 218 阅读 · 0 评论 -
java基础--16(注解)
1.java注解 注解是在一定的程度上把元数据与源代码文件文件结合在一起,而不是保存在外部文档中这一大势下所催生的。 注解是jdk1.5后加入的新特性,可以理解为是一种标识,可以用在类、方法、属性...等上面,然后我们可以对这样有特殊标识的类做相应处理。java注解是附加在代码中的一些元信息,用于一些工具在编译、运行时进行解析和使用,起到说明、配置的功能。注解不会也不能影响代码的实...原创 2019-06-12 12:28:40 · 2021 阅读 · 0 评论 -
java基础--17(IO)
1.java的IO体系 文件读写的基本类(io) 输入流:文件到程序 输出流:程序到文件 技巧;数据向内存流动就是输入流,反之就是输出流 java的流分两种:字节流和字符流 字节流:以字节为单位去读取的 可以用于读写二进制文件以及任何类型的文件 接口:InputStream OutputStream 类...原创 2019-01-06 17:41:48 · 228 阅读 · 0 评论 -
java基础--20(Socket)
如果不知道tcp或udp可以看汪先生的博客网络层1.socket就是为网络服务提供的一种机制,通信的两端都有Socket,网络通信其实就是Socket间的通信,数据在两个Socket间通过IO传输。2.UDP传输: 1,只要是网络传输,必须有socket。 2,数据一定要封装到数据包中,数据包中包括目的地址、端口、数据等信息。 直接操作udp...原创 2019-01-19 21:11:43 · 123 阅读 · 0 评论 -
java基础--21(java8新特性--Lambda,函数式接口,流)
1.java8重要的新特性 lambda表达式 函数式接口 接口中可以定义非抽象方法 Stream 1.Lambda表达式 Lambda表达式(也称为闭包)是Java 8中最大和最令人期待的语言改变。它允许我们将函数当成参数传递给某个方法,或者把代码本身当作数据处理:函数式开发者非常熟悉这些概念。很多JVM平台上的语言(Groovy、Sc...原创 2019-07-09 17:02:58 · 554 阅读 · 0 评论 -
java基础--16Optional避免空指针异常
https://mp.weixin.qq.com/s/SX1puW0KSuCcwi4MI5jLGg1.Optional在JAVA8中引入了一个新的类Optional,用于专门解决非空判断这个问题,先举一个之间如何防止空指针异常而多次的对对象进行非空判断.public static String getInsuranceDeepName(Person person){ if(p...原创 2019-08-05 22:12:35 · 696 阅读 · 0 评论 -
java基础--19动态代理
目录1.静态代理2.JDK动态代理3.CGLib的方式实现动态代理4.JDK动态代理和CGLib动态代理的区别1.静态代理 代理是一个基本的设计模式,代理通常充当着中间人的角色。只要逆向将额外的操作,从实际对象中分离到不同的地方的时候,特别是当你希望很容易的做出修改,从没有额外的操作转为使用这些操作的时候。就用代理。 先来看一个简单的代理 先来一...原创 2019-08-24 20:05:59 · 155 阅读 · 0 评论 -
java基础--18类型信息
1.RTTI作用 有这样的一个问题,如果想知道某个泛化引用的确切类型,怎么做?比如假设允许用户将某一具体类型的几个形状都变成某种特殊的颜色,通过这种方式,用户就能找出屏幕上突出显示的三角形。使用RTTI就可以找到确切的类型,选择或者剔除他们。2.Class对象 类型的信息在运行时的表示是有Class对象完成的,他包含了与类有关的信息,他包含了与类有关的信息,他被保存在一个同...原创 2019-08-24 15:58:40 · 237 阅读 · 0 评论 -
java基础--09(深入理解hashCode()方法和HashMap)
1.理解哈希表 汪先生的博客哈希表 2.理解hashCode()方法 每个Object对象都有一个hashCode()方法: 返回的是一个int类型的数据,还是一个native本地方法,什么是本地方法? 1.1什么是本地方法? 简单地讲,一个Native Method就是一个java调用非java代码的接口。一个Native Me...原创 2019-02-11 10:58:54 · 454 阅读 · 0 评论 -
java基础--19Java序列化(Serializable)
目录1.何为序列化,为什么需要序列化2.序列化的方式3.自定义序列化4.版本管理:1.何为序列化,为什么需要序列化 如果我们将对象保存到磁盘或者进行网络传输,必须将这个对象进行序列化,即实现Serializable接口,如果不进行序列化,那么保存对象到磁盘的时候会报错,即磁盘IO操作对象的时候会报错: 说到底就是对象的格式不正确,必须通过序列化将...原创 2019-11-05 10:23:15 · 1016 阅读 · 0 评论 -
java基础--13(CopyOnWriteArrayList详解)(转载)
大家对线程安全容器可能最熟悉的就是ConcurrentHashMap了,因为这个容器经常会在面试的时候考查。比如说,一个常见的面试场景: 面试官问:“HashMap是线程安全的吗?如果HashMap线程不安全的话,那有没有安全的Map容器” 3y:“线程安全的Map有两个,一个是Hashtable,一个是ConcurrentHashMap” 面试官继续问:“那H...原创 2019-10-28 13:41:09 · 218 阅读 · 0 评论