
java基础
肉man
这个作者很懒,什么都没留下…
展开
-
Stream流
说到Stream便容易想到I/O Stream,而实际上,谁规定“流”就一定是“IO流”呢? 在Java 8中,得益于Lambda所带来的函数式编程,引入了一个全新的Stream概念,用于解决已有集合类库既有的弊端。引言传统集合的多步遍历代码几乎所有的集合(如Collection接口或Map接口等)都支持直接或间接的遍历操作。而当我们需要对集合中的元素进行操作的时候,除了必需的添...原创 2018-07-22 22:58:44 · 209 阅读 · 0 评论 -
LinkedList
LinkedList集合==> 数据存储结构是链表结构--> 实现了List接口/Deque(Queue子接口)的接口,,,代表双向队列--> 既可以从前一个元素找到后一个元素,又能从后一个元素找到前一个元素--> 可以提高查询效率(从两边查找)增删快,查询慢提供大量首尾操作方法(LinkedList独有的方法)public void addFirst(E e)==>...原创 2018-07-07 23:34:59 · 177 阅读 · 0 评论 -
List
特点1.元素存取有序的集合(有序不是顺序,是怎么存即怎么取)2.带有索引3.可以有重复的元素,通过equals比较是否为重复元素常用方法public void add(int index, E element) ==> 将指定元素,添加指定位置上public boolean addAll(int index , Collection c) ==> 将集合c所有元素插入在List集合的i...原创 2018-07-07 23:34:26 · 194 阅读 · 0 评论 -
Iterator遍历
java.util.Iterator ==> 为满足遍历集合中的所有元素而产生Collection/Map ==> 存储元素Iterator ==> 迭代访问public Iterator iterator(); ==> 获取集合对应的迭代器,用来遍历集合中的元素迭代: ==> Collection集合元素的通用获取方法请简述迭代器的实现原理当遍历集合时,首先通过...原创 2018-07-05 21:07:26 · 1151 阅读 · 0 评论 -
Generic泛型
简介 未使用泛型前1.集合对元素类型没有任何限制,这样可能引发相关问题(不同对象都能放进去,但是运行后会有异常)2.集合丢失了对象的状态信息,集合只知道盛装Object类,因此需要强制类型转换,增加复杂程度可以在类或方法中预支地使用未知的类型这种未知的数据类型,需要在使用这个类的时候才能够确定出来tips: 一般在创建对象时,将未知的类型确定具体的类型,,当没有指定泛型时,默认类型为Object...原创 2018-07-05 21:07:00 · 148 阅读 · 0 评论 -
Collection
单列集合 ==> java.util.Collection双列集合 ==> java.util.Map--(Collection没有get(索引)方法,因为并不是所有集合都有索引)--数组&集合1.数组长度不可改变,数组即可以存放基本类型的数据,又能存放引用型数据2.集合长度可变,只能存放引用型数据Collection ==> 单列集合的根接口,,用于存储一系列符合某种规...原创 2018-07-05 21:06:36 · 310 阅读 · 0 评论 -
java概念(有网扒有自己整理)
Java概述: 目前Java主要应用于中间件的开发(middleware)---处理客户机于服务器之间的通信技术,早期的实践证明,Java不适合pc应用程序的开发,其发展逐渐变成在开发手持设备,互联网信息站,及车载计算机的开发.Java于其他语言所不同的是程序运行时提供了平台的独立性,称许可以在windows,solaris,linux其他操作系统上使用完全相同的代码.Java的语法与C...原创 2018-07-12 12:32:49 · 1793 阅读 · 1 评论 -
注解
注解注解的概念注解是JDK1.5的特性。 注解相当一种标记,是类的组成部分,可以给类携带一些额外的信息。 标记(注解)可以加在包,类,字段,方法,方法参数以及局部变量上。 注解是给编译器或JVM看的,编译器或JVM可以根据注解来完成对应的功能。 注解可以完成某些功能注解和注释的区别注释是给程序员看的,不会影响程序的执行 注解是给程序看的,程序后根据注解完成一些...原创 2018-07-23 22:52:51 · 1819 阅读 · 0 评论 -
Set
继承自Collection接口,方法同Collection, 但比Collection更严格Set接口 --> 元素无索引,无序,不重复代码实例Set books = new HashSet();books.add(new String(.......));Set集合取出元素方式==> 迭代器/增强forHashSet集合介绍 ==> Set接口的典型实现(最常用)特点1.不能...原创 2018-07-07 23:35:23 · 345 阅读 · 0 评论 -
数据结构
栈 stack 1.运算受限的线性表,其限制是允许在标的一端进行插入和删除操作,不允许在其他任何位置操作2.先进后出3.栈的入口和出口都是栈的顶端位置4.压栈: ==> 存元素5.弹栈: ==> 取元素队列 queue1.运算受限的线性表,==>仅在一段插入,在另一端删除2.先进先出(FIFO)--> 入队 + 出队3.队列的出入口各站一侧数组 Array1.有序元素列...原创 2018-07-07 23:36:58 · 130 阅读 · 0 评论 -
Collections
Collections提供方法对List集合进行操作排序(Collections.方法名)public static <T> boolean addAll(Collection<T> c, T... elements):往集合中添加一些元素。static void reverse(List list): ==> 反转指定List集合中元素顺序static void s...原创 2018-07-07 23:38:40 · 148 阅读 · 0 评论 -
函数式接口
函数式接口:supplierconsumerpredicatefunction原创 2018-07-22 22:54:19 · 994 阅读 · 0 评论 -
Lambda表达式
Lambda表达式 JDK1.8中新加的重量级新特性 Runnalbe接口的匿名内部类写法 ==> 等效的Lamdba表达式 new Thread(() -> System.out.println("多线程任务执行")).start(); 匿名内部类优缺点 --> 省去实现类的定义 / 比较复杂 Lambda标准格式 (参数类...原创 2018-07-20 23:19:07 · 483 阅读 · 0 评论 -
方法引用
方法引用 冗余的Lambda场景 来看一个简单的函数式接口以应用Lambda表达式:@FunctionalInterfacepublic interface Printable {void print(String str);}在Printable接口当中唯一的抽象方法print接收一个字符串参数,目的就是为了打印显示它。那么通过Lambda来使用它的代码很简单...原创 2018-07-20 23:17:46 · 363 阅读 · 0 评论 -
函数式接口
函数式接口 概念 函数式接口 --> 有且仅有一个抽象方法的接口。 函数式接口,即适用于函数式编程场景的接口。而Java中的函数式编程体现就是Lambda,所以函数式接口就是可以适用于Lambda使用的接口。 格式 只要确保接口中有且仅有一个抽象方法即可:修饰符 interface 接口名称 { public abstract 返回值类型 ...原创 2018-07-20 22:56:12 · 259 阅读 · 0 评论 -
File类
概述File更应该叫做一个路径文件路径或者文件夹路径路径分为绝对路径和相对路径绝对路径是一个固定的路径,从盘符开始相对路径相对于某个位置,在dos下指的是当前路径文件夹 --> directory文件 --> file路径 --> path 计算机的某个位置,可以是文件/文件夹构造方法1.File(String pathname) ==> 根据一个路径得到File对象-...原创 2018-07-14 22:48:24 · 171 阅读 · 0 评论 -
网络编程
原创 2018-07-19 23:44:01 · 150 阅读 · 0 评论 -
反射_基础了解
反射反射的基本概念什么是反射反射是一种机制,利用该机制可以在程序运行过程中对类进行解剖并操作类中的方法,属性,构造方法等成员。 当我们使用类时,加载到内存时,类同时会给这个类创建一个Class对象 1.虽然为Person创建一个Class对象,但是Class类的对象 2.这个对象描述Person的属性信息/方法 每个类都有一个对应的Class对象反射在实际开发中...原创 2018-07-23 22:49:56 · 143 阅读 · 0 评论 -
Junit单元测试
Junit单元测试Junit的概述Junit是一个Java语言的单元测试框架,简单理解为可以用于取代java的main方法。 Junit属于第三方工具,一般情 况下需要导入jar包。 多数Java开发环境已经集成了JUnit作为单元测试工具。 在Java中,一个类就是一个单元。 单元测试是开发者编写的一小段代码,用于检验某个类某个方法的功能或某个业务逻辑是否正确Jun...原创 2018-07-23 22:45:03 · 131 阅读 · 0 评论 -
Package
Package基本类型与对应的包装类对象之间的转换 ==> 装箱 拆箱基本类型的数据不是对象,只是一个单纯的数据,功能简单,只能做一些运算操作引用类型可以创建对象,可以调用这个对象的一些方法完成一些功能常用操作: ==> 基本类型和字符串互相转换代码例Integer i = new integer(4); ==> 使用构造函数 -->java5后 Integer i...原创 2018-07-04 23:17:50 · 336 阅读 · 0 评论 -
Math
Math类java.lang.Math类 包含基本数学运算的方法,其所有方法均为静态方法,并且不会创建对象基本运算的方法1.public static double abs(double a)==>返回double值得绝对值Math.abs(数);2.public static double ceil(doble a)==>返回大于等于参数的最小整数Math.ceil(...);==&...原创 2018-07-04 23:17:03 · 162 阅读 · 0 评论 -
Object常用类
Object.note1.String/StringBuffer/StringBuilderStringBuilder&StringBuffer.note2.MathMath.note3.PackagePackage.note4.DateDate&DateFormat.note Calendar类.note5.SystemSystem&Runtime.note6.正则...原创 2018-07-04 23:16:12 · 167 阅读 · 0 评论 -
StringBuilder&StringBuffer
StringBuilder==> 为了解决字符串经常新建对象,浪费空间问题StringBuilder --> 可变字符序列 ==>类似于String的字符串缓冲区,通过某些方法可改变长度和内容--> 其内部拥有一个数组存放字符串内容, 进行字符串拼接时,直接在数组中加入新内容(自动维护数组的扩容)--> jdk9之前使用的是char[]数组,jdk9后,使用的是by...原创 2018-07-04 23:15:34 · 155 阅读 · 0 评论 -
异常
异常: ==> 程序在执行过程中,出现的非正常情况,最终会导致JVM的非正常停止处理方式: 中断java等面向对象的编程语言中,异常本身是一个类,产生异常就是创建异常对象并抛出了一个异常对象--(异常并不指语法错误.语法错了,编译不会通过.也不会产生字节码文件.根本不能运行)--异常机制其实是帮助我们找到程序中的问题JVM如何处理异常若定义方法中出现问题时,此时jvm会创建一个异常对象,会...原创 2018-07-10 23:01:24 · 127 阅读 · 0 评论 -
Java日常记录update
日常理论代码记录事无巨细,坚持就行Dying in leisure or Living in chaos原创 2018-07-03 22:59:34 · 1151 阅读 · 0 评论 -
java基础_封装_继承_多态_接口
原创 2018-07-16 22:51:33 · 141 阅读 · 0 评论 -
Java_基础(一)
01.java基础_变量_运算符_基础语句java发展史1995年sun公司2009年oracle公司 开发环境JVM: java Virtual Machine (虚拟机),java代码运行在JVM之上,具备跨平台特性,不同系统具有不同JVM,程序运行在jvm上,JVM运行在操作系统上JRE: java Runtime Environment(操作环境),包...原创 2018-07-16 22:45:38 · 148 阅读 · 0 评论 -
Date&DateFormat
Date--(Date中许多方法已经过时,因为有更好的方法可以代替,这些更好的方法在Calendar中)--Calendar类.notejava.util.Date类 ==> 表示特定的瞬间,精确到毫秒--> Date很多被Deprecated改写构造方法public Date() --> 分配Date对象并初始化此对象,以表示分配它的时间(以当前操作系统的时间构造Date对象...原创 2018-07-04 23:18:24 · 565 阅读 · 0 评论 -
Calendar
概念java.util.Calendar ==> 是日历类, 在Date后出现,替换掉许多Date方法 -->该类将所有可能用到的时间信息封装为静态成员变量日历类-->方便获取各个时间属性获取方式Calendar为抽象类---->在创建对象时,并非直接创建,而是通过静态方法创建.返回子类对象--> static Calendar getInstance();==>...原创 2018-07-04 23:19:13 · 1198 阅读 · 0 评论 -
System&Runtime
System代表当前Java程序运行平台--> 程序不能创建System类的对象,所以它提供一些类属性和方法-->允许通过类名调用java.lang.System ==> 提供大量的静态方法,可获取与系统相关的信息或者系统操作System.in/out ==>输入输出流System.gc() ==>运行垃圾回收期System.exit(0) ==> 非0状态为异...原创 2018-07-04 23:19:56 · 340 阅读 · 0 评论 -
IO流
IO流 IO流用来处理设备之间的数据传输Java对数据的操作是通过流的方式Java用于操作流的类都在IO包中 IO流常用父类 字节流的抽象父类: InputStreamoutputStream 字符流的抽象父类 ReaderWriter IO程序书写 使用前,导入IO包中的类使用时.进行IO异常处理使用后,释放...原创 2018-07-17 23:28:23 · 144 阅读 · 0 评论 -
概念
概念 System.in是InputStream , 标准输入流, 默认可以从键盘输入读取字节数据System.out是PrintStream,标准输出流,默认可以向Console中输出字符和字节数据 print方法和println方法来自于java.io.PrintStream类,该类能够方便地打印各种数据类型的值 构造方法 public PrintStrea...原创 2018-07-17 23:26:06 · 139 阅读 · 0 评论 -
Properties
Properties --> 继承于Hashtable ,来表示一个持久的属性集。--> 它使用键值结构存储数据,每个键及其对应值都是一个字符串--> 对流进行操作,可以从流中获取键值对 构造方法 public Properties() :创建一个空的属性列表。 基本的存储方法 public Object setPrope...原创 2018-07-17 23:25:49 · 180 阅读 · 0 评论 -
字符编码
字符编码 字符编码计算机存储的是二进制数表示,我们在屏幕看到的信息是转换后的结果编码 --> 按照某种规则,将字符存储到计算机解码 --> 计算机中的二进制数按照某种规则解析出来Character Encoding 自然语言的字符与二进制数之间的对应规则 字符集 --> Charset系统支持的所有字符的集合,包括各国家的文字.标点符号.图形符...原创 2018-07-17 23:25:03 · 147 阅读 · 0 评论 -
转换流
转换流InputStreamReader --> Reader的子类--> 字节到字符的桥梁--> 读取字节,并指定字符集将其解码为字符(字符集可由名称指定,也可接受默认的字符集)--> 本身不具备读的功能,其作用是查询码表以及转码 构造方法 InputStreamReader(InputStream in): 创建一个使用...原创 2018-07-17 23:24:34 · 229 阅读 · 0 评论 -
序列流--Object
序列流 序列化 --> 用一个字节序列可以表示一个对象,该字节序列包含该对象的数据、对象的类型和对象中存储的数据等信息。字节序列写出到文件之后,相当于文件中持久保存了一个对象的信息。 反序列化 --> 该字节序列还可以从文件中读取回来,重构对象,对它进行反序列化。对象的数据、对象的类型和对象中存储的数据信息,都可以用来在内存中创建对象。 序列化两个条件:...原创 2018-07-17 23:24:03 · 352 阅读 · 0 评论 -
多线程
多线程 并发&并行 并行 ==> 两个或多个时间在同一时刻发生(同时)-->需要多核CPU并发 ==> 两个或多个时间在同一时间段内发生-->CPU轮流安排,由于时间较短,使人感觉两个任务都在进行 线程与进程 所有的程序都是在内存中运行在内存中每个正在运行着的程序,都是进程 单线程程序: --> 进程中只有一个线...原创 2018-07-12 00:24:25 · 320 阅读 · 0 评论 -
正则表达式
正则表达式用来描述或匹配一系列符合某个语法规则的额字符串的单个字符串作用-->比如注册邮箱,用户名和密码,一般会限制其长度.格式String regex = "[abc]\\d{4,14}";0.匹配boolean matches(String regex) ==> 判断该字符串是否匹配指定正则表达式1.[]代表单个字符[]==>单个字符[abc]==>调用的只能是a或b...原创 2018-07-04 23:21:52 · 129 阅读 · 0 评论 -
Map多知识点合一
映射==> 一一对应 -->java.util.Map接口单列集合Collection中的集合==> 元素是孤立存在的,元素采取单独存储方式双列集合Map中的集合==> 元素是承兑存在的,每个元素有键与值两部分组成-->可以通过键找对应的值(key-value)Map的集合不能包含重复的键,值可以重复,但是键只能对应一个值Map集合Map接口常用方法void cle...原创 2018-07-08 23:20:38 · 158 阅读 · 0 评论