JavaSE
锦鱼不忘旧时晨
用一句话不能解释的技术,说明你还没有真正理解它。
展开
-
JDK1.8-StreamAPI
1.StreamAPI概述Stream 是 Java8 中处理集合的关键抽象概念, 它可以指定你希望对集合进行的操作, 可以执行非常复杂的查找、过滤和映射数据等操作。 使用Stream API 对集合数据进行操作,就类似于使用 SQL 执行的数据库查询。也可以使用 Stream API 来并行执行操作。 简而言之,Stream API 提供了一种高效且易于使用的处理数据的方式。注意事...原创 2020-03-13 15:46:19 · 226 阅读 · 0 评论 -
枚举类,Lambda表达式,JDK1.8新增日期API
1.JDK5新特性(枚举类)JDK1.5的新特性自动拆装箱 , 泛型 , 增强for , 可变参数 , 枚举(1)枚举概述就是一个类只能存在几个固定的对象,那么这个就是枚举.我们就可以使用这些对象可以表示一些固定的值。举例:一周只有7天,一年只有12个月等。(2)枚举的注意事项定义枚举类要用关键字enum所有枚举类都是Enum的子类,但是不要显式的写出来枚举类的第一行上必须是...原创 2020-03-10 09:12:26 · 242 阅读 · 0 评论 -
类加载,反射,动态代理
一.类加载1.类的加载概述当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通、过加载,连接,初始化三步来实现对这个类进行初始化。加载:就是指将class文件读入内存,并为之创建一个Class对象。任何类被使用时系统都会简历一个Class对象。连接验证:是否有正确的内部结构,并和其他类协调一致准备:负责为类的静态成员分配内存,并设置默认初始化值解析:把类中的符号引用转换为...原创 2020-03-08 19:58:17 · 177 阅读 · 0 评论 -
网络编程(网络模型,UDP,TCP)
前言介绍计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。网络编程就是用来实现网络互联的不同计算机上运行的程序间可以进行数据交换。1.网络模型概述(1)概述:计算机网络之间以何种规则进行通信,就是网络模型研究问题。(2)网络模型...原创 2020-03-06 10:28:11 · 144 阅读 · 0 评论 -
JavaSE——IO流(四)数据输入输出流,内存操作流,打印流,序列化流,随机访问流,Properties
1.DateInputStream和DateOutputStream(1)概述数据输入流: DataInputStream数据输出流: DataOutputStream特点: 可以写基本数据类型,可以读取基本数据类型。(2)案例演示package com.wetstmo.demo.demo2;import java.io.*;public class MyDemo7 { p...原创 2020-02-21 22:11:11 · 201 阅读 · 0 评论 -
JavaSE——IO流(三)
字符流概述由于字节流操作中文不是特别方便,所以,java就提供了字符流。1.String类中的编码和解码编码:就是把字符串转换成字节数组, public byte[] getBytes();使用平台的默认字符集将此 String编码为 byte 序列,并将结果存储到一个新的 byte 数组中。 public byte[] getBytes(String charsetName) 使用...原创 2020-02-20 12:23:03 · 121 阅读 · 0 评论 -
JavaSE——IO流(二)
1.概述及分类(1)概述:IO流用来处理设备之间的数据传输,Java对数据的操作是通过流的方式,Java用于操作流的对象都在IO包中 java.io。(2)分类按照数据流向(站在内存的角度):可以分为输入流(读入数据),输出流(写入数据)。按照数据类型:可以分为字节流和字符流字节流:可以读写任何类型的文件,包括音频,视频,文本文件。字符流:只能读写文本文件(3)IO流基类概述图示...原创 2020-02-19 22:38:03 · 119 阅读 · 0 评论 -
JavaSE——IO流(一)异常,File文件类
IO流的概述1.概念IO流是用来处理设备之间的数据传输,也就是上传文件和下载文件。2.为什么要先讲解异常和File类?(1)File表示的是IO流将来要操作的文件,所以必须学习File类(2)而常见操作文件无非就是文件上传和文件下载,在这个操作过程中可能出现问题,出现问题后,我们就需要对对应的代码进行处理,所以要学习异常。一.异常1.概述异常就是Java程序在运行过程中出现的错误...原创 2020-02-17 18:56:47 · 145 阅读 · 0 评论 -
JavaSE——集合(五)Map(HashMap,LinkedHashMap,TreeMap)
一. Map集合1.Map集合存在的意义在生活中,有时候存在向如下这样的数据每个学生都有一个学号,一个学号只能由一个姓名对应,并且学号是不可能重复。在Java中为了方便的存储和使用这类的数据,所以便有了Map集合。2.Map集合的特点(1)Map是双列集合,存储的是键值对,键唯一。(2)每个键最多只能映射到一个值。(3)Map集合的数据结构针对键有效,跟值无关。3.Map集合的...原创 2020-02-14 13:16:13 · 362 阅读 · 0 评论 -
JavaSE——集合(四)Collections
1.概述java.utils.Collections是集合工具类,对集合进行操作。2.用法public static <T> boolean addAll(Collection<T> c,T......elements):往集合中添加一些元素public static void shuffle(List<?> list):随机打乱集合中元素的顺序pu...原创 2020-02-11 18:16:21 · 145 阅读 · 0 评论 -
JavaSE——集合(三)Set(HashSet,LinkedHashSet,TreeSet)
1.HashSet概述底层数据结构是哈希表,元素唯一且无序。案例演示package com.westmo1.demo1;import java.util.HashSet;public class MyDemo1 { public static void main(String[] args) { HashSet<String> str...原创 2020-02-03 21:01:49 · 157 阅读 · 0 评论 -
JavaSE——泛型(泛型类,泛型方法,泛型接口,通配符)和(增强for,可变参数,asList方法,集合嵌套)
1.泛型的概述和好处概述是一种把类型明确的工作推迟到创建对象或调用方法时才去明确的特殊的类型。格式:<数据类型> 这里的数据类型是引用数据类型好处(1): 把运行时期的问题提前到了编译期间(2): 避免了强制类型转换(3):优化了程序设计,解决了黄色警告线注意:泛型只在编译期有效 但在运行期就擦除了泛型的由来案例演示(ArrarList存储...原创 2020-01-30 12:50:39 · 177 阅读 · 0 评论 -
JavaSE——集合(二)List(ArrayList,LinkedList,Vector)
1.List概述元素有序,并且每个元素都存在一个索引,元素可以重复。List集合特有功能void add(int index,E element): 在指定索引处添加元素E remove(int index):移除指定索引处的元素 返回的是移除的元素E get(int index):获取指定索引处的元素,可以用户集合遍历E set(int index,E eleme...原创 2020-01-28 19:19:06 · 163 阅读 · 0 评论 -
JavaSE——集合(一)Collection
1.集合框架集合的由来Java是面向对象的语言,对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,Java中就提供了集合类。数据和集合的区别(1)数组的长度是固定的,而集合的长度第可变的(2)数字既可以存储基本数据类型,也可以存储引用数据类型。而集合只能存储引用数据类型。(3)数组只能存储同种数据类型的元素,而集合可以存储不同数据类型的元素。集合继承体系...原创 2020-01-22 10:22:33 · 191 阅读 · 0 评论 -
JavaSE——(四)常用类(Math类,Random类,System类,BigDecimal类,Date类,SimpleDateFormat类,Calender类)
1.Math类概述Math 类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。成员变量public static final double E : 自然底数public static final double PI: 圆周率成员方法public static int abs(int a) 取绝对值public static do...原创 2020-01-18 17:59:59 · 230 阅读 · 0 评论 -
JavaSE——正则表达式
1.概述正则表达式:是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。其实就是一种规则。有自己特殊的应用2.案例演示需求:校验手机号码 1:要求长度必须是11位数字 2:开头只能是1,第二位必须是3,4,5,7,8中的一个非正则表达式实现package com.westmo.demo6;import java.util.Scanner;public c...原创 2020-01-15 18:14:49 · 189 阅读 · 0 评论 -
JavaSE——(三)常用类(StringBuffer,StringBuilder,数组常见操作(二分查找),Arrays,基本类型包装类)
一.StringBuffer和StringBuilder1.来源字符串广泛应用 在Java 编程中,在 Java 中字符串属于对象,Java 提供了 String 类来创建和操作字符串。但是String的值是不可变的,这就导致每次对String的操作都会生成新的String对象,这样不仅效率低下,而且大量浪费有限的内存空间。所以就引入了两个新的类——StringBuffer类和StringBu...原创 2019-12-31 21:50:10 · 137 阅读 · 0 评论 -
JavaSE——(面试题)关于String的两种创建方式在内存中的区别
1.方式通过“字面量赋值”String str = "Hello"通过new关键字创建对象String str = new String("Hello");2.简单分析public class Test { public static void main(String[] args) { String str = "Hello"; ...原创 2019-12-29 21:56:41 · 211 阅读 · 0 评论 -
JavaSE——(二)常用类(Scanner,String)
一.Scanner类1.Scanner概述用途:JDK1.5之后用于用户输入构造方法原理:Scanner(InputStream source)System类下有一个静态的字段:public static final InputStream in; 标准的输入流,对应着键盘录入。几种常用的方法: public int nextInt():获取一个int类型的值 publi...原创 2019-12-29 21:20:37 · 185 阅读 · 0 评论 -
JavaSE——(一)常用类(Object类)
Object类概述类层次结构的根类所有类都直接过间接的继承该类1.hashCode()方法用法返回该对象的哈希码值,默认情况下,该方法会根据对象的地址来计算,不同对象的哈希码值不相同。不是对象的实际地址值,可以理解为逻辑地址值。package com.westmo;public class demo6 { public static void main(Stri...原创 2019-12-25 23:07:29 · 117 阅读 · 0 评论 -
JavaSE——面向对象(六)(方法参数类型及返回值类型,内部类,匿名内部类)
1.方法参数类型及返回值类型概述有没有想过这样一个问题,当方法的形式参数是一个类名,抽象类名,接口名。以及方法的返回值类型是类类型,抽象类类型,接口类型是怎么办?形参为类名,抽象类名,接口名时(案例演示)//形参为类名时package com.westmo.demo4;public class MyTest { public static void main(Str...原创 2019-12-25 00:28:26 · 156 阅读 · 0 评论 -
JavaSE——面向对象(五)(抽象类,接口)
1.抽象类(1) 概述我们在前面学习猫狗案例当中,发现猫和狗都继承动物这个类,我们对动物这个类也创建了对象,其实这是不对的,因为动物也是一个抽象的概念,你根本不知道是那种动物。所以前面我们给动物写的方法解释不合理的,每个动物都有不同的行为。所以我们不应该在动物类中给出一个具体的实现,只需要给出一个方法声明即可。在Java中,我们对于一个没有方法体的方法应该被定义为抽象方法,同时该类也被定义...原创 2019-12-22 00:13:16 · 163 阅读 · 0 评论 -
JavaSE——面向对象(四)(多态)
1.多态(1) 概述同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果,这就是多态性。简单的说:就是父类的引用指向子类的对象。举个例子:Cat cat =new Cat();//猫可以是猫的类型Animal a=new Cat();//同时猫也是动物的一种。也可以把猫称为动物(2)多态前提要有继承关系要有方法重写,如果没有这个,多态也就没有意义要有父类的引用指...原创 2019-12-20 15:48:21 · 153 阅读 · 0 评论 -
JavaSE——面向对象(三)(代码块,继承,方法重写,final关键字)
1.代码块代码块概述在Java程序中,我们将用{}括起来的代码称为代码块。代码块的分类以及应用(1)局部代码块局部代码块:在方法中出现,限定变量的声明周期,及早释放,提供内存利用率。简而言之:某个变量在类中只使用一次, 用一个局部代码块,是为了在代码块结束后,内存自动释放,减少内存的使用是顺序执行的,只是在执行结束后,立即消失。例如:class TestDemo{...原创 2019-12-19 23:51:44 · 140 阅读 · 0 评论 -
JavaSE——面向对象(二)(构造方法、对象的创建步骤、static关键字、JDK帮助文档、Math类)
1.构造方法概述创建对象,给对象中的成员进行初始化,与set()方法的作用差不多特点(1)方法名必须与类名相同(2)没有返回值类型,更没有具体的返回值注意事项(1)在一个类中,如果我们没有给出构造方法,系统将自动提供一个无参构造方法。(2)如果我们自己给出了有参的构造方法,那么系统就不再提供的无参的构造方法,如果想要使用无参的构造方法,就必须自己给出,建...原创 2019-12-10 18:00:22 · 136 阅读 · 0 评论 -
JavaSE——面向对象(一)(对象,类,成员变量,局部变量,匿名对象,封装private,this关键字)
面向对象概述,对象,类,成员变量,局部变量,匿名对象1.面向过程与面向对象面向过程开发,其实就是面向着具体的每一个步骤和过程,把每一个步骤和过程完成,然后由这些功能方法相互调用,完成需求,所以在面向过程开发中,每一步的过程都很重要,当其中有一步出错时,都不能达到目的,当需求单一,或者简单时,我们一步一步去操作没问题,并且效率也挺高。可随着需求的更改,功能的增多,发现需要面对每一个步骤很麻烦...原创 2019-12-09 00:02:30 · 189 阅读 · 0 评论 -
JavaSE——(基础知识四)(二维数组/参数传递/递归)
二维数组的用法,Java中参数传递问题及其图解,递归1.二维数组原创 2019-12-08 21:15:00 · 455 阅读 · 0 评论 -
JavaSE——基础知识(三)(方法/数组/Java内存分配)
JavaSE——方法以及方法重载,数组的初始化,数组初视化内存分配,数组遍历。1.方法含义:假设有一个游戏程序,程序在运行过程中,要不断地发射炮弹(植物大战僵尸)。发射炮弹的动作需要编写100行的代码,在每次实现发射炮弹的地方都需要重复地编写这100行代码,这样程序会变得很臃肿,可读性也非常差。为了解决代码重复编写的问题,可以将发射炮弹的代码提取出来放在一个{}中,并为这段代码起...原创 2019-12-02 23:31:41 · 292 阅读 · 0 评论 -
JavaSE——基础知识(二)(选择语句/循环语句/控制跳转语句)
JavaSE—基础知识(二)(基本语句)1.从键盘录入数据方法:a:导包 格式:import java.util.Scanner; b:创建键盘录入对象 格式:Scanner sc = new Scanner(System.in);(使用像IDEA,ecipse这种java编译工具时一般不需要导包,系统会帮你完成的)c:通过对象获取数据 格...原创 2019-11-30 23:17:05 · 181 阅读 · 0 评论 -
JavaSE——基础知识(一)(常量变量,数据类型以及运算符)
JavaSE—基础知识(一)(常量变量,数据类型以及运算符)1.常量[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XkltB4rI-1574612441542)(C:\Users\姚建刚\AppData\Roaming\Typora\typora-user-images\1574605830976.png)]1.1进制转换任意进制到十进制——位权展开...原创 2019-11-25 23:12:36 · 320 阅读 · 0 评论