- 博客(14)
- 收藏
- 关注
原创 Java多线程学习
Thread中的静态方法直接用Thread.sleep()调用,参数为睡眠的时间,功能是让当前线程进入睡眠。Thread中的静态方法,可以暂停当前线程对象,使相同优先级的线程执行,若不存在相同优先级的线程,则当前被暂停的线程执行,此方法区别于sleep方法,此方法中CPU不会暂停一直在工作,但是sleep方法中可能出现浪费CPU时间的情况。是将当前线程加入到调用join方法线程的尾部也就是等待调用该方法线程死亡当前线程才会开始执行;此外可以在join()中加参数表示等待调用该方法死亡时间做多为多少毫秒。wa
2022-06-06 13:04:56
88
原创 Java多线程学习
进程:进程是正在运行的一个个程序。一个程序一般只有一个进程。进程结束程序也就结束了。线程:一个进程中有很多线程,java中的main方法也叫作主线程。GC也叫作GC线程。我们知道,java中代码是自上而下顺序执行的。比如顺序排列的方法想要同时被执行,就要涉及到线程。并行:程序之间互不影响,各自独立运行。(多核CPU)并发:交替执行,一个时间只会有一个程序执行,执行到一定时间切换到另一个程序执行,这也就是单核CPU工作情况。例如看电影,电影画面播放和电影的声音就是并发的,其实是画面走了几帧,声音才走了
2022-06-04 11:39:24
102
原创 Java IO流学习
IO流流主要分为输入流和输出流字节流和字符流按照流输入输出类型分为字节流和字符流,InputSteam和OutputSteam即字节流输入流和输出流的抽象父类(即带Steam后缀的是字节流),Writer和Reader是字符流输入输出流的抽象父类(即带Reader/Writee后缀的是字符流)。文件流文件流就是对文件进行的输入输出操作的流既可用字节流作为文件输入输出流即(FileInputSteam/FileOutputSteam)也可以用字符流(FileWriter/FileReader)。缓
2022-05-31 12:23:11
106
原创 java泛型的学习
泛型在面向对象编程语言中,多态算是一种泛化机制。例如,你可以将方法的参数类型设置为基类,那么该方法就可以接受从这个基类中导出的任何类作为参数,这样的方法将会更具有通用性。此外,如果将方法参数声明为接口,将会更加灵活。泛型是把类型明确的工作推迟到创建对象和调用方法的方式,也就是把类型当做参数进行传递,可以使得代码更加具有可读性和安全性。泛型的使用因为泛型可以是引用类型,那么一定就会出现继承关系通常用<?extends E>表示 “?” 所表示的类型继承与E的类型(可与E同级);用<?
2022-05-25 18:56:47
114
原创 java异常
异常(Exception)异常主要分为运行时异常、非运行时异常(编译时异常)。一、运行时异常(RuntimeException)运行时异常又叫未检查异常、非受控异常,发生概率小,运行时异常和错误(Error)都属于编译器不强制要求处理的异常。运行时异常包括RuntimeException类及其子类异常,所以当我写了一个异常继承自运行时异常直接继承RuntimeException类及其子类异常。二、非运行时异常(编译时异常)编译时异常又叫受检异常、受控异常,一旦出现编译器会强制要求进行处理。编译时异
2022-05-18 22:13:46
172
原创 深拷贝与浅拷贝
深拷贝与浅拷贝一、浅拷贝指将对象的首地址进行传递,使得多个引用指向同一个对象。创建出的新对象与原对象具有相同的值,可以通过应用拷贝也可以通过对象拷贝,示例代码如下:package com.wgj.CopyTest;public class ShallowCopy { public static void main(String[] args) { Animal animal = new Animal("熊猫","母"); AnimalKeeper animalK
2022-05-10 20:39:59
90
原创 初学工厂模式
优点可以使代码结构清晰,有效地封装变化。在编程中,产品类的实例化有时候是比较复杂和多变的,通过工厂模式,将产品的实例化封装起来,使得调用者根本无需关心产品的实例化过程,只需依赖工厂即可得到自己想要的产品。对调用者屏蔽具体的产品类。如果使用工厂模式,调用者只关心产品的接口就可以了,至于具体的实现,调用者根本无需关心。即使变更了具体的实现,对调用者来说没有任何影响。降低耦合度。产品类的实例化通常来说是很复杂的,它需要依赖很多的类,而这些类对于调用者来说根本无需知道,如果使用了工厂方法,我们需要做的仅仅是
2022-05-03 19:19:56
88
原创 Arraylist理解
ArrayList1、ArrayList的特点相比之前的LinkedList可以实现动态扩容。2、成员属性private static final long serialVersionUID = 8683452581122892189L;//JAVA序列化的机制是通过判断类的serialVersionUID来验证的版本一致的。在进行反序列化时,JVM会把传来的字节流中的serialVersionUID于本地相应实体类的serialVersionUID进行比较。如果相同说明是一致的,可以进行反序列化
2022-04-21 12:08:45
150
原创 Java基础(抽象类和接口)
Java基础1、抽象类①抽象类是对类的抽象,比如波斯猫和加菲猫都属于猫这个类的类对象,猫、狗、鸟又可以抽象为动物这个大类,动物这个类可以被看成是抽象类。②抽象类的定义:定义类时在class前面加上abstract;抽象类时无法被实例化的也就是无法创建抽象类对象,但是抽象类中还是有构造方法的。但是这个构造方法的作用其实就是给子类构造这个抽象类父类的特征。同时,在抽象类中具有的抽象的方法,也就是只有方法头没有方法体的方法。抽象方法定义:[访问权限修饰符] abstract [返回值类型] 方法名()
2022-04-14 21:02:19
471
原创 Java基础(final关键字、双亲委派机制)
Java基础一、双亲委派机制首先得了解类加载器Classloader在JVM中的分工:Bootstrap classLoader:主要负责加载核心的类库,构造ExtClassLoader和APPClassLoader。ExtClassLoader:主要负责加载jre/lib/ext目录下的一些扩展的jar。AppClassLoader:主要负责加载应用程序的主函数类。对于一个要加载的.class文件,它会先在AppClassLoader中进行检查如果自己加载过则直接跳过不加载如果没加载过就会把它
2022-04-08 19:42:12
544
原创 Java基础(面向对象三大特征)
面向对象三大特征封装继承多态1、封装封装,顾名思义就是将一个东西通过层层包装裹起来,例如c语言中的结构体,将属性和方法封装在一起。更加具体的,发达国家对发展中国家进行技术垄断就是通过将高科技产品售卖,但是只告诉发展中国家使用方法而不会把高科技产品的制作以及设计的技术告诉发展中国家,其实我们现在买的商品都是封装好了的。实例:public class Person { private String Name;//使用private关键字对属性数据进行封装,当在其他类中要对该
2022-03-27 21:48:04
108
原创 Java基础(Static关键字)
java基础一、关于Static修饰的变量首先Static修饰的变量是放在方法区内存空间中的,在运行时Static方法先赋值然后才是main方法的执行,在类加载的时候就对Static修饰的变量进行了赋值。总之被Static修饰的都会在类加载的时候执行,也是按照自上而下顺序执行。main方法在类加载后才会执行。Static修饰的静态代码块只能执行静态的东西。静态方法和静态变量需要通过类名或对象来访问(实际上都是通过类名.来访问),静态方法只能在静态代码块中执行或者main方法中调用。StaticTEST
2022-03-19 13:15:41
387
原创 Java基础(equcals、hashcode、to String)
java基础一、关于上课留的问题① equcals方法equcals是一种默认的判断两个对象是否相等的方法存在Object类中定义,通过比较对象的关键成员变量来判断是否相等并返回一个boolean类型。"=="判断两个引用变量,要求两个引用变量指向同一个对象时,才会返回true。② hashcode在Java中,hashCode是jdk根据对象的地址或者字符串或者是数字算出来的int类型的数值。常见的哈希码的算法有:1:Object类的hashCode :返回对象的内存地址经过处理后的结构,由
2022-03-13 10:09:58
703
原创 java第一课
java第一课一、关于jdk和jre和jvm的关系jdk:是针对Java开发员的产品,是整个Java的核心,包括了Java运行环境JRE、Java工具和Java基础类库(用于java程序开发,包含jre)jre:是运行JAVA程序所必须的环境的集合,包含JVM标准实现及Java核心类库(用户必须)jvm:JVM就是我们常说的java虚拟机,它是整个java实现跨平台的最核心的部分,所有的java程序会首先被编译为.class的类文件,这种类文件可以在虚拟机上执行,也就是说class并不直接与机器的操
2022-03-02 19:21:55
389
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人