JAVA基础第一阶段
文章平均质量分 85
JAVA基础阶段
_淡若清风づ
走过了所有通向失败的路,只剩下一条路,那就是成功的路。
展开
-
JAVA集合详解(list、set、map)
1.接口继承关系和实现集合类存放于 Java.util 包中,主要有 3 种:set(集)、list(列表包含 Queue)和 map(映射)。Collection:Collection 是集合 List、Set、Queue 的最基本的接口。Iterator:迭代器,可以通过迭代器遍历集合中的数据Map:是映射表的基础接口2.List集合Java 的 List 是非常常用的数据类型。List 是有序的 Collection。Java List 一共三个实现类:分别是 ArrayList、转载 2021-04-15 23:19:31 · 483 阅读 · 0 评论 -
JAVA JVM深层讲解
1.基本概念JVM 是可运行 Java 代码的假想计算机 ,包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收,堆 和 一个存储方法域。JVM 是运行在操作系统之上的,它与硬件没有直接的交互。2.运行状态 我们都知道 Java 源文件,通过编译器,能够生产相应的.Class 文件,也就是字节码文件,而字节码文件又通过 Java 虚拟机中的解释器,编译成特定机器上的机器码 。也就是如下:① Java 源文件—->转载 2021-04-15 21:57:31 · 298 阅读 · 0 评论 -
JAVA基础 单例模式
单例模式什么是单例模式Singleton? Singleton:在JAVA中指单例设计模式,它是软件开发中最常用的设计模式之一。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。 单:唯一 例:实例基础知识:类: 是指描述一种事物的定义,是个抽象的概念实例:指实际存在的例子,事物的一个具体的个体,或是具体的东西。比如说:“人”是一个类。“张三”是人类的一个具体例子,就是实例化。原创 2021-01-20 23:08:24 · 152 阅读 · 0 评论 -
JAVA基础 自增变量
自增自减运算符1、自增(++)自减(–)运算符是一种特殊的算术运算符,在算术运算符中需要两个操作数来进行运算,而自增自减运算符是一个操作数。public class selfAddMinus{ public static void main(String[] args){ int i = 1; int y = 2; i++; ++y; System.out.println("单独进行自增运算后的值等于"+i);原创 2021-01-20 21:50:07 · 558 阅读 · 0 评论 -
JAVA基础入门之面向对象 接口与内部类
接口什么是接口?接口就是一组方法定义的集合,但是这些方法也仅有定义而已,都没有实现。接口非常重要,就好像现实当中,我们自动做任何事情之前都要定义一个标准,一个合同,然后合同双方会按照合同去履行各自的业务。比如说家里装修,我们就要签订一个装修合同规定,这个装修公司要负责刷墙,装地板,装水管,装电灯等等,那么装修公司就必须按照合同规定一条一条的去实现才行,其实接口就是程序中的合同,也就是设计标准。为什么要在JAVA程序中使用接口呢?因为今后大家要做的所有项目,所有的程序,都应该是先指定标准先定义合同原创 2021-01-13 21:44:03 · 301 阅读 · 0 评论 -
JAVA入门之面向对象 多态
多态什么是多态?多态就是同一个东西,在不同情况下表现出不同的状态。JAVA为什么要使用多态呢?因为在现实生活中很多东西,都是在不同的情况下表现出不同的状态。比如说同一台柜员机,你拿着银行卡去还款或者去取款。注意:如果你拿的这个信用卡,是本行的银行卡的话,你是既能还款又能取款,而且还能查询余额,可是同一台柜员机,如果你拿着的是其它银行银行卡的话,那对不起就只能取款,这就是一台柜员机,在不同的情况下表现出不同的状态。概述多态是指一个对象有多种形态好处:提高了程序的灵活性.体现程序的通用性.原创 2021-01-12 21:21:29 · 139 阅读 · 0 评论 -
面向对象static和final
面向对象static和finalstatic静态概念:static静态,什么是静态呢?静态就是不属于某一个具体一个对象,而是所有对象公有,只要被static修饰的东西,发生了变化,那么所有的对象都会受到影响,牵一发而动全身。生活案例:就好比十字路口的红绿灯,红灯汽车就停,绿灯汽车就通行,如果出现问题就完犊子。final关键字:什么是final关键字呢?你可以理解为“最终”的意思,被final修饰过的东西,就不能在改变了。生活案例:就比如生活中电视剧的大结局,都已经大结局了,剧情也就无法在修改原创 2021-01-04 22:56:54 · 156 阅读 · 0 评论 -
JAVA对象内存管理栈和方法区解析
非堆一栈栈专门用于存放方法中的局部变量栈空间用于存储程,序运行时在方法中声明的所有局部变量。局部变量:就是方法中声明的变量-包括参数变量,方法体内声明的变量以及代码段大括号中声明的变量。成员变量都存储在栈中,生命周期同方法的生命周期。例如;回顾打饭的方法。如果在mair盲法中调用会发生什么?package day05;public class buy { public static void main(String[] args) { /*栈测试*/原创 2021-01-08 23:31:03 · 160 阅读 · 0 评论 -
JAVA基础 访问控制
今天我们来聊一聊访问控制什么是访问控制呢?访问控制就是JAVA中控制类外的程序,能够访问类中的那些的成员。有些人可能会问了,类的成员变量不是都能在外部访问吗? 其实不是的。这和现实中一样。我们有很多属性也是不能对外公开的,比如说你的银行卡的卡号和密码,或者说银行存折的余额,女孩的体重,女孩的年龄这些都是不能被访问的。JAVA中也是一样的,我们的类中的成员不应该被随便就被外界轻易的访问到,甚至被外界破坏掉。JAVA中使用类封装成员,并不是仅仅为了,把成员集中在一起保存这么简单,它更重要的目的是原创 2021-01-11 21:18:03 · 351 阅读 · 0 评论 -
JAVA对象内存管理(暴力测试)
JAVA面向对象对象内存管理堆内存堆内容(最灵活、也是唯一让程序员自动控制的空间,也是java占用绝大内存的部分)堆是专门储存使用new关键字创建的对象实例的空间。例如:Emp eric = new Emp();程序员创建的每一个对象,地址都是储存在堆中,每new一次就开辟一次空间,而且每一次开辟都有一个唯一的地址值。地址值一般都是存在栈中生活案例:现实中,大家去饭馆点菜,new运算就好像你点了一盘糖醋排骨,人厨师就给你做了一盘糖醋排骨端上来,堆就好像,你面前的一张大桌子,菜摆哪儿无原创 2021-01-07 23:35:31 · 211 阅读 · 0 评论 -
JAVA入门之面向对象 继承和重写
继承首先什么是继承呢?继承就是使用一个类的定义,复制并扩展出一个新的类型,那么新的类型可以使用原来类型的属性和功能,也就是不劳而获。当然新类型也可以扩展出,自己个性化的属性和功能,这就叫长江后浪推前浪,一代更比一代强。那为什么要使用继承呢?当然是为了省事呗,这和现实中是一个道理,现实中所谓人生何处不拼爹,父母拥有的儿女都能自动享用,所以java中的继承和现实中都是一个道理,为了省事。什么是重写呢?但是子类也不是照单全收父类的属性和方法,如果子类觉得从父类继承来的方法不爽,它完成可以利用重写来推原创 2021-01-09 20:43:49 · 346 阅读 · 0 评论 -
JAVA基础入门面向对象 抽象类
抽象类什么是抽象类?抽象类其实就是父类,抽象类中定义了所有子类应该共用的形式,但是并没有实现,而是靠各个子类去实现自己个性化的功能,也就是个性化定制。那么什么是接口呢?如果说这个抽象类。它还有一些方法是可以实现的,可以让子类去继承的,但是接口则完全没有方法的实现可以让子类去继承,都是定义的方法的标准。那么接口有什么用呢?又不能继承又不能使用?在现实生活中,很多电视剧电影,上映的时候都会减掉很多镜头,为什么呢?就是因为广电总局出了一些标准,比如说不能衣服领子不能低于多少,画面不能过于血腥暴力,他原创 2021-01-11 23:27:14 · 185 阅读 · 0 评论 -
JAVA基础 死锁
死锁在做线程开发的时候要避免出现死锁。一、定义线程死锁是指由于两个或者多个线程互相持有对方所需要的资源,导致这些线程处于等待状态,无法前往执行。当线程进入对象的synchronized代码块时,便占有了资源,直到它退出该代码块或者调用wait方法,才释放资源,在此期间,其他线程将不能进入该代码块。当线程互相持有对方所需要的资源时,会互相等待对方释放资源,如果线程都不主动释放所占有的资源,将产生死锁。 换个例子: 所谓死锁,是指多个进程在运行过程中因争夺资源而造成的一种僵局,当进程处于这种僵持状态原创 2020-12-24 23:22:02 · 89 阅读 · 0 评论 -
线程的优先级、等待线程、守护线程
线程的优先级、等待线程、守护线程我们可以通过 public final void setPriority(int newPriority)来设置线程的优先级,但是优先级并不是绝对的,只是相对来说比其他的线程得到CPU的资源机会多一些。一个线程的优先级设置遵从以下原则:线程创建时,子继承父的优先级。线程创建后,可通过调用setPriority()方法改变优先级。线程的优先级是1-10之间的正整数,线程优先级最高为10,最低为1,默认为5。1- MIN_PRIORITY10-MAX_PRIORI原创 2020-12-24 23:09:55 · 261 阅读 · 0 评论 -
JAVA基础 多线程
一、多线程:1.概述: 用多线程只有一个目的,那就是更好的利用cpu的资源,提高程序的运行效率,因为所有的多线程代码都可以用单线程来实现。一、多线程:多线程:指的是这个程序(一个进程)运行时产生了不止一个线程并行与并发:并行:多个cpu实例或者多台机器同时执行一段处理逻辑,是真正的同时。并发:通过cpu调度算法,让用户看上去同时执行,实际上从cpu操作层面不是真正的同时。二、线程安全:经常用来描绘一段代码。指在并发的情况之下,该代码经过多线程使用,线程的调度顺序不影响任何结果。这个时原创 2020-12-24 21:46:36 · 91 阅读 · 0 评论 -
JAVA基础 线程间的通信
线程间的通信案例:生产者生成水果,如果水果没有被买走那么就不生产,处于等待状态,如果水果被消费者买走这时候消费者就会通知生产者,告诉他我们已经把水果买走了请重新生产。消费者同理,如果水果已经生产出来那么就买走,买走了之后通知生产者水果已经没有了,请生产。注意:1.线程间的通讯共享数据一定要有同步代码块 synchronized2.一定要有wait和notify,而且二者一定是成对出现。3.生产者和消费者的线程实现一定是在white(true)里面第一种方式 继承 Thread创建篮子原创 2020-12-24 21:58:15 · 95 阅读 · 0 评论 -
JAVA基础 sleep()休眠
sleep()休眠在做服务器端的程序的时候都需要给一个休眠的时间,在没有synchronized代码块里面会让出CPU的资源。Thread.sleep(long millis)和Thread.sleep(long millis, int nanos)静态方法强制当前正在执行的线程休眠(暂停执行),以“减慢线程”。当线程睡眠时,它睡在某个地方,在苏醒之前不会返回到可运行状态。当睡眠时间到期,则返回到可运行状态。线程睡眠的原因:线程执行太快,或者需要强制进入下一轮,因为Java规范不保证合理的轮换。原创 2020-12-24 22:07:54 · 756 阅读 · 0 评论