
JAVA
文章平均质量分 61
是由 Sun Microsystems 公司于 1995 年 5 月推出的高级程序设计语言。
(YSY_YSY)
有道无术,术尚可求;有术无道,止于术。
展开
-
java之static关键字
staic关键字的作用:1.使用static关键字修饰一个属性声明为static的变量实质就是全局变量2.使用static关键字修饰一个方法通常,在一个类中定义一个方法为static,那就是说,无需本类的对象即可调用此方法3.使用staic关键字修饰一个类(内部类)声明为static的方法有以下几条限制它们仅能调用其他的static方法它们只能访问static数据它们不能以任何方式引用this或super。什么时候使用static所有对象共同的属性或方法,那么我们可以定义为静态的。总结原创 2022-07-05 11:25:40 · 308 阅读 · 0 评论 -
java之值传递与地址传递
值传递:是指在调用函数时将实际参数复制一份到函数中,这样在函数中如果对参数进行修改,将不会影响到实际参数。对象的地址传递字符串的地址传递字符串本身就是一个对象原创 2022-07-04 21:16:40 · 1281 阅读 · 0 评论 -
java之ArrayList和Vector源码分析
ArrayList1.实现原理:采用动态对象数组实现,默认构造方法创建一个空数组,2.第一次添加元素,扩充容量为10,之后的扩充算法:原来数组大小+原来数组的一半(1.5倍)3.不适合进行删除或插入操作4.为了防止数组动态扩充次数过度,建议创建ArrayList时,给定初始容量5.线程不安全,适合单线程访问时使用JDK1.2开始1.实现原理,采用动态对象数组实现,默认构造方法创建了一个大小为10的对象数组2.扩充的算法:当增量为0时,扩充为原来大小的2倍,当增量大于0时,扩充为原来大小+增量原创 2022-06-29 19:29:57 · 157 阅读 · 0 评论 -
java之二分查找算法
二分法查找(折半查找):前提是在已经拍好序的数组中,通过将待查找的元素与中间索引值对应的元素进行比较;若大于中间索引值对应的元素,去右半部分查找,否则,去左半部分查找。依次类推。值到找到为止;找不到就返回一个负数。注意:折半查找要求线性表必须采用顺序存储结构,而且表中元素关键词有序排序。......原创 2022-06-28 21:12:55 · 368 阅读 · 0 评论 -
java之冒泡排序和选择排序和直接插入排序原理
冒泡排序算法的运作如下:(从后往前)比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每个一对相邻元素作同样的工作,从开始第一对到结尾的最后一对,在这一点,最后的元素应该会是最大的数。针对所有的元素重复以上的步骤,除了最后一个。持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。相同元素的前后顺序并没有改变,所以冒泡排序是一种稳定排序算法。总结:冒泡排序算法是常见面试基础算法之一,心法:N个数字来排队,两两相比比小靠前;外层循环N-1,内层循环N-1-i;每一趟从待排序的原创 2022-06-28 20:54:57 · 895 阅读 · 0 评论 -
idea中相同包不聚合
idea中创建子包不折叠项目场景:问题描述:原因分析:解决方案:项目场景:提示:idea使用中出现的问题,突然发现相同包不能聚合了。问题描述:提示:相同包不能聚合,突然出现很多路径相同的很多包下的文件。原因分析:提示:不小心将设置动了。解决方案:1.取消平包效果如下:...原创 2021-06-21 18:05:19 · 982 阅读 · 0 评论 -
java---多线程
多线程1.什么是进程2.什么是线程3.进程和线程的区别4.线程的组成5.线程的特点6.创建线程7.获取和修改线程名称8.线程的状态(基本)9.常见方法10.线程的状态(等待)11.线程的安全问题12.同步方式(1)13.线程的状态(阻塞)14.同步方式(2)15.同步规则16.经典问题17. 线程通信1.什么是进程2.什么是线程3.进程和线程的区别1.进程是操作系统资源分配的基本单位,而线程是cpu的基本调度单位2.一个程序运行后至少有一个进程3.一个进程可以包含多个线程,但是至少需要一原创 2021-07-13 17:18:00 · 96 阅读 · 1 评论 -
java包装类(装箱和拆箱)
包装类1.什么是包装类?2.类型转换与装箱,拆箱Integer缓冲区1.什么是包装类?基本数据类型所对应的引用数据类型。Object可统一所有数据,包装类的默认值是null。2.类型转换与装箱,拆箱8种包装类提供不同类型间的转换方式:Number父类中提供的6个共性方法。parseXXX()静态方法。valueOf()静态方法。注意:需要保证类型兼容,否则抛出NumberFormException异常。装箱:基本类型转成引用类型的过程拆箱:引用类型转成基本类型publ原创 2021-07-13 11:55:25 · 224 阅读 · 1 评论 -
Java---List子接口
List子接口List实现类ArrayList的使用特点:有序,有下标,元素可以重复。方法:void add(int index,Object o) //在index位置插入对象o。boolean addAll(int index,Collection c) //将一个集合中的元素添加到集合中的index位置。Object get(int index) //返回集合中指定位置的元素。List subList(int fromIndex,int toIndex) //返回fromIndex原创 2021-07-10 09:41:27 · 218 阅读 · 2 评论 -
Java之集合(Collection)
集合1.Collection集合2.Collection父接口概念:对象的容器,定义了对多个对象进行操作的常用方法。可实现数组的功能。和数组的区别:(1) 数组长度固定,集合长度不固定(2)数组可以存储基本类型和引用类型,集合只能存储引用类型位置:java.util.*;1.Collection集合2.Collection父接口特点:代表一组任意类型的对象,无序,无下标,不能重复。方法boolean add(Object obj) //添加一个对象。boolean a原创 2021-07-08 15:11:38 · 124 阅读 · 0 评论 -
java之Stream流
java之Stream流1.什么是Stream流2.Stream特点3.Stream使用步骤4.创建Stream5.中间操作6.终止操作1.什么是Stream流流(Stream) 中保存对集合或数组的操作。和集合类似,但集合中保存的是数据。2.Stream特点Stream自己不会存储元素。Stream不会改变源对象。相反,他们会返回一个持有结果的新Stream。Stream 操作是延迟执行的。这就意味他们会等到需要结果的时候才执行。3.Stream使用步骤创建新建一个流原创 2021-06-19 17:47:45 · 123 阅读 · 0 评论 -
Java8之Lambda表达式
Java81.java8概述2.Lambda表达式函数式接口方法引用 1.java8概述java8(又称JDK1.8)是Java语言开发的一个主要版本。Oracle公司于2014年3月18日发布Java8.支持Lambda表达式函数式接口新的Stream API新的日期 API2.Lambda表达式Lambda表达式:特殊的匿名内部类,语法更简洁。Lambda表达式允许把函数作为一个方法的参数(函数作为方法参数传递),将代码像数据一样传递。基本语法<函数式原创 2021-06-19 14:50:21 · 102 阅读 · 0 评论 -
java序列化和反序列化
序列化和反序列化1. 序列化2.反序列化使用集合来实现多个对象序列化1. 序列化1.使用ObjectOutputStream实现对象的序列化注意:1.序列化类必须要实现Serializable接口2 .序列化类中对象属性要求实现Serializable接口3.序列化版本号ID serialVersionUID,保证序列化的类和反序列化的类是同一个类4.使用transient<瞬间的>修饰属性,这个属性不能序列化5.静态属性不能被序列化6.序列化多个对象,可以借助集合实现S原创 2021-05-26 15:22:28 · 87 阅读 · 2 评论 -
Java-IO流
Java中的IO流1.什么是流2.流的分类3.字节流4.文件字节流FileInputStream4.1读取单个字节(read())4.2读取多个字节(read(byte[] b))FileOutputStream4.3写入单个字节(wirte(int b))4.4写入多个字节(write(byte[] b))5.文件字节流实现文件的复制1.什么是流概念:内存与存储设备之间传输数据的通道水借助管道传输;相当于数据借助流传输。2.流的分类按方向输入流:将<存储设备>中的内容读入原创 2021-05-26 14:49:08 · 102 阅读 · 0 评论