java基础笔记
java基础
¥诸葛村夫¥
年少无为,还不知进退
展开
-
JAVA-ArrayList的相关坑
在subList场景中,对父集合元素的增加或删除,均会导致子列表的遍历、修改、删除产生ConcurrentModificationException异常。原创 2024-01-01 00:00:39 · 397 阅读 · 0 评论 -
java基础:IO流大总结
java基础:IO流大总结文章目录java基础:IO流大总结IO流分类IO流之节点流IO流之处理流File类节点流FileInputStream和FileOutputStream多态总结缓冲流BufferedInputStream和BufferedOutputStream字符缓冲流ferReader和BufferWrite转换流InputStreamReader和OutputStreamWrit...原创 2020-05-04 00:15:17 · 345 阅读 · 0 评论 -
jdk8新特性四: jdk8Stream流操作
jdk8新特性五: jdk8Stream流操作文章目录jdk8新特性五: jdk8Stream流操作jdk8之流Streamstream中的函数jdk8里面的并行流parallelStreamjdk8里面的聚合操作reducejdk8的forEach集合jdk8收集器和集合统计jdk8新内存空间Metaspacejdk7里面的新特性try-with-resourcesjdk8之流Stream...原创 2020-05-10 11:34:11 · 627 阅读 · 0 评论 -
Jdk8新特性三:jdk8之函数式编程Function
Jdk8新特性三:jdk8之函数式编程Function文章目录Jdk8新特性三:jdk8之函数式编程FunctionFunction接口的使用BiFunction接口解决传入两个参数问题JDK8函数式编程消费型接口Consumer\Function接口的使用Lambda表达式必须先定义接口,创建相关方法后才能使用,这样弄十分不便,干脆开发者就直接内置了接口,所有标注@FunctionalIn...原创 2020-05-10 11:34:46 · 590 阅读 · 0 评论 -
Jdk8新特性三:jdk8之函数式编程Function
Jdk8新特性三:jdk8之函数式编程Function文章目录Jdk8新特性三:jdk8之函数式编程FunctionFunction接口的使用BiFunction接口解决传入两个参数问题JDK8函数式编程消费型接口Consumer\Function接口的使用Lambda表达式必须先定义接口,创建相关方法后才能使用,这样弄十分不便,干脆开发者就直接内置了接口,所有标注@FunctionalIn...原创 2020-02-17 23:33:48 · 3953 阅读 · 0 评论 -
JDK8新特性二:jdk8之Lambda表达式
JDK8新特性二:jdk8之Lambda表达式文章目录JDK8新特性二:jdk8之Lambda表达式函数式编程和Lambda表达式jdk8之前和jdk8之后线程创建的对比Lambda的使用场景Lambda表达式自定义Lambda接口编程函数式编程和Lambda表达式函数式编程:可以理解为将一个函数作为参数值进行传递。面向对象是对数据的抽象,即:各种各样的pojo类。函数式编程则是对行为的...原创 2020-02-15 16:02:13 · 322 阅读 · 0 评论 -
Jdk8新特性一:jdk8新特性之default关键字、日期类、Base64类、Optional
Jdk8新特性一:jdk8新特性之default关键字、日期类、Base64类、Optional文章目录Jdk8新特性一:jdk8新特性之default关键字、日期类、Base64类、Optionaljdk8新特性重点内容jdk8新特性之default关键字Jdk8新特性之新增Base64 APIJDK8新特性之日期处理类jdk8新特性之日期格式化和计算时间差Jdk8新特性,判断是否为空对象Op...原创 2020-02-13 02:57:02 · 826 阅读 · 0 评论 -
java中的自动装箱技术,java集合的学习目标,集合的作用,集合成员体系的关系,集合的方法和创建格式已经与多态在集合中的运用
一、再学java的自动装箱技术。 1、自动装箱技术是什么? 主要用于包装类中。自动装箱:基本数据类型直接变成了对象。没有经过 new什么的。自动拆箱:引用对象变回了基本的数据类型,也就是说引用类型直接和基本数据类型相加减。2、学习集合的目标:二、集合有什么用?1、集合是java中的容器,用来存储多个数据。2、集合和数组的区别:一是数组是定长的,集合是不定...原创 2019-01-16 11:37:41 · 518 阅读 · 0 评论 -
java迭代器Iterator的学习,Iterator的产生和用途,Iterator的执行图解
一、Iterator的产生:1、迭代器的产生主要就是针对集合的,因为集合是一个容器,又分为两大派,四个具体实现。这些集合存取方式不同,存取也不同。为了屏蔽这种不同,迭代器就产生了。迭代器的产生就是用于集合的元素的取出。是一个接口。注意:1.5版本后Collection接口继承了Iterable接口。而Iterable接口下面有一个抽象方法是:Iterator<T>二、面向接口编...原创 2019-01-16 12:48:00 · 1618 阅读 · 0 评论 -
java中的增强for循环,增强for循环的产生作用
一、增强for循环的产生1、jdk1.5之后collection接口继承了Iterable接口,该接口有一个方法即:增强for循环方法。二、增强for循环的特性:1、增强for循环的格式:2、增强for循环的特性是好处和坏处增强for循环相当于把数组中的值赋值给变量,并没有改变数组中的值。因此无法操作容器里的值。上图在打印arr[0]时打印的还是3。除此之外for对...原创 2019-01-16 14:19:35 · 3322 阅读 · 0 评论 -
java 泛型产生,泛型类,泛型方法,泛型接口,泛型通配符,泛型限制符理解学习
一、泛型的产生为保证程序的安全性。泛型指明了集合中存储数据的类型<数据类型>一会存字符串,一会存int类型,会造成数据的安全性问题。如果指明了存储数据的类型, 就不会出现这种问题了。所谓的泛型就是在collection<数据类型>=new xxxxx;泛型就是为了保证数据的安全。如果没有泛型那么就会存储所有类型。打印时也有不少问题。安全隐患;...原创 2019-01-16 20:55:11 · 396 阅读 · 0 评论 -
java学习之字符流和字节流的区别
一、字节输出流OutputStreamOutputStream是抽象类,是表示输出字节流的所有超类,操作的数据都是字节,定义了字节输出流的基本共性和方法。OutputStream有大量子类,具体请看javaAPI文档,比较常用的是FileOutputStream 即:将数据写入到File的输出流。注意:其中的方法close()方法和Flush()方法的不同,close()自带flush(...原创 2019-02-16 00:41:23 · 4136 阅读 · 0 评论 -
java学习之Map集合的两种遍历方法
一、Map集合有哪些遍历方法?Map集合是以键值对的方式存储数据的,Map集合的遍历因此不像数组一样直接进行遍历。java的开发者提供了两种方式对Map集合进行遍历操作。一种是KeySet方式,另一种是EntrySet方式。二、EntrySet方式遍历Map集合1、首先要创建一个Map集合Map<String,Integer> map=new HashMap<S...原创 2019-02-13 21:57:57 · 880 阅读 · 0 评论 -
JBDCUtils工具类+数据库连接池+装饰者模式对数据库连接的封装实现详解
1. JBDCUtils工具类+数据库连接池+装饰者模式对数据库连接的封装实现详解1.1. JBDCUtils工具类的意义JBDCUtils工具类的实现主要是用来封装数据库的连接,最初的数据库连接是有一个类实现,但是这个类里面包含数据库连接url、Driver、用户名、密码。这个类简单直接,但是不利于移植,因为url、Driver都被写死了,如果要换个数据库,还要重新修改类。不符合java的...原创 2019-03-12 23:34:19 · 383 阅读 · 0 评论 -
java基础中实现存储到实体对象中的方法
1. java基础中实现存储到实体对象中的方法1.1. 通过Beanutils工具类实现对象的存储通过request.getParameterMap()的方法将请求端获得的对象信息存储到map集合中。Map<String,String[]> properties=request.getParameterMap();通过Beanutils工具类将获取的集合对象存储到实体对...原创 2019-03-18 11:13:34 · 1258 阅读 · 0 评论 -
深入理解IO流中字符编码问题
转:原创博主:Lukegwo 首先了解一下常用的编码:ASCII:ASCII码是7位编码,ASCII字符集包括英文字母、阿拉伯数字和标点符号等字符。专门给英语国家设计的编码。GB2312:中文字符集,只收录了6763个常用汉字,字符集中除常用简体汉字字符外还包括希腊字母、日文等字符,未收录繁体中文汉字和一些生僻字。GBK:GBK编码是GB2312编码的超集,共...转载 2019-03-25 22:30:41 · 609 阅读 · 2 评论 -
JavaWeb学习笔记十一:类加载器学习、注解和动态代理学习、用动态代理解决全局乱码问题
文章目录1. 类加载器学习2. 注解学习2.1. 创建一个自定义注解2.2. 注解的使用2.3. 注解的解析2.4. 元注解2.5. 注解使用案例一3. 动态代理学习3.1. 动态代理案例3.2. 动态代理总结4. 用动态代理解决乱码问题1. 类加载器学习类加载器主要是将字节码文件加载成字节码对象。如果要对一个java文件进行修改,可以有两种方式,第一种:在源文件处进行修改。另一种:对加载类...原创 2019-03-30 17:27:58 · 199 阅读 · 0 评论 -
一个.java文件中可以有几个同级类
转载:https://www.cnblogs.com/sev7en-/p/6880666.html看到学弟发的一个动态,仔细了解了一下一个.java文件中可以有几个同级类?在一个.java文件中可以有多个同级类(和public一样的位置,注意不是内部类).其修饰符只可以public/abstract/final/和无修饰符,不能是其他的protected/private等修饰符。所以p...转载 2019-03-28 21:43:18 · 622 阅读 · 0 评论 -
JavaWeb学习笔记十:Filter过滤器学习,实现自动登录业务,通过装饰者模式和过滤器解决乱码问题
文章目录1. Filter过滤器学习1.1. Filter的生命周期1.2. 总结Filter的作用2. 案例一:实现登录功能3. 案例三:实现自动登录功能4. 案例四:解决全局乱码问题5. 通过Filter过滤器使用装饰者模式解决post,get提交的乱码问题1. Filter过滤器学习1.1. Filter的生命周期Filter的创建:当启动服务器时Filter过滤器开始创建。Fil...原创 2019-03-28 23:24:23 · 359 阅读 · 0 评论 -
java基础学习笔记之:一篇文章搞懂网络编程
1. 网络编程学习1.1. 扩展知识点网络协议OSI协议:网络协议的划分学习https://blog.csdn.net/taotongning/article/details/813529851.2. 网络协议那些事网络协议按照5层划分可以分为5层:物理层、数据链路层、网络层,传输层,应用层。每一层都有一定的协议标准定义。物理层:物理层的协议是根据硬件传输数据的特性制定的协议,由...原创 2019-07-08 13:55:32 · 354 阅读 · 0 评论 -
java学习之list接口
一、list接口的三大特性首先list接口有三大特性,1、存储的元素是有序的,存储的数据什么样,取出的数据还是什么样。2、存储的元素具有索引,因为有索引所以能够对元素进行精确的控制。要防止越界3、能够存储重复的元素。因此他的实现类,ArrayList 类和LInkedList也具有这样的特性。list接口重写了collection的方法,如:而colle...原创 2019-01-17 11:01:24 · 195 阅读 · 0 评论 -
java环境变量的配置以及配置原因分析理解
一、为什么要进行环境变量配置?1、比如你写了一个.java文件,但是需要运行这个java文件。是有jvm虚拟机来运行的。但是如何让你的java文件与虚拟机相联系呢?这就需要用到环境变量了。2、要运行一个.java文件,首先你要知道都需要哪些准备,电脑系统,jvm虚拟机,.java文件。并让他们三者串联起来才是重点。二、电脑系统通过PATH路径寻找虚拟机,虚拟机通过CLASSPATH路径...原创 2019-01-10 00:30:27 · 376 阅读 · 0 评论 -
java中的System类
一、System类静态写死了,不允许其他类调用,其方法都是静态方法,直接类名调用即可。匿名对象用完之后就是垃圾了。二、在搞对象数据的加减法时,不能直接输出。因为会损失精度。应当适当调用一定的类。’还有这个 ...原创 2019-01-15 16:41:28 · 895 阅读 · 0 评论 -
java中的API,学习object的类中equals()方法中的问题,
一、什么是API即:Application Programing interface应用程序接口。就是javajdk中提供给我们使用的类,已经封装好的,直接拿来用就行了。二、Object类object类是所有类的父类,在lang包中,lang包不用导入。接口中没有构造方法,全是抽象方法。 三、equals()方法学习中遇到的问题。第一个问题:利用多态向下转型,进行比...原创 2019-01-13 13:28:47 · 295 阅读 · 0 评论 -
java中多态的理解,instanceof关键字,向上向下转型的理解
一、多态的定义比如:人可以是学生,也可以是老师,也可以是军人。这就表现了人的多种形态性。多态就是多种形态。多态的最终体现为:父类的引用变量可以指向子类对象。多态的前提是必须有子父类关系,或者类实现接口关系,否则无法完成多态。在使用多态后,父类的引用变量调用方法时,会调用子类重写后的方法。二、多态使用格式多态的格式就是父类的引用变量指向子类对象。此外:抽象类,接口都可...原创 2019-01-07 21:33:16 · 551 阅读 · 0 评论 -
java集合中的set接口,HashSet集合,哈希链表的特性,hashCode和equals()方法的作用和深入理解,哈希表一些问题。两道面试题
一、set接口和List接口中的区别注意:set接口中的方法和Collection接口中的方法一模一样。二、Set接口的实现类1、HashSet集合 ,本质是HashMap<>2、set接口使用无序例子:注意:输出时没有按输入时的顺序输出。3、增强for的形式不允许存储元素,如果有重复元素不会报错,但是只会输出一个。三、哈希表的特...原创 2019-01-17 20:41:02 · 465 阅读 · 0 评论 -
java中类的接口的理解
一、引用类型引用类型有三种:类,数组,接口。二、接口的定义1、接口是功能的集合,比抽象类更抽象,是数据类型,但不是类。2、接口只描述所具备的方法,并没有具体实现,具体实现由接口实现类完成。3、interface关键字接口使用interface替代了原来的class关键字。其他步骤与类的定义相同。三、接口中的成员变量和成员方法的定义1、接口中的方法都是公共访问的抽象方...原创 2019-01-07 14:49:03 · 1843 阅读 · 0 评论 -
java之数据的存储结构
一、数据的存储结果有哪些?堆栈(先进后出),队列(先进先出),数组(随机查询),链表(增删很简单)1、ArrayList集合本质是一种可以扩容的数组,增删慢,查询块。数组就是随机存储嘛。2、LinkedList集合本质是一个链表,增删快,查询慢在使用LinkedList集合时,最好使用LinkedList创建对象,不要用多态,因为用多态无法使用LinkList的特有功能...原创 2019-01-17 11:59:16 · 1094 阅读 · 0 评论 -
java中抽象类的学习
一、抽象类的产生抽象类的产生和继承有关,和父类有关,父类就是子类的共性抽取出来的。所谓的抽象,就是不是一种实物,比如人、猫、狗抽象出来是动物,人是实物、对象,猫是实物、对象。但是动物就不是实物和对象。动物就是抽象出来的。因此抽象类就是从实物中抽取出来的共性组成的类。二、abstract关键字抽象的方法是没有主体的方法,必须使用关键字abstract修饰。抽象的方法必须存在于抽象类中,而...原创 2019-01-06 18:27:58 · 357 阅读 · 0 评论 -
java中继承的理解,super关键字,方法的重写和重载以及注意事项理解
一、类的继承理解在java中类的继承是指:在一个现有类的基础之上去构建一个新的类,构建出来的新的类被称为子类,现有类是父类,子类会自动拥有父类所有可继承的属性和方法。继承类是现有类的更具体一些,继承类可能只拥有一部分父类的属性和方法。如图,这就表示了继承类是父类的一种更具体形式。二、继承类的使用1、需要关键字extends如图继承了Employee类一旦继承,父类的所有...原创 2019-01-06 15:50:13 · 477 阅读 · 0 评论 -
java中this关键字的作用
一、java中出现了一个小问题(就近原则问题)java中类实现了封装并通过private对成员变量进行了私有化。但是又出现了新的问题。下面看图片。这是创建了一个person类,并定义了两个私有的成员变量name和age还有一个方法speak()方法。但是要注意到方法speak()中也有两个局部变量name和age这两个变量和成员变量重名了。二、局部变量和成员变量重名就会产生一个...原创 2019-01-06 13:40:57 · 7586 阅读 · 2 评论 -
java的封装,private关键字
一、封装表现1、方法就是一个封装2、类其实也是一个封装体。二、封装好处1、提高代码复用性2、隐藏实现细节,并对外提供调用方式,这也是封装概念。3、提高了安全性三、封装是如何提高安全性的封装提高安全性的定义:不让外边的类直接调用我的成员变量。比如一个Person类有两个成员变量age,和name。注意这种写法,外类(同一个包里的类)可以对年龄,姓名赋值。一旦外...原创 2019-01-06 12:04:52 · 1198 阅读 · 1 评论 -
java中toStrig类的重写,String类的详解。
一、toString类介绍即:返回该对象的字符串表示。如果要输出一个对象,必定会调用toString()语句。打印p对象和打印s变量其实是一样的结果。因为在打印p对象时,会有这个暗操作p.toString();注意:当没有重写toString()方法时,会打印地址。如果重写了toString()会打印重写的内容。二、String类学习把String 类看引用类型,Str...原创 2019-01-13 17:03:02 · 1757 阅读 · 0 评论 -
java之StringBuffer类、String类和StringBuilder类的区别
一、String类的缺点String类定义的字符串是不可变得。比如:String str="new";对于字符串“new” 是定义好的不能变得这是一个固定好的数组。这样就大大浪费了内存空间为什么呢?因为:string本身是不可改变的,它只能赋值一次,每一次内容发生改变,都会生成一个新的对象,然后原有的对象引用新的对象,而每一次生成新对象都会对系统性能产生影响,这会降低.NET编译器的工作效...原创 2019-01-13 18:36:37 · 461 阅读 · 0 评论 -
java中的包装类理解与学习
一、包装类的作用1、由于在web网站中输入的年龄等都是字符串,但是在开发中需要将字符串转换成数据类型,怎么转换呢?这就需要引入包装类,重点是看Integer包装类。下图是String类型转为int类型2、int类型转为String类型也可以调用toString()静态方法。Interger的十进制转换:3、Interger自动装箱和拆箱技术包...原创 2019-01-15 14:15:10 · 357 阅读 · 0 评论 -
java中四种权限修饰符,静态代码块,构造代码块,构造方法执行顺序。
一、java中类有四种权限1、要想仅能在本类中访问使用private修饰。2、要想本包中的类都可以访问不加修饰符即可。3、要想本包中的类与其他包中的子类可以访问使用protected修饰。(不在同一包中时,只能在子类里面可以调用,其他测试类建对象都不行,只给不同包中的子类。)4、要想所有包中的类都可以使用,用public修饰。(如果类用public修饰,类名必须与文件名相同,一...原创 2019-01-09 16:51:32 · 629 阅读 · 0 评论 -
java中包的理解,普通类、抽象类、接口作为方法参数传值情况,作为返回值的传递情况。
一、包的概念用于存放类文件,包含源文件还有.class文件。通过包的分类管理让功能相同的类放在一个文件夹里。作用:为类文件进行分类管理。二、包的声明格式通常使用公司网址反写。包名全部采用小写字母。多层包用.连接。包的声明必须在有效代码的第一行。导包:import java.util.*其中.*的意思是将util包里的内容全部导进来。导包必须引入到类真正的文件夹中。比如L...原创 2019-01-09 16:18:08 · 1077 阅读 · 1 评论 -
java内部类学习,匿名内部类的调用。
一、什么是内部类顾名思义,内部类就是将类写在其他类的内部,可以写在其他类的成员位置和局部位置,这时写在其他类内部的类就称为内部类。二、什么时候用内部类如果一个事物里包含着其他事物,其他事物,可以创建一个内部类。三、内部类的划分内部类分为成员内部类和局部内部类。内部类也会生成.class文件。1、成员内部类定义在外部类中的成员位置,与类中的成员变量相似,可通过外部类对...原创 2019-01-09 15:57:15 · 3555 阅读 · 0 评论 -
java中的匿名对象学习
一、什么是匿名对象是指:只有创建对象的语句,确没有把对象地址值赋值给某个变量。如图:匿名对象有个弊端,只能使用一次。有名对象可以反复使用。但是频繁的创建对象会造成资源的浪费。匿名对象一般用于:1、一次调用方法2、把匿名对象当做一个参数传给一个方法,在方法里执行一个功能。3、当返回值返回。 ...原创 2019-01-09 14:30:05 · 479 阅读 · 0 评论 -
java中的static关键字再学习,静态成员内存理解,静态常量应用,静态修饰成员在多态调用中的问题
一、static的启用原因1、假设一个Student类,包含三个属性,姓名,年龄,学校。姓名,年龄不同,但是学校都相同,当实例化这个类时都会对这三个属性赋初值。由于学校都相同,new的次数越多,就会形成了巨大的浪费。为了杜绝这种浪费,设置了一个共享数据方法,即static关键字。这就是static的由来,用于共享数据,和方法,减少资源浪费。也就是说,对象的特有数据用非静态修...原创 2019-01-09 12:40:22 · 627 阅读 · 1 评论