- 博客(15)
- 收藏
- 关注
原创 生产者与消费者问题
在Java中就有当多个线程共享一个数据时,如果处理不当,容易出现线程的安全问题。 Java中就出现了关键词来声明同步方法 当一个对象被修饰,任何时候只有一个线程能访问该对象 当一个方法被修饰,当一个线程要执行该方法时,其他线程要执行该方法则要等待该线程执行完该方法。 模型如下:...
2022-06-04 22:16:26
165
原创 多线程学习记录
多线程 Java 的多线程就是一个类,这个类可以对它的线程进行控制; 作用: 多线程比多进程具有绝对优势 提高处理机与设备的平行性 可提高资源的利用率与进程推进速度 怎么写一个多线程 方法1:构建Thread子类对象 基础Thread类后,重写他的run方法 运行该线程的方法就是先引入其对象,在调用其中的start()方法 public class Example extends Thread { run() { for(int i=0;i<6;
2022-05-29 23:44:56
86
原创 IO的基础学习笔记
IO的基础学习笔记 IO的两大分类:字节流与字符流: 字节流(以Stream结尾) 其中又有两大接口:InputStream 与 OutputStream接口。 字节流能输入,输出任意类型的文件:文本文件,图片,视频等。 接下来展示其中访问图片的代码: import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; public class TextIOStream { pub
2022-05-26 13:05:20
113
原创 Java 集合结构
以下仅为个人对集合结构的初步认识: 主要分为三大部分: Iterator(迭代器) Collection Map Iterator(迭代器): Iterator接口 它是一种访问集合的方法的接口 LinkIerator接口:Iterator的实现类,有了更多的的、方法 List(集合): AbstractCollection是Collection的唯一实现类,它实现了一些方法,也定义了一些抽象方法。是一个抽象类。 Queue(interface):队列:先进先出,后进后出 Set(inte.
2022-05-12 13:13:55
161
原创 Java 接口
java 接口 接口的特点: 接口是由interface修饰,接口本质上一个类。 但这个类比较特殊,里面绝大多数都是抽象方法(没有方法体),极少有人在里面写static修饰的静态方法(static修饰的可以有方法体); 注意: 接口不能被实例化 接口没有构造方法 继承该接口的类必须重写接口中的所有抽象方法 如何写一个接口: public interface Car{ public abstract void run(); } public class hh implements Car {
2022-05-04 22:03:05
322
原创 Java 创造简易窗口
import javax.swing.*; import java.awt.*; public class Window extends JFrame{ public void lanchFrame(){ this.setVisible(true); //设置窗口是可见的 this.setTitle("植物大战僵尸");//设置标题 Container con = this.getContentPane(); con.setBackg
2022-04-24 19:54:08
627
原创 Java继承
继承 常用来解决的问题: 代码重复 加强父类 但这篇文章不讲怎么写继承,具体讲的什么我也不是很清楚 假设我创建了一个Animal的父类,又接着创建一个Dog的子类; 在main方法这样创建一个名为a的Animal型的dog的对象 Animal a = new Dog(); //父类型引用指向子类型对象(其中也涉及“向下转型”) 在JVM的堆栈图如下: 只能在继承的条件下,才能使堆,栈类型不一样 编译过程 会进行静态绑定: 目的:确保其能运行。 以该例为例: 在Animal与Dog都写了一个eat()的
2022-04-06 21:19:23
102
原创 静态与实例代码块
静态代码块与实例代码块 静态代码块 有static修饰的代码块即static{}; 特点: 会在类加载中被执行,用其他话说就是会比其他所有代码先执行。 只会被执行一次,无论他所在的方法被执行几次 实例代码块 无任何修饰,仅用{}; 特点: 在构造方法执行前执行,因而它有检测够着方法是否执行的作用。 例子: public class Text{ public static void main(String[] args){ Student aXX = new Student(); aXX.
2022-03-30 21:59:16
115
原创 内存(JVM)
JVM JVM主要包括:程序计数器(Program Counter),Java堆(Heap),Java虚拟机栈(Stack),本地方法栈(Native Stack),方法区(Method Area) 这里我主要介绍 堆 栈 与 方法区: 方法区: 主要存放 代码片段,静态代码块,static修饰的变量,常量。 注意一下: 1.其中静态代码块,既static{}里面的将优先于其他代码执行。 2.常量池在java 1.8版本之前是在方法区中,但在Java 1.8之后被移至堆中。 堆 主要存放对象。 注意:
2022-03-28 01:10:15
609
原创 方法重构(overload)
方法重载(overload) 举个简单的例子:当你编写一个A+B给用户时,你无法确认A与B是哪种数据类型时,例如你写一个int与int相加时,但用户不知情输入一个浮点型,那么就不得了了。但又假设用户知道是int型时,但他又想算浮点型相加,那么他是不是又要用到新的方法,但这样有需要找新的方法名岂不是很麻烦。因此方法重载就有了意义。 方法重载指的是在一个类里面允许有多个方法名相同的方法,但这样的方法之间又有要求(不然又怎么在调用的时候分辨呢)。 要求就是: 同名方法中的参数的数据类型或个数不同 class Ti
2022-03-20 21:23:44
1124
原创 Java this的作用
This 的作用: 当实例变量和局部变量重名,JAVA 平台会按照先局部变量、后实例变量的顺序寻找。因此在引用方法或构造器中,局部变量会覆盖实列变量; 例: class Demo{ int a = 5;//此a为全局变量; void test(int a){//此a为局部变量; a=a; System.out.println(a); } } public class This{ public static void main(String args[]){ Demo dem
2022-03-13 20:14:45
721
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
1