JAVA基础
文章平均质量分 92
上帝视角解锁JAVA
洗个澡
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
上帝视角学JAVA- 基础20-jdk8新特性-(基础完结)【2021-09-10】
1、Lambda 表达式我们可以把Lambda表达式理解为一段可以传递的代码。使用它可以写出更简介、更灵活的代码。实质是对编码风格的改变。并不会影响代码执行的结果。简单来说,你还是你,只是换了一件新衣服、更帅了。前面讲的 ProxyFactory 类public class ProxyFactory { /** 调用此方法,返回一个代理类对象 **/ public static Object getProxyInstance(Object obj) { ...原创 2021-09-10 16:05:35 · 248 阅读 · 0 评论 -
上帝视角学JAVA- 基础19-反射、动态代理【2021-09-10】
1、反射反射是 JAVA 神奇的关键。反射机制 允许程序在执行期间借助与 Reflection API 获取任意类的内部信息,并能直接操作任意对象的内部属性以及方法。加载完类之后,在堆内存的方法区就产出了一个Class类型的对象。我们定义的所有的类都是 Class类型的对象。一个类只有一个Class对象。我们定义的类的对象,属于Class对象的对象。这个Class对象包含了完整的类的结果信息。可以通过获取这个对象,来获取类的结构。这个对象就像一面镜子,通过这个镜子看到类的结构,称为反射。原创 2021-09-10 10:52:50 · 283 阅读 · 0 评论 -
上帝视角学JAVA- 基础18-网络编程【2021-09-07】
1、网络编程1、如何定位网络上的主机?IP 地址: 定位主机位置端口号: 主机上的应用程序。电脑上很多程序,比如微信,qq,浏览器等。这个用来定位到底是那一个程序来通信。2、定位之后如何进行数据传输?一定的规则。OSI 参考模型或者TCP/IP 协议TCP/IP 协议 是事实上的协议,OSI 没有在英特网上广泛应用。协议是对 速度、传输代码、代码结构、传输控制步骤、出错控制等制定标准制定协议时,采用协议分层思想,把复杂的问题划分为简单的多个成分,最后在组合起来。最常用..原创 2021-09-07 08:36:41 · 307 阅读 · 0 评论 -
上帝视角学JAVA- 基础17-IO流【2021-09-03】
1、IO流用于处理设备之间的数据传输。不仅仅是内存到硬盘,还包括不同设备之间通过网络进行传输。涉及到输入输出就需要使用IO流I input 输入O output 输出输入输出是一个相对概念。以内存为中心,内存到硬盘就是输出、硬盘到内存就是输入。以硬盘为中心,内存到硬盘就是输入,硬盘到内存就是输出。JAVA写的是程序,程序运行在内存当中,因此,JAVA 是以内存为中心谈输入与输出。外界内容到内存中,叫做输入。内存到外界,叫做输出。流的分类:按照操作数据的单位..原创 2021-09-03 10:56:41 · 270 阅读 · 0 评论 -
上帝视角学JAVA- 基础16-泛型、文件类【2021-08-30】
1、泛型1.1 为什么要有泛型泛型就是 标签的意思。看看泛型长什么样public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializable{}上面的代码是 ArrayList 类去除类体部分。 <>里面的E就是 泛型的一种写法。泛型一定要放在<> 吗?...原创 2021-08-30 14:03:04 · 272 阅读 · 0 评论 -
上帝视角学JAVA- 基础15-集合02【2021-08-30】
1、Map 接口map即映射,存储一一对应关系。key-value形式。key必须唯一。value可以相同。public interface Map<K,V> { int size(); boolean isEmpty(); boolean containsKey(Object key); boolean containsValue(Object value); V get(Object key); ...原创 2021-08-30 13:46:37 · 270 阅读 · 0 评论 -
上帝视角学JAVA- 基础14-集合01【2021-08-20】
1、集合概述为了方便的对对象进行操作和存储,Java 提供了集合这个工具。前面已经讲过了使用数组来进行数据存储,但是数组有很多弊端,比如不支持动态扩展,一旦声明了数组元素类型就不可再变。 数组初始化之后,长度就固定了,不利于拖拽 声明了类型之后,就不可再变 数组提供的属性和方法少,不利于添加、删除、插入等操作,而且效率较低。同时无法直接获取存储元素的个数 数组存储元素是有序的,可重复的。特点单一 为了解决这些缺点,出现了集合。共同点: 都是用来对数据的存原创 2021-08-20 09:32:17 · 234 阅读 · 0 评论 -
上帝视角学JAVA- 基础13-枚举、注解【2021-08-18】
1、枚举类JDK5.0之后,引入的专门的关键字 enum 定义枚举类什么时候用枚举,同类事物可以有限穷举时。比如小于 7的正整数: 1、2、3、4、5、6人的时期划分:婴儿期、幼年期、青年期、中年期、老年期订单的过程:新建订单、待付款、已付款、已发货、已确认、售后中、售后完成。像上面这些情况就比较适合用枚举来定义。定义一组常量,也适合使用枚举类。1.1 JDK 5.0 之前定义枚举类5.0之前都是自定义枚举类:其实也是一个普通类,只不过对属性、构造器等做了要求。原创 2021-08-18 15:11:16 · 268 阅读 · 0 评论 -
上帝视角学JAVA- 基础12-常用类02-时间类相关【2021-08-17】
1、System 类这个类的构造器是私有的,所有不能创建这个类的对象。要想使用,只能是通过调用其静态方法。1.1、currentTimeMillis() 静态方法获取当前时间与1970年1月1日0时0分0秒的时间差,单位为毫秒,返回值是一个long型数。这种毫秒数通常叫做时间戳。以下统一叫做时间戳。long l = System.currentTimeMillis();1.2 exit 方法exit(int status) 退出程序, 参数status为 0 表示正常退出。非0原创 2021-08-17 09:24:06 · 338 阅读 · 0 评论 -
上帝视角学JAVA- 基础11-常用类01-String类相关【2021-08-10】
1、String 类1.1 String 字符串 字符串是常量,代表不可变的字符序列。 常量与不可变的变量不同。虽然都是不能改变。一个是常量,一个还是变量 字符串的值在创建之后就不能更改。 String 对象的字符内容是存储在一个字符数组 value[] 中的 public final class String implements java.io.Serializable, Comparable<String>, CharSequence ..原创 2021-08-10 19:07:04 · 211 阅读 · 0 评论 -
上帝视角学JAVA- 基础10-多线程【2021-08-08】
1、多线程程序、进程、线程 程序:完成特定任务、用某种语言编写的一组的指令的集合。即指的是一段静态的代码。 进程:是程序的一次执行过程,或者是正在运行的一个程序。是一个动态的过程。有产生、存在、消亡的过程,即有生命周期 进程作为资源分配的单位,系统在运行时为每个进程分配不同的内存区域。 线程:进程可进一步细化为线程,是一个程序内部的一条执行路径。 如果一个进程统一时间并行执行多个线程,就是支持多线程。 线程作为调度和执行的单位,每个线程拥有独立的运行栈、程序计数器,原创 2021-08-08 22:29:09 · 289 阅读 · 0 评论 -
上帝视角学JAVA- 基础09-异常【2021-08-08】
1、异常Exception 异常:程序执行中发送的不正常情况称为异常你写错了,逻辑错了不是异常。错误Error:JVM虚拟机无法解决的严重问题。如jvm内部错误,资源不足等。Error一般不针对代码进行处理。一般处理的是运行时异常以及编译时异常。常见的有 空指针异常、文件不存在异常、网络异常、数组下标越界异常等编译时异常就是从java文件到class文件时出现的异常运行时异常就是class文件被jvm运行时的异常。JAVA中定义的异常: 顶级类是 java.la.原创 2021-08-08 22:16:16 · 246 阅读 · 0 评论 -
上帝视角学JAVA- 基础08-类06【2021-08-07】
1、抽象类与方法前面讲多态的时候,就讲到了当Animal类 被Cat类所继承、也被Dog类所继承、假设再来Pig类继承、Bird类继承。。。这些比动物类Animal 具体一点点的类都继承Animal类,Animal类里面有speak方法,然后每一个子类都重写这个方法。当使用多态时,虽然接收的是Animal 类型的变量,但是new的确实一个个子类。执行的虽然是Animal类里面的speak方法名,但是执行的逻辑确是new出的子类中重写的speak方法逻辑。这个时候我们发现,Animal类里面这个s原创 2021-08-07 13:23:47 · 442 阅读 · 0 评论 -
上帝视角学JAVA- 基础07-类05【2021-08-06】
1、static 关键字static 翻译为中文就静态的为什么有静态的这个东西出来呢?考虑一下需求:以前我们讲过,类中的属性和方法是模板,是属于类的对象的东西。但是有些东西,我希望是每一个对象都有,而且都是一样的。不能被继承和重写。那么为了满足这个需求,这些东西就必须是属于类的,而不再属于类实例化的对象。因为属于对象可以被继承。而属于这个类,不能被继承。而且类就是一个模板,既然是属于模板,那么每一条他实例的对象都可以访问。由此,static关键字就出来了,static关键字就是 划分了属原创 2021-08-06 15:11:56 · 268 阅读 · 0 评论 -
上帝视角学JAVA- 基础06-类04【2021-08-05】
1、Object类Object类是所有类的最终父类。还记得父类的由来吗?是由于很多类有很多公共的东西,我们把它们的公共属性提取出来作为基类,其他类继承,就不能每个类都写一样的东西了。除了我们提取的公共方法,反过来思考,如果在基类中定义非私有方法,那么这个方法就会被继承。这可以用来干什么呢?可以用来定标准。JAVA设计者就可以规定,凡是类就必须有xxx方法。因为所有类继承了Object类,只需要在Object类中定义这个方法,其他类就都有了。所以,Object中的方法的由来有2方面的原因,原创 2021-08-05 10:42:44 · 257 阅读 · 0 评论 -
上帝视角学JAVA- 基础05-类03【2021-08-04】
1、继承性JAVA中 表示继承 的关键字是 extendsextends 英文含义是扩展,意味着子类不是父类的子集,而是父类的拓展。子类叫:subClass父类叫:supperclass为什么要有继承?当然是根据实际应用总结而来的。考虑以下场景: 场景:有一个Animal 类,再写一个Cat类、Dog类,你会发现Cat类、Dog类都是动物类Animal的子概念,但又不是具体的动物。比如Cat类,有各种各样的猫,Dog类有各种各样的狗,不是一个具体的狗。而是一个概念,对某一类原创 2021-08-04 08:57:43 · 312 阅读 · 0 评论 -
上帝视角学JAVA- 基础04-类02【2021-08-02】
1、类的特性-封装class是JAVA提供给我们自定义的数据类型的关键字。就是为了满足可以描述这世间的事物。这个数据类型有很多的特性。封装就是其一。所谓封装,就是将内部实现的细节隐藏起来,只对外暴露简单的方法,外界直接调用方法,而不必关系内部的实现逻辑。追求的高内聚、低耦合。 高内聚:类的内部数据操作细节自己完成,不允许外部干涉 低耦合:仅对外暴露少量的方法 其实,生活中很多这样的例子。如 用遥控器开空调,只需要按一下开关键即可。不需要知道空调内部到底是怎么执行的。1原创 2021-08-02 19:01:50 · 280 阅读 · 0 评论 -
上帝视角学JAVA- 基础03-类01【2021-08-01】
1、类与对象1.1 从基本数据类型到复杂的通用数据类型语言是通过数据来描述整个世界的。在最初的基本数据类型 int、char、byte、long、float、double、boolean为什么会有类?因为基本的数据类型不足以描述社会上的物品,事物。一个人,会有身高、体重、性别等等属性。身高可以用int 型描述、性别可以用float 型描述(以 0 为男性,1为女性)但是人怎么用int型描述呢? 你可以说,也行啊。0 表示 人,1 表示非人类。比如 int a; 这个a =原创 2021-08-01 15:36:49 · 330 阅读 · 0 评论 -
上帝视角学JAVA8- 基础02 【2021-07-31】
1、程序流程1.1 顺序是个人都知道。1.2 选择 if(布尔表达式){ //如果布尔表达式为true将执行的语句} if(布尔表达式){ //如果布尔表达式的值为true}else{ //如果布尔表达式的值为false} if(布尔表达式 1){ //如果布尔表达式 1的值为true执行代码}else if(布尔表达式 2){ //如果布尔表达式 2的值为true执行代码}else if(布尔表达式 3){ //如果...原创 2021-07-31 15:10:11 · 285 阅读 · 0 评论 -
上帝视角学JAVA8- 基础01 【2021-07-28】
说明:ans 代表 回答。-------------------------------------------------------------------------------------------------------------------------------1、为什么可以跨平台?通过不同操作系统的JVM版本,使得java可以运行在不同的操作系统。通过jvm实现跨平台!用户-java文件-class字节码文件-2、java的两种核心机制ans: Java虚拟原创 2021-07-28 18:42:09 · 272 阅读 · 0 评论
分享