![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java基础详解
文章平均质量分 79
末、
这个作者很懒,什么都没留下…
展开
-
JAVA线程
继承Thread类实现Runnable接口实现Callable接口下面我们来具体的聊聊这三种方式:实现 Runnable 接口比继承 Thread 类所具有的优势 :线程的状态主要为五种:新建,就绪,运行,阻塞,死亡**新建:**当我们new 一个线程时,线程的状态为新建**就绪:**当我们的线程调用了start()方法时候**运行:**当线程获取到了CPU的使用权就会开始执行***阻塞:**阻塞的情况有三种:**死亡:**线程执行完毕或者是因为异常退出了run()方法下面上图来理解记忆:[外链图片转原创 2022-12-07 18:00:29 · 126 阅读 · 0 评论 -
JAVA线程
继承Thread类实现Runnable接口实现Callable接口下面我们来具体的聊聊这三种方式:实现 Runnable 接口比继承 Thread 类所具有的优势 :线程的状态主要为五种:新建,就绪,运行,阻塞,死亡**新建:**当我们new 一个线程时,线程的状态为新建**就绪:**当我们的线程调用了start()方法时候**运行:**当线程获取到了CPU的使用权就会开始执行***阻塞:**阻塞的情况有三种:**死亡:**线程执行完毕或者是因为异常退出了run()方法下面上图来理解记忆:[外链图片转原创 2022-12-06 18:02:17 · 269 阅读 · 0 评论 -
JAVA集合框架常用类总结
它使用hashMap的key来存储元素,value存储的是一个PRESENT,静态的Object对象。当我们用无参构造创建一个ArrayList对象的时候,ArrayList底层数组是一个空数组,2.linkedHashMap集合是一个有序的集合,存储元素和取出元素的顺序是一致的。2.HashMap集合是一个无序的集合,存储元素和取出元素的顺序有可能不一致。3).hashMap集合是一个线程不安全的集合,是多线程的集合,速度快。2).HashTable是一个线程安全的集合,是单线程。原创 2022-12-01 15:51:34 · 227 阅读 · 0 评论 -
JVM讲解
首先大家学Java都知道Java是跨平台的语言,一次编译到处运行。那么为什么Java能跨平台运行呢?其实就是我们今天要学习的jvm。我们不同的平台会安装不同的jdk,jdk当中又有不同的jvm虚拟机,然后不同的虚拟机可以将相同的字节码编译成不同的机器码供不同平台运行。看下图:下面我们再来看看我们的JVM内存模型图其中蓝色区域是线程独有的,黄色区域是线程共享的。上图可以看到,我们的JVM里面会有类装载子系统,也可说为类加载器,那么我们类加载器的作用是什么呢?原创 2022-12-01 15:46:59 · 101 阅读 · 0 评论 -
JAVA网络编程
TCP是面向连接的安全的流传输控制协议,确保数据的安全性,有验证重发的机制,所以不会出现求实或者乱序。UDP是面向无连接的不安全的数据报服务,它不对数据报进行检查与修改,无需等待对方应答,会出现分组丢失,重复乱序,但是具有很好的实时性。UDP段结构比TCP段结构简单,所以网络开销也比较小。TCP安全是因为他通过三次握手创建连接,四次挥手断开连接,他是点对点的连接而UDP相当于是广播,所以是不安全的三次握手:首先服务器端新建套接字,绑定地址信息后开始监听,进入LISTEN状态。原创 2022-12-01 15:44:42 · 414 阅读 · 0 评论 -
java类知识点总结
其他类访问静态内部类的静态变量或者是方法的时候可以直接通过外部类名.内部类名.方法名/变量名。静态内部类实例化与成员内部类有所不同。内部类可以作为JAVA的多继承的一种实现方式, 每个内部类都能独立的继承一个类或接口,所以整个类就可以实现多继承。静态内部类只能访问外部类的静态成员变量和静态方法,即使是private也可以。定义在一个方法内部的内部类,只能在当前方法中才能使用,方法外不能使用。静态内部类可以定义普通方法和变量,也可以定义静态变量和方法。在一个类的里面定义一个静态类就是静态内部类。原创 2022-12-01 15:43:53 · 132 阅读 · 0 评论 -
Java线程
线程的知识点总结原创 2022-11-16 17:08:14 · 111 阅读 · 0 评论 -
Java锁
CAS是compare and swap的缩写,即我们所说的比较交换。CAS有三个基本的操作数:内存位置(V)、旧预期值(E)、新值(N)首先当我们的线程修改值之前,会去内存地址V里面的值是否与旧预期值一样,一样的话就把内存里面的值更新为B不一样的话就会提交失败。然后该线程会把旧的预期值更新到自己的内存位置,又重新来一次上面说到的操作,这个重新尝试的过程就是我们常常天听到的自旋。原创 2022-11-16 17:05:38 · 233 阅读 · 0 评论 -
包装类和String类的详解
包装类和String类的详解一. 包装类含义:基本数据类型对应的类。出现的原因: java为纯面向对象的语言(万物皆为对象),而八种基本数据类型不能创建对象,破坏了java为纯面向对象语言的特征,所以java又给这八种数据类型分别分配了对应的类,这种叫做包装类/封装类。继承关系:基本数据类型引用数据类型byteByte extends Number extends ObjectshortShort extends Number原创 2021-08-04 20:43:30 · 1411 阅读 · 0 评论 -
Java内部类详解
内部类含义:一个类里面声明一个类 分类: 1.成员内部类 特点:可以调用外部类中所有的属性 2.静态内部类 特点:只能到调用外部类的静态属性 3.接口内部类 注意:接口内部类底层就是静态内部类 4.局部内部类 5.匿名内部类内部类的应用场景1:如果一个类的对象只在另外一个类中使用,就可以考虑把该类变成成员内部类或者静态内部类,如果内部类要用到外部类的所有属性就把该类变成成员内部类,如果内部类只用原创 2021-08-03 20:47:54 · 75 阅读 · 0 评论 -
面向对象详解
面向对象详解一. 概念现实生活:类:抽象的概念,把具有相同特征和操作的事物归为一类 先有实体,再有类的概念代码世界:类:抽象的概念,把具有相同属性和方法的对象归为一列编写顺序:先有类,再创建对象类的作用:类相当于一个模板,刻画出具有相同属性和方法的对象二. 类类中只有属性和方法属性也叫全局变量,属性分为成员变量和静态变量方法分为成员方法和静态方法public class 类名{ //属性也叫做全局变量,分为成员变量和静态变量 //成员变量原创 2021-08-02 20:37:59 · 103 阅读 · 0 评论 -
数组的详解
数组的详解一. 一维数组概念:一组数据的容器(数组可以存放多个数据)注意:1.数组是引用数据类型2.数组中的数据又叫做元素3.每个元素都有编号叫做下标/索引4.下标从0开始5.数组初始化后,会在内存中开辟一连串连续的空间6.数组一旦初始化后长度不可以改变(数组没有扩容和删除)7.数组的操作:添加、修改、查询数组的声明:数据类型[] 数组名;数组的初始化: 静态初始化:数据由程序员指定,长度由系统分配 动态初始化:长度由程序员指定,数据由系统分配(默认值) 整数类型:0原创 2021-07-28 14:36:43 · 615 阅读 · 0 评论 -
函数(方法)详解
函数(方法)详解一.静态方法概念:特定功能的代码块。好处:减少了代码的冗余方法的分类:静态方法、成员方法、构造方法注意:1.方法编写的位置:类里2.方法与方法之间是平级关系(不能在一个方法中声明另一个方法)3.方法不被调用,永远就是个摆设方法的语法结构分类:1.无返回值无参数的方法语法结构:访问修饰符 static void 方法名(){…代码块…} 2.有参数的方法 语法结构: 访问修饰符 static void 方法名(参数类型 变量名){原创 2021-07-26 20:26:16 · 66 阅读 · 0 评论 -
java的特殊流程控制语句详解
java的特殊流程控制语句详解一. break作用:作用于循环中,表示跳出当前循环//做实验: while(true){ System.out.println("111"); System.out.println("222"); if(true){ break; } System.out.println("333"); System.out.println("444"); }案例:循环录原创 2021-07-23 20:59:46 · 95 阅读 · 0 评论 -
Java循环的详解
Java循环的详解一. for循环含义:条件成立就重复执行好处:减少了代码的冗余(减少重复性的代码)语法结构: for(表达式1;表达式2;表达式3){ ...代码块... }理解:表达式1:初始化变量表达式2:判断条件表达式3:更新变量执行流程:1.初始化变量2.判断条件:判断条件的结果必须是boolean2.1 true - 执行代码块,并更新变量,重复第2个步骤2.2 false- 跳出整个循环语句for循环变形记:循环中声明变量的作用原创 2021-07-23 20:52:28 · 1137 阅读 · 0 评论 -
JAVA的运算符详解
运算符一. 算数运算符的基本使用算数运算符有:+、-、*、/、%、++、– int num1 = 10; int num2 = 5; int result = num1 + num2; System.out.println(result);//15 System.out.println(num1 - num2);//5 System.out.println(10 * 5);//50 System.out.println(10 / 5);//2 System.out.原创 2021-07-21 23:28:37 · 509 阅读 · 0 评论 -
Java的选择结构详解
Java的选择结构一 . Java的执行语句1.顺序语句:方法中的代码从上往下执行2.分支语句:根据不同的条件,指定不同的功能2.1 if分支2.2 switch分支3.循环语句:条件成立,就重复性的执行某个功能3.1 for循环3.2 while循环3.3 do-while循环4.特殊的流程控制语句4.1 break4.2 continue4.3 return4.4 lable二. if分支2.1 简单的if分支语法结构: if(表达式){ ...代原创 2021-07-22 19:42:56 · 523 阅读 · 0 评论