javase学习
文章平均质量分 88
Pres1dent
这个作者很懒,什么都没留下…
展开
-
java1.8新特性
java新特性1. Lambda1.1 概述1.2 为什么使用Lambda1.3 和匿名内部类对比1.4 特点1.5 语法结构1.5.1 结构图1.5.2 语法特点1.5.3 语法案例1.6 练习1.6.1 集合遍历1.6.1.1 写法11.6.1.2 写法21.6.1.3 写法1.6.2 集合排序1.6.2.1 写法1.6.2.2 写法2. 函数式接口2.1 概述2.2 特点2.3 回调函数2.4 自定义函数式接口2.4.1 无参情况2.4.2 有参情况2.原创 2021-02-02 23:19:24 · 83 阅读 · 0 评论 -
网络编程&正则表达式
1. 网络编程1.1 概述Java是 Internet 上的语言,它从语言级上提供了对网络应用程 序的支持,程序员能够很容易开发常见的网络应用程序。Java提供的网络类库,可以实现无痛的网络连接,联网的底层 细节被隐藏在 Java 的本机安装系统里,由 JVM 进行控制。并 且 Java 实现了一个跨平台的网络库,程序员面对的是一个统一 的网络编程环境。1.2 网络基础计算机网络:把分布在不同地理区域的计算机与专门的外部设备用通信线路互连成一个规 模大、功能强的网络系统,从而使众多的计算机原创 2021-02-01 23:29:34 · 211 阅读 · 0 评论 -
多线程02
这里写目录标题多线程1.1 守护线程1.1.1 概述1.1.2 使用1.2 Timer1.2.1 概述1.2.2 使用1.3 死锁1.3.1 锁相关知识1.3.2 概述1.3.3 代码实现1.4 线程通信1.4.1 概述1.4.2 使用方式1.4.3 面试题之生产者与消费者1.5 单例模式1.5.1 概述1.5.2 之前的编码1.5.3 问题-多线程环境下不行1.5.3.1 分析原因1.5.3.2 解决方案11.5.3.3 解决方案21.6 线程池1.6.1 概原创 2021-01-31 21:15:15 · 100 阅读 · 0 评论 -
多线程01
1.多线程1.1 基本概念:程序、进程、线程程序(program)是为完成特定任务、用某种语言编写的一组指令的集合。即指一 段静态的代码,静态对象。进程(process)是程序的一次执行过程,或是正在运行的一个程序。是一个动态的过程:有它自身的产生、存在和消亡的过程。——生命周期如:运行中的QQ,运行中的MP3播放器程序是静态的,进程是动态的进程作为资源分配的单位,系统在运行时会为每个进程分配不同的内存区域线程(thread),进程可进一步细化为线程,是一个程序内部的一条执行路径。若一个原创 2021-01-28 22:34:44 · 135 阅读 · 0 评论 -
IO_02
1IO1.1 数据流1.1.1 概述为了方便地操作Java语言的基本数据类型和String的数据,可以使用数据流。数据流有两个类:(用于读取和写出基本数据类型、String类的数据)DataOutputStream按照一定的格式输出,再通过DataInputStream以一定格式读入。由于可以得到java的各种基本类型甚至字符串,这样对得到的数据便可以方便地处理。这在通过协议传输的信息的网络上是非常适用的。#DataInputStream 和 DataOutputStream分别“套接”在原创 2021-01-27 23:23:34 · 101 阅读 · 0 评论 -
IO_01
IO1.数据结构的复习数据结构是计算机存储和组织数据的方式,简单来说 就是用来存储数据的,只不过根据存储的方式和操作以及特性不同,分为几类数组 : 有序可重复,查询快更改快,删除添加慢链表 : 有序可重复,添加删除快,查询更改慢散列表 : 无序不可重复,存储键值对,key唯一,value可以重复Tree : 无序不可重复,元素按照某种规则自动排序,(Comparator和Comparable)2.IO2.1 概述流是一组有顺序的,有起点有重点的字节集合,是对数据传输的总称或抽象简单来原创 2021-01-26 23:20:30 · 125 阅读 · 0 评论 -
集合02
集合1.Collection1…1排序1.1.1Comparable比较器有两种 : 1 元素自身比较器, 2 比较器类思考 : 为什么字符串,Integer,Date可以排序?因为都实现了 implements Comparable使用treeSet在进行数据添加的时候,会自动调用该对象的compareTo()方法和集合内元素进行比较如果我们想要存储自定义类型怎么办时---->需要实现该接口才行package Collection;import java.util.TreeSet原创 2021-01-24 20:51:13 · 97 阅读 · 0 评论 -
集合01
1. Collection1.1 概述1.通过继承体系发现可以发现,集合中两大分类,List和Set 并且 两个都继承了Collection,那也就意味着,Collection中的方法是List和Set都有的,Collection介绍1.Collection 集合 只能存储单个元素,并且只能保存引用数据类型,不能保存基本数据类型2. 因为 底层就是 Object[] 数组,既然是Object 所以 即可以说 只能保存Object单一元素,也可以说 可以保存任何元素,因为Object是祖类,所有原创 2021-01-22 23:46:10 · 111 阅读 · 0 评论 -
异常
这里写目录标题异常机制1. 之前常见的运行时异常异常概述异常继承体系4. Error5. Exception5.1概述5.2 常用方法5.3 TryCatch5.3.1 第一种5.3.2 第二种5.3.3 第三种5.4 Throws5.4.1 第一种5.4.3 注意-覆写不能有更宽泛的异常5.5 Finally5.5.1 基本使用5.5.2 注意事项(return)5.5.3 面试题5.5.4 Finally一个应用场景5.6 Throw6. 自定义异常类6.1 定义异原创 2021-01-22 00:40:36 · 118 阅读 · 0 评论 -
常用API02
这里写目录标题Date构造方法常用方法SimpleDateFormat使用方式字符串转Date练习6. Calendar7枚举Enum7.1 Enum之前定义枚举的方式7.2Enum之后定义枚举的方式7.3 Enum使用7.4 Enum优点8RadomMath常用方法公式10nunmber10.1 DecimalFormat表示任意数字,0-9任意单个数字 , 千分位 . 小数点 0 补位10.2BigDecimal和BigInteger使用练习Date表示特定的瞬间,精确到毫秒构造方法D原创 2021-01-22 00:29:18 · 625 阅读 · 0 评论 -
常用API_01
1.String1.1概述String特性:String底层是char 数组 private final char value[]所以字符串很多特性就是数组的特性字符串一旦创建不可更改为了提升字符串的访问效率,Java中提出了字符串常量池,相当于是一个缓存区, 引用类型对象应该保存在堆内存,但是字符串不同,保存在静态区的字符串常量池中在程序的执行过程中,如果程序要用到某个字符串,如"abc",虚拟机会先去常量池中搜索,有没有这个字符串 如果已经有了,就直接指向该字符串即可,如果没有就新建一原创 2021-01-20 23:32:00 · 142 阅读 · 0 评论 -
面向对象06
这里写目录标题1内部类1.5局部内部类成员方法中的局部内部类静态方法中局部内部类,1.6 匿名内部类2设计模式2.1概述2.2单例模式懒汉模式饿汉模式2.3工厂模式1内部类1.5局部内部类局部内部类需要注意:*1.局部内部类等同于局部变量2.局部内部类 在访问外部方法中的局部变量的时候需要加final修饰(1.8之前),从1.8开始 final可以省略3.局部内部类中,不能有静态声明成员方法中的局部内部类可以访问外部类中所有 的属性成员方法局部内部类不能使用权限修饰符调用,只能在该成员方原创 2021-01-19 23:02:14 · 71 阅读 · 0 评论 -
面向对象05
ObjectObject :1.是java中 提供的一个根类;可以理解为: 所有类都是Object类直接或间接子类2. 一个类没有显示继承一个父类的话,那么该类默认继承 Object3. Object中的方法是所有类都有的功能4.Object xxx = new xxxx() ; 是可以发生多态的注意:因为多态的原因,如果一个方法需要传递的数据,我们不能确定数据的类型的时候,可以写Object设计目的 : 比较两个对象是否相等Equals方法设计目的 : 比较两个对象是否相等源原创 2021-01-18 22:05:58 · 71 阅读 · 0 评论 -
面向对象04
这里写目录标题1多态1.1相关知识1.是什么1.1怎么用1.1优点1.1缺点1.1隐式多态1.1注意事项2. Instanceof3.Abstract3.1 抽象概述3.3 注意4. Interface4.1 是什么4.2 怎么用4.3 接口和抽象类1多态使用多态调用结果1 父类没有的,不管子类有没有 都调用不了2 只要父类有的,子类没有的,都执行父类的3 父类和子类都有的时候,除了成员方法调用子类,其他都执行父类1.1相关知识JVM特性 : 多线程,跨平台,面向对象,自动垃圾回收机原创 2021-01-17 20:14:24 · 231 阅读 · 1 评论 -
面向对象03
1继承1.1是什么Java中只支持单继承,一个类只能有一个父类继承作用 : 提高代码的复用性,父类的功能,子类可以直接使用,使子类功能更加强大.在java中 使用extends 关键字表示 语法 : public class 类名 extends 父类名{ 类体 }目的 : 提高代码重用性一个类如果没有显示继承另外一个类的话,那么该类默认继承 Object java.lang.Object java中的祖类,是所有类的父类 也就意味着 Object中的属性原创 2021-01-14 22:45:35 · 75 阅读 · 0 评论 -
面向对象02
1. 面向对象1.1传值和传引用a.基本数据类型 保存值的大小 , 引用数据类型保存内存地址b.传值 基本类型传递c.局部变量 属于栈帧私有化 栈帧独享1.2区分成员和构造构造方法 : [权限修饰符] 类名(参数) {方法体}作用 : 创建对象,初始化成员属性方法声明 : [修饰符列表] 返回值类型 方法名(参数) {方法体}方法名符合命名规则即可 : 字母,下划线,美元符号,数字,不能数字开头,不能使用关键字和保留字,建议望文知义, 驼峰命名法方法目的原创 2021-01-13 22:52:16 · 81 阅读 · 0 评论 -
运算符和流程控制
运算符1.1 赋值运算符赋值运算符 = : 把右边的赋值给左边,如果右边是个运算,需要把运算结果赋值给左边 += : 左边和右边相加,结果赋值给左边 -= : 左边 减去 右边 结果赋值给左边 *= ..... /= ..... %= .....i = i + 10;i += 10; 虽然两个式子是等价的,但是还不一样, i++ 和 += 这些写法,不需要强制转换,当然精度还是会丢失,这种写法会自动帮我们强制转换 但原创 2021-01-12 22:34:26 · 80 阅读 · 0 评论 -
数组02
排序冒泡排序(Bubble Sort)1.比较相邻的元素。如果第一个比第二个大,就交换他们两个。2.对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。3.针对所有的元素重复以上的步骤,除了最后一个4.持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较.例如:下面是冒泡排序代码 。public class _03_ArrayBubbleSort {public static void main(String[] args)原创 2021-01-11 20:46:30 · 78 阅读 · 0 评论 -
数组01
数组数据结构数据结构 : 就是计算机对数据存储的形式,和数据操作的形式 精心选择的数据结构可以带来更高的运行或者存储效率数据的操作 增删改查数组概述和特性 1. 数组中元素的类型必须一致,意味着空间大小一致 2.数组在内存中是连续的内存空间,也就意味着,找到一个就能找到其他所有 3.默认使用第一个空间作为整个数组的地址,然后通过偏移量 找到其他元素 偏移量为 0 就是第一个元素 , 偏移量为1 找到的就是第二个元素, 偏移量为11 找到原创 2021-01-12 22:02:41 · 75 阅读 · 0 评论 -
面向对象01
面向对象百度解释:面向对象(Object Oriented)是软件开发方法,一种编程范式。面向对象的概念和应用已超越了程序设计和软件开发,扩展到如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。面向对象是一种对现实世界理解和抽象的方法,是计算机编程技术发展到一定阶段后的产物。面向对象是相对于面向过程来讲的,面向对象方法,把相关的数据和方法组织为一个整体来看待,从更高的层次来进行系统建模,更贴近事物的自然运行模式.1.1 概述与面向过程对比理解:面向原创 2021-01-12 20:49:51 · 123 阅读 · 0 评论