Java基础篇
Java入门基础
万事胜意L
制造学术垃圾ing
展开
-
程序运行时数据的存储位置
程序运行时数据的存储位置寄存器堆栈堆常量存储非RAM存储寄存器这是最快的存储区,因为它位于不同于其他存储区的地方----处理器内部。但是寄存器的数量极其有限,所以寄存器根据需求进行分配。你不能直接控制,也不能在程序中感受到寄存器存在的任何迹象(另一方面,C和C++允许你向编译器建议寄存器的分配方式)。堆栈位于通用RAM(随机访问存储器)中,但通过堆栈指针可以从处理器那里获得直接支持。堆栈指针若向下移动,则分配新的内存;若向上移动,则释放那些内存。这是一种快速有效的分配存储方法,仅次于寄存器。创建程原创 2020-09-03 14:46:27 · 3136 阅读 · 0 评论 -
在线程同步方法中使用wait(),notify()和notifyAll()方法
1.当一个线程使用的同步方法中用到某个变量,而此变量又需要其他线程修改后才能符合本线程需要,那么可以在同步方法中使用wait()方法。2.wait方法可以中断方法的执行,使本线程等待,暂时让出CPU的使用权,并允许其他线程使用这个同步方法。其他线程如果在使用这个同步方法时不需要等待,那么它使用完这个同步方法的通知,应当用notify()方法通知所有的由于使用这个同步方法而处于等待的线程结束等待...原创 2020-05-07 16:55:53 · 1185 阅读 · 0 评论 -
Java_蚂蚁吃蛋糕(在线程中启动其他线程)
该例子中未使用线程锁,只是给学习线程中其他线程的例子。线程通过调用start()方法将启动该线程,使之从新建状态进入就绪队列排队。一旦轮到它来享用CPU资源时,就可以脱离创建它的主线程独立开始自己的生命周期中。public class thread_start_anotherThread { public static void main(String []args){ ...原创 2020-05-07 15:50:47 · 457 阅读 · 0 评论 -
Java_蚂蚁吃蛋糕(synchronized线程锁)
synchronized线程锁把蚂蚁要做的操作封装在一个synchronized方法中,即保证一直????没有吃完m克蛋糕时,另一只蚂蚁不可以吃蛋糕。public class ants_eat_cakes { public static void main(String args[]){ House house = new House(); house.se...原创 2020-05-06 09:07:06 · 381 阅读 · 0 评论 -
Java_司机和警察(sleep和interrupt的使用)
sleep和interrupt的使用有两个线程,driver(司机)和police(警察),其中driver准备睡一个小时后再开始开车,police大喊3句"开车"后,吵醒休眠的线程driver.public class police_driver_thread { public static void main(String args[]){ Road road = ...原创 2020-05-06 08:11:26 · 494 阅读 · 0 评论 -
Java_synchronized线程锁解释
synchronized概念方法理解概念1.synchronized 关键字,代表这个方法加锁,相当于不管哪一个线程(例如线程A),运行到这个方法时,都要检查有没有其它线程B(或者C、 D等)正在用这个方法(或者该类的其他同步方法),有的话要等正在使用synchronized方法的线程B(或者C 、D)运行完这个方法后再运行此线程A,没有的话,锁定调用者,然后直接运行。它包括两种用法:...原创 2020-02-07 20:38:22 · 345 阅读 · 0 评论 -
初学Java之理论篇_多线程
多线程多线程的概念JAVA中的线程机制例题:线程的状态与生命周期多线程的概念1.程序是一段静态的代码,它是应用软件执行的蓝本。2.每个独立执行的程序都可称之为一个进程,进程是程序的一次动态执行过程。对应了从代码加载、执行至执行完毕的一个完整过程,这个过程也是进程本身从产生、发展至消亡的过程。3.每个进程都要占用一定的内存空间和系统资源,各个进程之间是互相独立的。4.多进程可以提高CP...原创 2020-02-07 20:17:55 · 364 阅读 · 0 评论 -
初学Java之理论篇_输入,输出流
输入输出流File类字节流与字符流字节流字符流字符流1.程序在运行期间,可能需要从外部的存储媒介或其他程序中读入所需要的数据,这就需要使用输入流对象。2.输入流的指向称作它的源,程序从指向源的输入流中读取源中读取源中的数据。3.程序在处理数据后,可能需要将处理的结果写入到永久的存储媒介中或传送给其他的应用程序,这就需要使用输出流对象。4.输出流的指向称作它的目的地,程序通过向输出流中写...原创 2019-11-21 20:36:12 · 414 阅读 · 0 评论 -
初学Java之理论篇_常用实用类
Java实用类String类StringBuffer类Date类Calendar类String类1.Java吧String类声明为final类,因此用户不能扩展String类,即String类不能有子类。2.使用String类的构造方法创建另一个字符串: (1)String s=new String("We are students");【直接创建】 (2)String tom=new ...原创 2019-11-16 21:06:13 · 196 阅读 · 0 评论 -
Java_检测身份证是否合法(正则表达式)
身份证正则表达式检测身份证是否合法检测身份证是否合法import java.util.*;public class ifLegal{ String sex; String birthday; static Boolean islegal; public static Boolean judgeLegal(String IDnum) { String regex = "[1-9...原创 2019-11-12 21:05:46 · 1590 阅读 · 1 评论 -
Java匿名类习题_输出英文字母表和希腊字母表
输出英文字母表和希腊字母表abstract class InputAlphabet{ public abstract void input();}class InputEnglish extends InputAlphabet{ public void input() { for(char c = 'a';c<='z';c++) { System.out.printf...原创 2019-10-30 18:23:32 · 1026 阅读 · 0 评论 -
初学Java之理论篇_内部类和匿名类
内部类和异常类内部类匿名类内部类1.Java支持在一个类中声明另一个类,这样的类称作内部类,而包含内部类的类称为内部类的外嵌类。内部类的外嵌类的成员变量在内部类中仍然有效,内部类的方法也可以调用外嵌类的方法。2.内部类的类体中不可以声明类变量和类方法。外嵌类的类体中可以调用内部类声明变量,作为外嵌类的成员。3.内部类仅供它的外嵌类使用,其他类不可以用某个类的内部类声明对象。另外,由于...原创 2019-10-29 21:23:34 · 240 阅读 · 0 评论 -
Java_托塔天王和儿子们的通话(内部类、匿名类)
内部类,匿名类的使用实验内容:实验内容:(1)定义一个Father类:(a)该类中包括一个内部类Son;(b)定义Son数组,用于保存儿子对象;©定义成员变量count,用于保存儿子数;(d)定义成员变量phone,用于保存父亲电话号;(e) 定义成员变量Fname,用于保存父亲姓名;(f)构造方法, 在构造方法中初始化父亲电话号为”999”,姓名为”托塔天王” count为3,...原创 2019-10-29 20:19:55 · 283 阅读 · 0 评论 -
Java_公司与薪水(抽象类举例)
Java_公司与薪水CompanySalary.javaCompanySalary.javaabstract class Employee{ public abstract double earnings();}class YearWorker extends Employee{ public double earnings() { return 12000; }}cla...原创 2019-10-24 20:22:47 · 3861 阅读 · 0 评论 -
Java_作战命令(接口回调)
Java_作战命令接口回调技术fightCommand.javaMainClass.java接口回调技术fightCommand.javapublic interface fightCommand{ public void battle(String mess);}class LeaderHeader{ String battleContent; public void give...原创 2019-10-24 19:29:32 · 1290 阅读 · 0 评论 -
初学Java之理论篇_数组与枚举
数组与枚举数组数组1.数组属于引用型变量,数组变量中存放着数组的首元素的地址,通过数组变量的名字加索引使用数组的元素。2.数据类型 数组名=new 数据类型(数组元素的个数)例如:float boy = new float[4]3.java采用“数组的数组”来声明多维数组,一个二维数组是由若干个一维数组组成的。例如:int a[][] = new int[3][]; 该二维数组a就...原创 2019-10-22 19:00:48 · 318 阅读 · 0 评论 -
Java this关键字
this(1)在程序中产生二义性之处,应使用this来指明当前对象。(2)使用this关键字调用重载的构造方法,避免相同的初始化代码。 但只能在构造方法中用,并且必须位于构造方法的第一句。(3)this()是指调用无参的构造方法,this(a,b)是调用有参的构造方法 都必须位于第一位。特别注意:仅供参考学习,转载请附上原文链接分享学习心得,如有侵权,望联系本人处理还在读大学的...原创 2019-10-19 17:45:37 · 170 阅读 · 0 评论 -
Java abstract类
abstractabstract类(1)凡是用abstract修饰符修饰的类被称为抽象类。(2)抽象类不能被实例化abstract方法(1)被abstract所修饰的方法叫做抽象方法,抽象方法的作用在为所有子类定义一个统一的接口。对抽象方法只需声明,而不须实现(2)一个类中包含abstract方法,就必须声明为abstract类(3)抽象方法在子类中必须被实现,否则子类仍然是ab...原创 2019-10-19 17:40:27 · 287 阅读 · 0 评论 -
Java static关键字
staticstatic字段(1)静态字段最本质特点:它们是类的字段,不属于任何一个对象实例。(2)它不保存在某个对象实例的内存区间中,而是保存在类的内存区域的公共存储单元。(3)类变量可以通过类名直接访问,也可以通过实例对象来访问,两种方法结果相同。(4)如system类的in和out对象,就是属于类的区域,直接用类名来访问。static方法(1)用static修饰符修饰的方法仅...原创 2019-10-19 17:32:20 · 318 阅读 · 0 评论 -
Java final关键字
final1.final类(1)如果一个类被final修饰符所修饰和限定,说明这个类不能被继承,即不可能有子类。2.final方法(1)final修饰符所修饰的方法,是不能被子类所覆盖的方法。3.final字段及final局部变量(1)final字段,final局部变量(方法中的变量) 它们的值一旦给定,就不能更改。 是只读量,它们能且只能被赋值一次。(2)一个字段被static...原创 2019-10-19 17:15:18 · 536 阅读 · 0 评论 -
Java成员变量默认赋值
成员变量默认赋值成员变量没有手动赋值的话,系统赋默认值数据类型 默认值byte,short,int,long 0float,double 0.0(double型比float型存储范围更大,精度更高,所以通常的浮点型的数据在不声明的情况下都是double型的。)boolea...原创 2019-10-19 17:01:42 · 1319 阅读 · 0 评论 -
Java基本数据类型和引用数据类型的区别和关联
Java基本数据类型和引用数据类型的区别基本数据类型基类特点基类存储原理引用数据类型引类特点引类存储原理区别联系基本数据类型byte short int long float double char boolean (详细属性请自行百度)基类特点 简单数据类型是不能简化的、内置的数据类型、由编程语言本身定义,它表示了真实的数字、字符和整数基类存储原理 所有的简单数据类...原创 2019-10-19 16:57:08 · 1256 阅读 · 0 评论 -
浅析Java堆,Java方法区内存,Java栈
浅析Java堆和Java栈Java堆(存放对象本身)Java栈(存放基本数据类型和对象的引用)Java堆(存放对象本身)1.堆内存用于存放由new创建的对象和数组2.在堆中分配的内存,由java虚拟机自动垃圾回收器来管理3.在堆中产生了一个数组或者对象后,还可以在栈中定义一个特殊的变量,这个变量的取值等于数组或者对象在堆内存中的首地址,在栈中的这个特殊的变量就变成了数组或者对象的引用变...原创 2019-10-19 13:55:21 · 197 阅读 · 0 评论 -
初学Java之干货理论篇_子类与继承
初学Java之干货理论篇子类与继承子类与继承1.继承的好处:提高了代码的复用性,多个类相同的成员可以放到同一个类中。 提高了代码的维护性,如果功能的代码需要修改,则修改一处即可。 让类与类之间产生了关系,是多态的前提。2.继承的弊端:类的耦合性很强。3.Java的继承采用单继承机制,即每个子类只能继承一个父类,可以通过多层继承的 方式实现多重继承。4.子类和父类在同一...原创 2019-10-18 14:14:29 · 398 阅读 · 0 评论 -
初学Java之干货理论篇_类与对象
初学Java之干货理论篇类与对象类与对象1.类体的内容由两部分构成:一部分是变量的声明,用来刻画属性;另一部分是方法的 定义,用来刻画行为。2.变量声明部分所声明的变量被称作域变量或成员变量,成员变量在整个类内都有效, 其有效性与它在类体中书写的先后位置无关。3.成员变量中的实例变量存储在堆内存中,结束时需要垃圾回收器回收空间。 局部变量和类变量存储在栈内存中,随方法的结束而结束...原创 2019-10-18 14:13:06 · 445 阅读 · 0 评论 -
初学Java之干货理论篇_对象和简单数据结构,运算符和表达式
初学Java之干货理论篇初始对象和简单数据类型运算符,表达式和语句初始对象和简单数据类型1.Java允许在一个Java源文件中编写多个类,但至多只能有一个类使用public修饰2.如果源文件中有多个类,但没有public类,那么源文件的名字只要和某个类的名字 相同,并且扩展名是Java就可以。如果有一个类是public类,那么在源文件的名字只 要和这个类的名字完全相同,扩展名是Java...原创 2019-10-18 14:11:02 · 165 阅读 · 0 评论 -
extends-super例题解析
extends-super(1)定义一个“点”类Point,包含数据成员x,y(坐标点),定义带参数的构造方法初始化数据成员 x,y 。(2)由点类派生出“圆”类Circle, 增加新的数据成员radious(double类型),定义带参数的构造方法初始化radious。(3)由圆类派生出“圆柱体”类Cylinder, 并增加新的数据成员height(double类型), 定义带参数的...原创 2019-10-13 11:13:55 · 169 阅读 · 1 评论 -
初学Java之干货理论篇_接口与多态
初学Java之干货理论篇初始对象和简单数据类型运算符,表达式和语句类与对象初始对象和简单数据类型1.Java允许在一个Java源文件中编写多个类,但至多只能有一个类使用public修饰2.如果源文件中有多个类,但没有public类,那么源文件的名字只要和某个类的名字 相同,并且扩展名是Java就可以。如果有一个类是public类,那么在源文件的名字只 要和这个类的名字完全相同,扩展名是J...原创 2019-09-27 12:02:46 · 212 阅读 · 0 评论