JAVASE
文章平均质量分 79
思念寄给宇宙
这个作者很懒,什么都没留下…
展开
-
JavaSE学习笔记 详解Java反射机制(二)--类加载器加载资源文件、通过反射查看类信息、以及反射的应用
前面我们介绍了Java反射机制的一些预备知识,详细说明了下类的加载过程,Java四大类加载器,以及双亲委托模式。下面我们将继续对Java反射机制的其他知识作以介绍。详解Java反射机制(二)1.使用类加载器来加载资源文件1.1当配置文件在src下,使用类加载器进行加载1.2 当配置文件在src下具体的包中,使用类加载器进行加载1.3 当配置文件在项目根路径下,此时可以使用FileInputStream读取1.使用类加载器来加载资源文件ClassLoader类基本职责就是根据一个指定的类的名称,找到或者原创 2021-05-24 15:49:27 · 481 阅读 · 1 评论 -
JavaSE学习笔记 详解Java反射机制(一)--类的加载过程,Java类加载器以及双亲委托模式
详解Java反射机制(一)1.类的加载、连接和初始化1.1 类的加载1.2 类的连接1.3 类的初始化1.3.1 会触发类的初始化操作1.3.2 不会触发类的初始化操作2.详解类加载器(面试常问)2.1 Java类加载器2.2 Java中类加载器的双亲委托模式总结在学习Java反射相关的知识前,我们需要对Java类的加载、连接和初始化的知识进行学习了解。这些知识可能比较枯燥,但却是底层的知识。掌握了这些底层运行原理,对于后续的学习的有更好的帮助。1.类的加载、连接和初始化当程序主动使原创 2021-05-22 23:31:37 · 795 阅读 · 9 评论 -
JavaSE学习笔记 基于Socket的UDP网络编程
基于Socket的UDP网络编程1.UDP协议的网络编程概述2.基于UDP协议的网络编程2.1 发送端2.2 接收端3. UDP和TCP协议的区别总结前面我们学习了基于Socket的TCP网络编程,除过TCP协议的网络编程,还有UDP协议的网络编程。1.UDP协议的网络编程概述UDP(User Datagram Protocal,用户数据报协议):是一个无连接的传输层协议、提供面向事务的简单不可靠的信息传送服务,类似与短信。UDP协议是一种面向非连接的协议,面向非连接指的是在通信前不需要与对方先原创 2021-05-07 15:02:00 · 135 阅读 · 0 评论 -
JavaSE学习笔记 基于Socket的TCP网络编程
网络编程1.网络编程的基本知识回顾1.1 C/S与B/S结构1.2 网络编程的三要素解析1.2.1 IP地址1.2.2 端口号1.2.3 网络协议2.Socket通信前面我们对网络编程的基本知识做了一定的了解,下面将正式进入网络编程之中。1.网络编程的基本知识回顾1.1 C/S与B/S结构应用程序架构分为两种:1.C/S架构:C/S(Client/Server)即客户端/服务器2.B/S架构:B/S(Browser/Server)即浏览器/服务器.C/S架构是一种比较早的软件架构,主要用原创 2021-05-07 09:57:21 · 220 阅读 · 1 评论 -
JavaSE学习笔记 网络编程相关知识概述
网络编程相关知识概述1.网络的概述与分类2.关于互联网、因特网与万维网的区别3.网络协议4.IP地址5.端口号总结生活在今天的我们,没有网络是相当可怕的,我们每天几乎都在用所谓的云计算、云服务、云备份等,应用在我们生活中的方方面面。1.网络的概述与分类计算机网络是把分布在不同地理区域的计算机与专门的外部设备用通信线路互连成一个规模大、功能强的网络系统,方便很多计算机之间方便地传递信息、共享硬件、软件与数据等资源。计算机网络存在很多种,按照网络的传输介质划分为:同轴电缆网、双绞线网、光纤网、卫星网,无原创 2021-04-23 23:17:57 · 118 阅读 · 2 评论 -
JavaSE学习笔记 详解IO流的使用(下)
详解IO流的使用(下)1.解码与编码:InputStreamReader与OutputStreamWriter1.1 解码:InputStreamReader1.2 编码:OutputStreamReader2.基本数据字节输入输出流:DataInputStream与DataOutputStream3.序列化与反序列化:ObjectOutputStream与ObjectIntputStream3.1 序列化与反序列的实现3.2 当对象修改时,序列化与反序列化的注意事项3.3 当对象的某个属性不需要序列原创 2021-04-16 21:18:06 · 111 阅读 · 0 评论 -
JavaSE学习笔记 详解IO流的使用(上)
详解IO流的使用1.IO流的分类2.文件字符输入输出流:FileReader/FileWriter2.1 文件字符输入流FileReader2.2 文件字符输出流FileWriter2.3 用 FileWriter与FileReader来实现纯文本文件的复制(简易版)3 文件字节输入输出流:FileInputStram与FileOutputStream3.1 文件字节输入流:FileInputStram3.2 文件字节输入流:FileOutputStramI/O是输入/输出(Input/Output)原创 2021-04-16 20:06:15 · 216 阅读 · 1 评论 -
JavaSE学习笔记 IO流之File类练习题
IO流之File类练习题1.删单级目录2.递归删除多级文件夹3.判断多级文件夹下有没有.jpg结尾的文件,如果有把后缀名 .jpg 文件改为.png总结1.删单级目录桌面上有一个单级目录demo,目录里面的文件如下,请利用File类基本知识来实现删除单级文件夹。import java.io.File;public class MyTest { public static void main(String[] args) { //删单级目录 //封装桌面原创 2021-03-24 12:15:03 · 376 阅读 · 3 评论 -
JavaSE学习笔记 IO流之File类的使用
IO流之File类的使用1.关于File类的理解2.File类的构造方法3.File类的创建功能4.File类的删除功能5.File类的重命名功能6.File类的判断功能7.File类的获取功能7.1 练习:输出指定目录下指定后缀的文件名总结1.关于File类的理解1.File类声明在java.io包下2.File类的一个实例化对象,可以代表一个文件或者一个文件夹(或者文件目录)3.File类中涉及到文件或者文件目录的创建、删除等方法,但没有涉及到如何写入文件内容或者读取文件内容。当需要写入文原创 2021-03-23 20:44:33 · 316 阅读 · 1 评论 -
JavaSE学习笔记 Java异常分类与异常机制处理
Java异常分类与异常机制处理生活实例引入Java异常机制1.Java异常分类生活实例引入Java异常机制生活实例:小明,是一位骑行爱好者,有一天骑着山地自行车,去外地进行旅游。当他出门前,检查了下车况,发现车闸松了,这个问题必须解决,不解决就不能上路。刚出门,正在骑行的过程中,他遇到了一个很大的问题,车轮子掉了,这个问题他自己解决不了。还有一种情况,车胎漏气了,这不是一个很大的问题,他可以选择解决,也可以不进行解决。这些情况都是异常情况。程序在运行过程中也会发生错误或异常情况是不可避免的,下面原创 2021-03-23 00:34:59 · 254 阅读 · 2 评论 -
JavaSE学习笔记 集合终极小练习:模拟斗地主的洗牌、发牌与看牌
集合终极小练习:模拟斗地主的洗牌、发牌与看牌1.Collection工具类概述与常见方法介绍2.模拟斗地主基础版:每个人拿到手牌没有顺序3.模拟斗地主升级版:每个人拿到的手牌有顺序总结本节我们将集合作以回顾复习,用集合方面的知识来完成模拟斗地主的洗牌发牌与看牌的操作。在进行这个小练习之前,我们还需要将Java中Collection集合中Collections工具类的方法作以介绍。1.Collection工具类概述与常见方法介绍Collections类概述:针对单列集合操作的工具类。Colle原创 2021-03-16 16:39:15 · 319 阅读 · 4 评论 -
JavaSE学习笔记 集合练习题归总
集合练习题归总1.键盘录入3个学生信息(姓名,语文成绩,数学成绩,英语成绩),按照总分从高到低输出到控制台。2.统计字符串中每个字符出现的次数"aababcabcdabcde",获取字符串中每一个字母出现的次数要求结果:a(5)b(4)c(3)d(2)e(1)1.键盘录入3个学生信息(姓名,语文成绩,数学成绩,英语成绩),按照总分从高到低输出到控制台。解题思路:1.创建1个学生类2.创建1个TreeSet集合对象(使用自然排序或者比较器排序皆可)3.键盘录入学生的数据,然后把学生的数据封装成一原创 2021-03-15 20:55:24 · 352 阅读 · 0 评论 -
JavaSE学习笔记 Map接口的具体实现类:LinkedHashMap以及TreeMap
Map集合接口具体实现类:LinkedHashMap以及TreeMap1.LinkedHashMap的概述2.TreeMap概述总结前面我们学习了Map接口中最常用的实现类:HashMap,并且对HashMap的底层实现原理做了一定的深入探讨。下面我们将要了解的是Map接口中的另外两大实现类:LinkedHashMap与TreeMap。1.LinkedHashMap的概述LinkedHashMap实现了Map接口,而且继承自HashMap。它的多种操作都是建立在HashMap的操作基础上的。pub原创 2021-03-15 11:54:59 · 264 阅读 · 0 评论 -
JavaSE学习笔记 JDK1.7中HashMap底层实现原理
Map接口的具体实现类:LinkedHashMap以及TreeMap前面我们了解了Map集合的继承体系,Map集合具有常见的实现类:HashMap,LinkedHashMap以及TreeMap等。原创 2021-03-13 22:16:02 · 426 阅读 · 2 评论 -
JavaSE学习笔记 Map集合框架以及Map接口的具体实现类:HashMap
Map集合框架前言前言在Java中我们经常要存储key-value这样形式的数据,这时我们要如何进行存储才能方便自己的使用。案例:一个学校对学生进行建立档案,是将学生的学号与姓名进行批量保存,请你用自己的方法进行存储,并设法将学号与姓名能够取出key(学号)Value(姓名)张三23李四24王五25分析:前面我们学习过ArrayList集合,我们可以先使用ArrayList集合来进行存储学生的学号与姓名信息,并通过截取的方式来取出学号与姓名。impo原创 2021-03-11 00:06:27 · 374 阅读 · 3 评论 -
JavaSE学习笔记 详解Set集合中实现类:LinkedHashSet以及TreeSet
详解Set集合中实现类:LinkedHashSet以及TreeSetSet集合具有两个特点:无序性与不允许元素重复。前面我们也学习HashSet(作为Set接口的主要实现类),底层结构是哈希表。JDK1.7:HashSet的底层数据结构为数组加链表,JDK1.8:HashSet的底层数据结构为数组加链表加红黑树。HashSet集合的特点为元素无序,且元素是唯一的。要保证元素的唯一性,是靠元素重写hashCode()方法与equals()方法来进行保证的,如果元素不重写这两个方法,则无法保证元素的唯原创 2021-03-09 12:06:14 · 530 阅读 · 2 评论 -
JavaSE学习笔记 详解Set集合中实现类:HashSet集合(附HashSet底层详解)
详解Set集合中实现类:HashSet1. Set集合的概述2.对于Set集合中存储无序的、不可重复的数据理解3.HashSet底层详解(面试常问)前面我们学习完Collection接口中子接口List中的所有内容,今天来学习下Collection集合中另外一个子接口:Set接口。1. Set集合的概述前面我们了解到List接口中存储的为有序的、可以重复的数据。而Set接口中存储无序的、不可重复的元素。 Set接口中有三个具体实现类:HashSet,LinkedHashSet以及TreeSet。原创 2021-03-04 22:14:14 · 474 阅读 · 3 评论 -
JavaSE学习笔记 Arrays工具类asList()方法以及实例引入集合嵌套问题
Arrays工具类asList()方法以及实例引入集合嵌套问题1.Arrays工具类的asList()方法的使用1.1 Arrays工具类中asList()方法传入基本数据类型的数组1.2 Arrays工具类中asList()方法传入一个引用数据类型的数组1.3 Arrays工具类中asList()方法传入多个引用数据类型的数组1.4 Arrays工具类asList()使用注意事项2.实例引入集合嵌套问题总结1.Arrays工具类的asList()方法的使用前面我们学习过了Arrays工具类中toA原创 2021-03-04 00:14:10 · 533 阅读 · 4 评论 -
JavaSE学习笔记 Java常见语法(增强for循环、可变参数以及静态导入语法)
Java常见语法(增强for循环、可变参数以及静态导入语法)1.增强for循环的概述与使用1.1 利用增强for循环来遍历数组1.2 使用增强for循环遍历Collection集合2.可变参数的概述与使用3.静态导入语法(了解)我们在Java学习中会遇到一些常见语法,这些常见语法会让我们使用Java语言会更便捷。今天主要介绍其中常见的三种:增强for循环,可变参数的使用以及静态导入语法的使用。1.增强for循环的概述与使用增强for循环常出现在数据以及Collection集合的遍历。格式为:原创 2021-03-02 21:56:53 · 307 阅读 · 1 评论 -
JavaSE学习笔记 Java泛型学习
Java泛型的学习1.什么是泛型1.什么是泛型泛型机制:就是将数据类型明确工作,推迟到创建对象或者调用方法时才去明确的一种机制。原创 2021-03-02 15:15:12 · 478 阅读 · 3 评论 -
JavaSE学习笔记 List接口中的实现类:ArrayList,Vector以及LinkedList
List接口中的实现类:AraayList,Vector以及LinkedList1.ArrayList类1.1 ArrayList类中特有方法1.2 ArrayList集合遍历2.Vector类2.1 Vector类特有方法2.2 Vector集合遍历3.ArrayList与Vector的区别与联系4.LinkedList类4.1 LinkedList的特有方法通过前面的学习,我们了解到了List接口中的特有方法,List集合的特点:有序性(存取顺序一致)以及允许元素重复。本节,将会学习List接原创 2021-02-25 18:48:19 · 318 阅读 · 3 评论 -
JavaSE学习笔记 详解Java中List集合
详解Java中List集合1.List集合特点2.List集合中带索引的方法(独有)3.List集合的遍历方式3.1 迭代器ListIterator需要注意的问题总结前面我们学习了Java中Collection集合,学习Collection集合中的一些常用方法。由Java中Collection集合体系图可以看出,java.util.List接口继承了Collection接口,本节我们将会学习List集合。1.List集合特点List集合具有三大特点:1.有序2.允许重复(后面学习的原创 2021-02-22 17:02:31 · 479 阅读 · 5 评论 -
JavaSE学习笔记 Java集合框架以及Collection集合的学习
Java集合框架以及Collection集合的学习前言(案例引入集合概念)1.集合的由来2.Java集合的框架3.Collection接口常见方法前言(案例引入集合概念)案例演示:我有3个学生,请把这个学生的信息存储到数组中,并遍历数组,获得每一个学生信息。下面是给定学生类的具体信息:学生:Student成员变量:name,age构造方法:无参构造,有参构造成员方法:get()以及set()方法数组实现学生信息的存储://Student学生类public原创 2021-02-21 18:32:08 · 847 阅读 · 9 评论 -
JavaSE学习笔记 走进Java线程池,解决你对Java线程池的种种疑问 (二)
走进Java线程池,解决你对Java线程池的种种疑问 (二)Executors是一个Java中的工具类,提供工厂方法来创建不同类型的线程池。前面我们已经介绍了关于Executors工具类中常用的创建线程池的方法,我们简单进行回顾下:1.newSingleThreadExecutornewSingleThreadExecutor介绍:创建一个单线程的线程池。这个线程池只有一个线程在工作,也就是相当于单线程串行执行所有任务。如果这个唯一的线程因为异常结束,那么会有一个新的线程来代原创 2021-02-16 22:14:40 · 260 阅读 · 1 评论 -
JavaSE学习笔记 走进Java线程池,解决你对Java线程池的种种疑问 (一)
走进Java线程池,解决你对Java线程池的种种疑问1.为什么要使用线程池?通过前面的学习,我们了解到Java线程池的概念。本节,我们将更加详细的对线程池方面的知识做更深入的学习。1.为什么要使用线程池?在Java中,如果每个请求到达就创建一个线程,开销是相当大的。在实际使用中,服务器在创建和销毁线程上花费的时间和消耗的系统资源都相当大的,甚至可能要比在处理实际的用户请求的时间和资源还要多。除了创建...原创 2021-02-15 15:28:26 · 247 阅读 · 0 评论 -
JavaSE学习笔记 以面试对话探索进程线程与线程池的概念
探索进程线程和线程池的概念1.进程与线程最近的春招开始了,小白去面试Java后台开发的工作,也认真的准备了这次的面试。面试官这次主要问了Java中多线程的问题,下面让我们看看这次的面试问答详情。1.进程与线程面试官:为什么要有多线程啊, 我看了操作系统中的多进程管理,不是挺好的吗? 多线程似乎没有必要啊!小白:线程,就是程序代码的执行,一个进程至少得有一个线程,要不然,这个进程怎么运行。关于为什么使用多线程,我们可以从生活中的具体实例进行出发,理解就会更加透彻。我们经常用word编译文字,原创 2021-02-09 23:17:06 · 237 阅读 · 1 评论 -
JavaSE学习笔记 匿名内部类方式实现多线程程序以及定时器的使用
匿名内部类方式实现多线程程序以及定时器的使用1.匿名内部类方式实现多线程程序2.定时器的概述和使用在前面的文章中,我们已经讨论了创建多线程的三种方式:1.通过继承Thread类来创建多线程2.通过实现Runnable接口来创建多线程3.通过实现Callable接口来实现多线程其实在代码实现过程中,当创建的线程只用一次,可以通过匿名内部类来实现创建多线程。其次我们介绍下Java中的定时器,可用于调用多个定时任务,以后台线程方式执行。1.匿名内部类方式实现多线程程序匿名内部类的方式实现多线原创 2021-02-07 22:21:31 · 795 阅读 · 3 评论 -
JavaSE学习笔记 Java线程中的常见状态以及状态转换
Java中实现并发的主要手段是多线程。线程是操作系统里面的一个概念,Java语言里面的线程本质上就是操作系统的线程,它们是一一对应的。原创 2021-02-06 22:51:39 · 402 阅读 · 2 评论 -
JAVASE学习笔记 简单探索CAS算法原理
简单探索CAS算法原理1.CAS算法理解2.以实例说明CAS算法的作用总结看了标题后,许多朋友会不禁发出疑问,什么是CAS算法?简单来说,CAS为Compare and Swap的意思,即比较并交换的算法。1.CAS算法理解JDK1.5增加了并法包java.util.concurrent.*,其下面的类使用CAS算法实现了区别于synchronize同步锁的一种乐观锁。JDK1.5之前Java语言是靠synchronized关键字来保证同步的,这是一种独占锁(就是有你没我的意思),也是悲观锁。原创 2021-02-04 23:40:18 · 1329 阅读 · 2 评论 -
JAVASE学习笔记 全方位解析volatile关键字以及volatile面试题汇总
全方位解析volatile关键字以及volatile面试题汇总1.图解volatile是如何保证可见性2.volatile底层原理通过前面走进Java内存模型的文章(有兴趣的朋友可以搜下我主页的这篇文章),我们知道了volatile的语义就是保证共享变量对所有线程可见性以及指令重排优化。那么,它的底层是如何让保证可见性和禁止指令重排的呢?1.图解volatile是如何保证可见性我们先从一个实例进行引入:假设flag变量的初始值为false,现在有两个线程t1和t2要访问它,如果线程t1执行fla原创 2021-02-03 21:59:37 · 412 阅读 · 0 评论 -
JAVASE学习笔记 走进Java的内存模型
走近Java的内存模型1.为什么要有内存模型1.1 计算机内存模型相信大家在网上也看到过很多Java内存模型的文章,但很多人可能和我一样读完之后还是没有理解。作为一名Java小白,经过一段时间的学习,对Java内存模型有所了解。本篇文章,就来系统整体的对Java内存模型作以解释。目的也非常简单,希望大家读完后能知道Java内存模型是什么,为什么要用Java内存模型,以及Java内存模型可以解决什么问题等。1.为什么要有内存模型在介绍Java内存模型时,首先我们需要了解计算机的内存模型,因为Java内原创 2021-02-02 18:38:21 · 544 阅读 · 2 评论 -
JAVASE学习笔记 多线程间通信经典练习题
多线程间通信经典练习题1.两个线程间的通信问题上节我们大家一起探索了多线程通信问题,了解了线程之间的等待唤醒机制。下面我们也可以通过一些练习题更加深入的去理解多线程之间的通信。1.两个线程间的通信问题写两个线程,一个线程打印 1—52一个线程打印 A—Z打印结果是: 12A34B56C78D710E------5152Z分析:方式一:利用继承Thread类来实现两个线程间的通信问题public class MyObject { //定义一个标记 public boole原创 2021-01-30 21:35:26 · 542 阅读 · 3 评论 -
JAVASE小白笔记 多线程通信(线程之间的等待唤醒机制)
线程通信1.线程通信概述2.实例阐述线程间的等待唤醒机制生产者与消费者问题,也称为有限缓冲问题,是多线程同步问题的经典案例。今天我们来详细的来进行探索下。1.线程通信概述生产者与消费者问题描述了两个或者多个共享固定大小缓冲区的线程–即所谓的"生产者"和"消费者",在实际运行中发生的问题。生产者的主要作用是生成一定量的数据放到缓冲区中,然后重复此过程。与此同时消费者也在缓冲区消耗这些数据。该问题的关键就是要保证生产者不会在缓冲区满时加入数据,消费者也不会在缓冲区空时消耗数据。生产者与消原创 2021-01-30 11:50:19 · 412 阅读 · 1 评论 -
JAVASE学习笔记 多线程之死锁问题的概述与使用
多线程之死锁问题的概述与使用1.死锁问题的概述1.死锁问题的概述死锁是一种无限的互相等待的状态,两个或两个以上的线程或进程构成一个互相等待的环状。以两个线程为例,线程一持有A锁同时在等待B锁,而线程二持有B锁同时在等待A锁,这就导致两个线程互相等待无法往下执行。不同的线程分别锁住对方需要的同步监视器对象不释放,都在等待对方先放弃时就形成了线程的死锁。一旦出现死锁,整个程序既不会发生异常,也不会给出任何提示,只是所有线程处于阻塞状态,无法继续。现实生活中一个经典的死锁情形就是四辆汽车通过没有红绿灯的十原创 2021-01-28 23:06:38 · 362 阅读 · 0 评论 -
JAVASE学习笔记 多线程安全问题的解决方式--同步代码块、同步方法以及Lock锁的使用
线程安全问题的解决方式1.同步代码块如何解决线程安全问题呢?前面我们已经说过了解决思路:对于多条共享数据的语句,只能让一个线程都执行完,在执行过程中,其他线程不可以参与执行。为了解决这个问题,Java的多线程支持引入同步监视器来解决这个问题。使用同步监视器的方式有两种:同步代码块以及同步方法。1.同步代码块同步代码块的语法格式如下:sychronized(同步监视器对象){//不能在括号中直接new对象,new了就没效果了需要被同步的代码块}同步代码块注意事项这个同原创 2021-01-28 22:01:18 · 671 阅读 · 3 评论 -
JAVASE学习笔记 实例探索多线程安全问题
实例探索多线程安全问题1.利用继承Thread类的方式卖电影票2.实现Runnable接口的方式卖电影票3.线程安全问题的实例发生临近春节,各大电影院都在筹备准备上映贺岁大片。假设某家电影院持有唐探3的票100张,而且它总共有三个售票窗口,请设计一个程序模拟该电影院进行售票。1.利用继承Thread类的方式卖电影票事件具体分析1.三个窗口其实就是三个线程2.定义票的数量为100张(为静态变量,被3个线程所共享3.创建线程对象,启动线程,每卖一张票,票的数量就减1原创 2021-01-27 21:38:13 · 1466 阅读 · 5 评论 -
JAVASE学习笔记 多线程中的线程调度与线程控制
目录1.线程调度2.线程控制2.1 线程控制之休眠线程2.2 线程控制之守护线程多线程中的线程调度与线程控制是使用多线程的常见的操作,掌握这些对于我们使用多线程更加有帮助。1.线程调度假如我们的计算机只有一个CPU,那么CPU在某一个时刻只能执行某一条指令。线程是并发的,只有抢到CPU时间片, 也就是使用权,才可以执行命令。那么Java是如何对线程进行调度的呢?在Java中是通过调度模型(抢占式调度模型)来进行线程调度的。有两种调度模型:分时调度模型与抢占式调度模型。两种调度模型模型原创 2021-01-26 16:13:53 · 541 阅读 · 0 评论 -
JAVASE学习笔记 多线程代码实现的多种方式
目录1.多线程的实现方式1.1 多线程代码实现方法一:继承Thread类1.2 多线程代码实现方法二:实现Runnable接口1.3 多线程代码实现方法三:实现Callable接口总结我们都了解在命令窗口输入Java.exe命令会启动JVM,等于启动了一个应用程序。开启JVM相当于开启一个线程,该线程会自动的启动一个"主线程",然后主线程去调用某个类的main()方法。所以main()方法运行在主线程。那么大家是不是有这样一个疑问:JVM的启动是多线程的吗? 答案是肯定的,JVM的启动至少原创 2021-01-25 16:04:07 · 416 阅读 · 0 评论 -
JAVASE学习笔记 一文带你理解操作系统的进程与线程
进程与线程对于程序员来说,真的是天天都可以看到。但天天见,不见得我们原创 2021-01-25 11:20:52 · 452 阅读 · 0 评论 -
JAVASE学习笔记 利用定时类与日期类来实现定时关闭计算机的任务
在现实生活中,尤其是在互联网运营的过程中,需要程序员定时的去做某件事情。今天我们很简单的模拟下,简单地进行定时关闭计算机这个任务。原创 2021-01-22 20:56:59 · 245 阅读 · 0 评论