javaSE学习笔记
基本学习笔记
康康的码农之路
再学点什么好
展开
-
自定义注解的使用
java自定义注解的使用(用反射)原创 2022-07-19 20:45:21 · 110 阅读 · 0 评论 -
多线程的三大特性 简单理解
多线程的三大特性原创 2022-07-08 11:58:31 · 118 阅读 · 0 评论 -
Springcloud框架的介绍
https://www.sohu.com/a/302732516_100199048原创 2021-10-16 01:46:53 · 65 阅读 · 0 评论 -
用递归求n的阶乘到1的阶乘之和
原创 2021-10-11 23:10:19 · 203 阅读 · 0 评论 -
反射的学习
反射机制有什么用?通过反射机制可以操作字节码文件要操作一个类的字节码,需要首先获取到这个类的字节码,怎么获取java.long.class实例三种方式(1)(2)字节码文件装载到JVM的时候只有一份(3)通过反射实例化对象关于路径的问题资源绑定器类加载器的学习...原创 2021-10-11 19:16:20 · 59 阅读 · 0 评论 -
线程安全的问题和解决
代码(1)实体类(2)操作共享数据 ,只new了一个对象,用不同的栈操作这个堆(3)当数据都是5000的时候,发生线程安全问题使用线程同步机制,解决线程安全问题sycophantic(){线程同步代码块}sycophantic后面的括号是相当重要的,这个括号里面传的是多线程共享的数据,才能达到多线程排队()中写什么?那要看那些线程同步假设 1,2,3,4,5让 1,2,3排队,4 , 5 不排队一定要在()中写一个 1 ,2,3中共享的数据,而这个对象对于4 ,5 .原创 2021-10-11 15:54:15 · 92 阅读 · 0 评论 -
多线程概述
什么是线程? 什么是进程?进程是应用程序(1个进程是一个软件)线程是进程中的执行场景/执行单元一个进程可以启动多个线程进程和进程之间的内存地址独立不共享在java语言中 :线程和线程之间的堆内存和方法区内存共享,但是栈内存独立,一个线程一个栈假设启动10个线程,会有10个栈空间,每个栈和每个栈之间,互不干扰,各自执行各自的,互相不干扰,这就是多线程并发。main方法结束不代表程序结束,只代表主线程结束。其他线程可能还在执行分析对于单核的cpu,真的可以做到多线程并发吗?(单核的cpu表示只.原创 2021-10-11 09:44:21 · 5447 阅读 · 0 评论 -
序列化和反序列化的理解
原创 2021-10-10 21:48:41 · 46 阅读 · 0 评论 -
对象专属流的学习
java.io.File类的学习file类和四大家族没有关系,所以不能完成四大家族的读和写flie对象代表什么?文件和路径名的抽象表示形式需要掌握file类中常用的方法常用方法的学习原创 2021-10-10 20:09:52 · 45 阅读 · 0 评论 -
标准流的学习
原创 2021-10-10 19:50:47 · 61 阅读 · 0 评论 -
缓冲流的学习
bufferedreader带有缓冲区的输入流,使用这个流的时候不需要自定义char数组,或者说不需要自定义byte数组,自带缓冲节点流和包装流原创 2021-10-10 19:39:08 · 61 阅读 · 0 评论 -
拷贝的原理
一边读一边写字符输出流它是一次读取一次字符原创 2021-10-10 19:23:32 · 169 阅读 · 0 评论 -
Io流的学习
什么是IO流从硬盘读到内存的过程叫读入,input从内存读到硬盘的过程叫读出,output通过io可以完成硬盘文件的读和写io流的分类有多种分类方式,(1)按照流的方向进行分类以内存作为参照物,往内存中去,叫做输入,或者叫做读。从内存中出来,叫做输出,或者叫做写。(2)按照读取数据的不同方式进行分类:有的流按照字节的方式读取数据,一次读取一个字节,等同于一次读取8个二进制位这种流的万能流,什么类型的文件都可以读取,包括:文本文件,图片,声音有的流是安装字符的方式读取数据的,一次读取.原创 2021-10-10 18:34:23 · 81 阅读 · 0 评论 -
treemap的学习
treemap无法对自定义类型定义treemap自定义类型要实现comparable接口才能进行比较,也可以自定义比较器进行比较treemap在进行比较的时候有两个构造方法,一个无参,一个有参,无参的时候可以实现comparable接口,有参的可以自定义一个比较器...原创 2021-10-10 16:39:20 · 94 阅读 · 0 评论 -
properties的学习
原创 2021-10-10 00:46:30 · 84 阅读 · 0 评论 -
hashMap
hashMap集合:(1)hashMap集合底层是哈希表、散列表的数据结构(2)哈希表是一个怎么样的数据结构呢?哈希表的底层是数组+单向链表的结合体数组:在查询方面效率较高,在别的方面效率较低单向链表:在增删方面效率较高,在查询方面效率较低哈希表将以上两种数据结构融合在一起,充分发挥出他们的优点(2)map.put的实现原理(3)map.put的实现原理(4)为什么哈希链表的随机增删,以及查询效率都能高?增删都是在链表上完成、查询也不需要通过扫描,只需要部分扫描(5)has.原创 2021-10-10 00:44:10 · 62 阅读 · 0 评论 -
Map集合的学习
Map和Collection没有继承关系Map集合以key和value的形式存储数据,键值对key和Value都是引用数据类型key和value都是存储对象的内存地址key起到主导的地位,value是key的一个附属品Map集合所有的方法最后一个方法的解释Map集合的遍历(1)第一种方式(2)第二种方式...原创 2021-10-09 22:27:36 · 62 阅读 · 0 评论 -
vector的学习和泛型
初始容量是10,是线程安全的扩容之后是原容量的二倍vector所有方法都是线程同步的,都带有synchronized关键字 ,是线程安全的,效率比较低,使用较少泛型(1)(2) 泛型属于编译阶段的一种新特性,让编译器过了就行(3)使用泛型的好处是什么?第一:集合中存储的元素类型统一了。第二:从集合中取出的元素类似是泛型指定的类型,不需要进行大量的“向下转型”(4)泛型的缺点是什么?导致集合中存储的元素缺乏多样性(5)自定义泛型new什么,使用的方法就返回什么自定义泛型的时候,.原创 2021-10-09 21:46:39 · 170 阅读 · 0 评论 -
ArrayList的学习
默认初始化容量是10底层数组是一个object数组扩容之后进行按位运算,左移一位,扩容1.5倍它也可以指定一个容量,用构造方法还有一个构造方法,可以加入别的集合原创 2021-10-09 16:09:08 · 39 阅读 · 0 评论 -
list的学习
list(collection的子接口)的元素集合存储元素特点:有序可重复(1)集合元素中有下标,从0开始,依次递增。存进去的顺序和取出来的顺序一样,可以存放相同的元素(2)list接口特有的常用的方法(1)(2)(3)(4)(5)...原创 2021-10-09 15:45:23 · 57 阅读 · 0 评论 -
collection的学习
collection能存放那些元素?没有使用泛型之前,collection可以存储所有的类型,使用了泛型之后,collection只能存储具体的类型collection中啥都能存,只要是object的子类型都可以collection接口的方法迭代器集合结构发生改变,迭代器必须重新获取,如果还是用以前的迭代器,会出现异常。如果之后集合还要添加元素,则重新再写一个迭代器调用hasnext方法,判断有没有下一个元素,返回true或者false。如果返回为true的话,调用下一个方法next,返.原创 2021-10-09 15:25:38 · 107 阅读 · 0 评论 -
集合的学习
集合概述(1)什么是集合?有什么用?数组其实就是一个集合,集合实际上就是一个容器,可以用来容纳其他类型的数据。集合为什么在java中使用的比较多?集合是一个容器,是一个载体,数据库当中有10条数据封装成10个对象,然后将10个java对象放到某一个集合上,将集合传到前端,然后便利集合,起到承载的作用。(2)集合不能存储基本数据类型,另外集合也不能直接存储java对象,集合当中存储的都是java对象的地址。(或者说集合中存储的是引用)注意:集合在Java中本身是一个容器,是一个对象去。集合中任..原创 2021-10-09 10:52:52 · 89 阅读 · 0 评论 -
日期类和异常类
date用的是utils包,不是long包的要导入包异常是一个类,在出现错误的时候,系统自动创建一个异常类,并且输出到控制台异常类Throwable的父类也是object异常类分为两类,一类是错误error,一类是异常exception异常类exception分为编译时异常和运行时异常,但他们发生异常的时候,都是在运行的时候发生的,因为只要在运行的时候,才会new一个对象。编译时异常必须得先处理,不然编译器会报错,处理有两种方式,一种是捕捉,一种是抛出用try …catch捕捉,如果try里面.原创 2021-10-08 22:51:27 · 102 阅读 · 0 评论 -
包装类的学习
java为8种基本数据类型对应准备了8种包装类型,8种包装类型属于引用数据类型,父类是Object类型为什么要提供8种包装类?因为8种基本数据类型不够用,所以SUN公司又提供了8种基本数据类型的包装类对应的包装类型自动装箱和自动拆箱(jdk1.5之后支持的) Number中有很多方法,可以拆箱java的功能int integer String 互相转换...原创 2021-10-04 22:55:27 · 50 阅读 · 0 评论 -
String的学习
Stirng的学习(1)String表示字符串,属于引用数据类型,不属于基本数据类型。(2)在java中随便使用双引号括起来的都是String对象,例如“abc”,“ccc”都是String对象(3)java中规定,双引号括起来的字符串是不可变的(4)在JDK中双引号括起来的字符串,都是直接存储在方法区的常量池当中的为什么sun公司把字符串存储在常量池当中呢?因为字符串在实际过程中使用太频繁,为了提高效率(5)垃圾回收机制是不会释放常量池里面的东西的(6)==表示的是存储的东西是否相.原创 2021-10-04 21:41:47 · 156 阅读 · 0 评论 -
一维数组和二维数组的学习
java语言中的数组是一种引用数据类型,不属于基本数据类型,数组的父类是object类型。数组实际上是一个容器,可以同时容纳多个元素。(数组是一个数据的集合)数组当中可以存储基本数据类型的数据,也可以存储引用数据类型的数据数组因为是引用类型,所以数组类型是在堆类型当中。数组当中如果存储的是java对象的话,实际上存储的是对象的引用(内存地址),数组中不能直接存储java对象。数组一旦创建,在java中规定,数组长度不可变数组的分类:一维数组,二维数组,三维数组,多维数组所有的数组都有leng.原创 2021-10-04 15:48:55 · 108 阅读 · 0 评论 -
匿名内部类
什么是匿名内部类内部类:在类的内部又定义了一个新的类,被称为内部类内部类的分类(1)静态内部类:类似于静态变量(2)实例内部类 :类似于实例变量(3)局部内部类:类似于局部变量使用内部类编写的代码可读性很差匿名内部类是局部内部类的一种。...原创 2021-10-03 17:24:37 · 50 阅读 · 0 评论 -
Object类
Object类中那些常见的方法?我们去哪儿找?第一种方法:去源码中找第二种方法:去查阅java的类库的帮助文档什么是API?应用程序编程接口整个JDK的类库就是一个javase的API每一个API都会配置一个API帮助文档。tostring方法 重写就行比较是否相等(==)(1)两个变量相比判断保存的变量是否相等(2)两个引用变量相比(就是对象)判断保存的地址是否相等所以判断两个对象是否相等,不能用==来判断,需要子类重新写equalsfinalize()方法(1)finali.原创 2021-10-03 17:05:49 · 48 阅读 · 0 评论 -
访问控制权限
访问控制权限都有哪些privateprotectedpublic默认的控制的范围是什么?private :表示私有的,只能在本类中访问public: 表示公开的,在任何位置都能够访问protecte:表示只能在子类,同包,子类中访问默认:表示只能在本类,以及同包下访问。访问控制权限可以修饰什么?属性,方法,类,接口都可以属性(四个都能用)方法(四个都能用)类(public和默认能用,其他不能用)接口(public 和默认能用,其他不能用)...原创 2021-10-03 01:30:58 · 97 阅读 · 0 评论 -
关于java语言中的包和import机制
为什么要使用package?package是java中的包机制,包机制的作用是为了方便程序的管理不同功能的类分别存放在不同的包下。package是一个关键字,后面加包名,package com.fasdfasd.fasdfspackage只能出现在java语句中的第一行包名的命名规范一般采用公司域名倒叙的方式(因为公司域名具有全球唯一性)公司域名倒叙+项目名+模块名+功能名对于带有package的java程序怎么编译,怎么运行。包名+类名...原创 2021-10-03 01:10:01 · 70 阅读 · 0 评论 -
接口和抽象类的区别
语法上的区别抽象类是半抽象的,接口是完全抽象的抽象类中有构造方法,接口中没有构造方法接口和接口之间支持多继承,类和类之间只能单继承一个类可以同时实现多个接口,一个抽象类只能继承一个类接口中只支持常量和抽象方法...原创 2021-10-02 17:08:17 · 69 阅读 · 0 评论 -
接口的基本概念
接口也是一种引用数据类型(编译之后也是一个class字节码文件)接口是完全抽象的。(抽象类是半抽象的)或者也可以说接口是特殊的抽象类接口的定义,语法是什么?[修饰符列表] interface 接口名{}接口支持多继承,一个接口可以继承多个接口。接口中只包含两部分内容,一部分是常量,一部分是抽象方法。interface MaMath{public abstract int sum(int a,int b);}接口中既然都是抽象方法,那么public 和 abstrac..原创 2021-10-02 17:00:12 · 606 阅读 · 0 评论 -
抽象类的概念
抽象类什么是抽象类抽象类是类和类之间有共同特征,将这些有共同特征的类再进一步抽象形成了抽象了,由于类本身是不存在的,所以抽象类无法创建对象。(抽象类和抽象类之间实际上可能还会有共同特征,还可以进一步再抽象,对象到类是抽象,类到对象是实例化)抽象类属于什么类型抽象类也属于引用数据类型,抽象类怎么定义语法:[修饰符列表] abstract class 类名{类体;}抽象类是无法实例化的,无法创建对象的,所以抽象类是用来被子类继承的,抽象类的子类也可以是一个抽象类fi原创 2021-10-02 10:47:08 · 197 阅读 · 0 评论 -
对象的创建
在语法级别上是怎么完成对象的创建的呢?类名 变量名= new 类名();这样就完成了对象的创建类中的属性为成员变量。成员变量可以不赋值,系统默认初值。引用类型的默认值为null实例变量实际上就是对象级别的变量。实例变量在访问的时候,是不是要先创建对象?实例变量不能通过类名.属性调用成员变量中的实例变量,必须先创建对象,通过引用来访问创建对象JVM内存分析参数传递java中规定:参数传递的时候,和类型无关,不管是基本数据类型还是引用数据类型,统一都是将盒子中保存的那个值复制一份,传递.原创 2021-08-23 19:34:33 · 88 阅读 · 0 评论 -
认识面向对象的学习
面向对象和面向过程有什么区别?(1)从语言出发:对于c语言来说,是完全面向过程的对于c++来说,是一半面向对象,一半面向过程的对于java语言来说,是完全面对对象的什么是面向过程的开发方式?面向过程的开发方式的特点是:注重步骤,注重的是实现这个功能的步骤。第一步干什么第二步干什么…因为A所以B因为B所以C因为C所以D另外面向过程也注重实现功能的因果关系,面向过程没有对象的概念,只是实现这个功能的步骤以及因果关系。(2)面向过程有什么缺点?面向过程最主要的是每一步和每一步的因.原创 2021-08-23 15:20:11 · 50 阅读 · 0 评论 -
方法的学习
方法代码可以复用,需要使用该功能的时候,调用一下方法即可,这样代码就得到复用了方法怎么定义,语法机制是什么?[修饰符列表] 返回值类型 方法名(形式参数列表){方法体;}注意:[]符号叫做中括号,以上中括号[]里面的内容表示不是必须的,是可选的。方法体由java语句构成,方法定义之后需要去调用,不调用是不会执行的。也可以定义成测试方法。关于返回值类型第一:返回值类型可以是任何类型,只要是java中合法的数据类型就行,数据类型包含基本数据类型和引用数据类型,也就是说返回值类型可以是:byt.原创 2021-08-23 10:59:45 · 68 阅读 · 0 评论 -
控制语句的学习
控制语句控制语句的出现可以让我们的程序具有条理性,可以使用控制语句具体的实现一个业务了2.控制语句分为几类3类选择语句 选择语句也可以叫分支语句(if,Switch)(1)if语句(在任何情况下,只能有一个分支执行,不可能存在大于2个或者更多个分支执行,if语句中只要有一个分支执行了,整个if语句就结束了)第一种写法if(boolean){java语句;}第二种写法if(boolean){java语句;}else{java语句}第三种写法if(boolean){ja原创 2021-08-20 19:10:39 · 61 阅读 · 0 评论 -
运算符的学习
算术运算符关系运算符(运算结果是布尔类型)逻辑运算符(逻辑运算符的两边只能是布尔类型,两边的运算结果也只能是布尔类型)&逻辑与(全真取真)|逻辑或(有真取真)!逻辑非(取反)&&短路与(当一个是false,就不执行后面的)||短路或(当第一个是true,就不执行后面的)解释:短路与与逻辑与有什么区别?首先这两个运算符的运算结果没有任何区别,完全相同。只不过短路与会发生短路现象赋值运算符+= 不会改变变量本身的数据类型例如 byte x=1;x+=100;.原创 2021-08-19 23:36:27 · 113 阅读 · 0 评论 -
数据类型的学习
数据类型的作用数据类型用来声明变量,程序在运行过程中根据不同的数据类型分配不同的空间大小数据类型的分类第一种:基本数据类型可以划分为四大类八小种第一类:整数型 byte int short long 没有小数的 字节(1 2 4 8)第二类:浮点型 float double 带小数的 字节(4 8)第三类:布尔型 boolean true false 字节(1)第四类:字符型 char 必须用单引号括起来 字节(2)第二种:引用数据类型(java中除了基本数据类型,剩下的都是引用数.原创 2021-08-19 23:00:28 · 130 阅读 · 0 评论 -
变量的学习
变量的引出?在java语言中,“数据”被称为“字面量”。字面量可以分为很多种:整数型字面量浮点型字面量布尔型字面量字符型字面量字符串字面量…字符型一定是单个字符 ‘a’这样的对 ‘ab’这样的不对,编译报错只有字面量是不够的,因为内存无法重复利用。变量的空间是可以重复利用的int a=10;sout(a);sout(a);sout(a);sout(a);这些输入语句都是找的变量asout(‘a’);输出的是字符asout(“a”);输出的是字符串a 都不是变量a..原创 2021-08-11 22:49:14 · 53 阅读 · 0 评论