_Ap0stoL
一名兴趣使然的程序员
展开
-
4.3 文件系统操作--File概述
【代码】4.3 文件系统操作--File概述。原创 2023-11-27 21:28:07 · 840 阅读 · 0 评论 -
4.2 文件内容的读写--数据流
说明InputStream 只是一个抽象类,要使用还需要具体的实现类。关于 InputStream 的实现类有很多,基本 可以认为不同的输入设备都可以对应一个 InputStream 类,我们现在只关心从文件中读取,且读取的文件不一定是.txt所以使用抽象方法修饰符及 返回值类 型方法签名说明intread()读取一个字节的数据,返回 -1 代表已经完全读完了(读到eof了)int最多读取 b.length 字节的数据到 b 中,返回实际读到的数量;-1 代表以及读完了int。原创 2023-11-27 21:25:36 · 750 阅读 · 0 评论 -
4.1 文件概念
文件操作原创 2023-11-27 21:25:05 · 367 阅读 · 0 评论 -
3.11 JUC的常见类
concurrent 就是并发---->围绕多线程展开。原创 2023-11-20 16:04:20 · 42 阅读 · 1 评论 -
3.10 CAS和原子类
CAS 关键点是比较 寄存器1 和内存的值 ,通过判断是否相等而决定是否修改,如果相等就修改,但是真的一定是没被修改吗?,可能别的线程修改后又改了回来–这就是ABA问题。原创 2023-11-20 16:03:23 · 25 阅读 · 1 评论 -
3.9 锁的策略
这里的锁不是某个具体的锁,是个抽象的概念,描述的是锁的特性,描述的是"一类锁"原创 2023-11-20 16:01:35 · 24 阅读 · 1 评论 -
3.8 多线程基础小总结
使用没有共享资源的模型适用共享资源只读,不写的模型- 不需要写共享资源的模型直面线程安全(重点)原创 2023-11-20 15:59:40 · 27 阅读 · 1 评论 -
3.7 线程池
Executor, ExecutorService 都是接口,ExecutorService继承于Executor,Executors是工具类,他提供对ThreadPoolExecutor的封装产生ExecutorService的具体实现类。设定 延迟时间后执行命令,或者定期执行命令. 是进阶版的 Timer.(定时器) 被执行的时候不是只有一个扫描线程来执行任务,可能是由多个线程共同执行所有的任务。创建只包含单个线程的线程池. (比原生的创建线程的api更简单,也更容易替换成其他模式的线程池)原创 2023-11-20 15:58:43 · 23 阅读 · 1 评论 -
3.6 定时器
【代码】6 定时器。原创 2023-11-20 15:53:51 · 25 阅读 · 1 评论 -
5 阻塞队列
正因为生产消费者模型这么重要,虽然阻塞队列只是一个数据结构,我们会把这个数据结构是现成一个服务器程序,并且使用单独的主机/主机集群 来部署,此时这个所谓的阻塞队列就进化成了"消息队列"put 插入元素的时候, 判定如果队列满了, 就进行 wait. (注意, 要在循环中进行 wait. 被唤醒时不一。在 Java 标准库中内置了阻塞队列. 如果我们需要在一些程序中使用阻塞队列, 直接使用标准库中的即可.take 取出元素的时候, 判定如果队列为空, 就进行 wait. (也是循环 wait)原创 2023-11-20 15:53:34 · 23 阅读 · 1 评论 -
3.5 阻塞队列
正因为生产消费者模型这么重要,虽然阻塞队列只是一个数据结构,我们会把这个数据结构是现成一个服务器程序,并且使用单独的主机/主机集群 来部署,此时这个所谓的阻塞队列就进化成了"消息队列"put 插入元素的时候, 判定如果队列满了, 就进行 wait. (注意, 要在循环中进行 wait. 被唤醒时不一。在 Java 标准库中内置了阻塞队列. 如果我们需要在一些程序中使用阻塞队列, 直接使用标准库中的即可.take 取出元素的时候, 判定如果队列为空, 就进行 wait. (也是循环 wait)原创 2023-11-20 15:51:51 · 23 阅读 · 1 评论 -
3.4 单例模式
可以把volatile理解成,一个保证某个对象每次被读取的时候都是这个对象被修改并且存储到主存上的最终版本,每次访问都是没有再对这个对象做修改的时候且为最终版本的对象内容。原创 2023-11-20 15:50:53 · 22 阅读 · 1 评论 -
3.3 线程安全和锁
一个类的完整信息,最初是子.java文件中 (编译)=> .class 文件, JVM加载.class 就会解析里面的内容,构造出一个内存的对象,这就是类的类对象(相当于类的图纸,用图纸构造出对象,类对象就是class文件记录了.java文件的信息)针对每一把锁, 操作系统内部都维护了一个等待队列. 当这个锁被某个线程占有的时候, 其他线程尝 试进行加锁, 就加不上了, 就会阻塞等待, 一直等到之前的线程解锁之后, 由操作系统唤醒一个新的 线程, 再来获取到这个锁.原创 2023-11-20 15:50:22 · 24 阅读 · 1 评论 -
3.2 Thread类和方法
当点击运行程序的时候,就会创建一个java进程,这个进程中至少包含至少一个线程,这个线程也叫做主线程,也就是负责执行main方法的线程。原创 2023-11-20 15:48:24 · 28 阅读 · 1 评论 -
3.1 线程概念
进程包含线程,都是为了实现并发编程的方式,线程比进程更轻量进程是系统分配资源的基本单位,线程是系统调度执行的基本单位.创建进程的时候把分配资源的工作给做了(虚拟地址空间,文件描述符表),后续创建线程,直接公用之前的资源即可进程有独立的地址空间,彼此之间不会相互影响到,进程的独立性=>系统稳定性提高多个线程公用这份地址空间,一个线程一旦抛出异常,就可能导致整个进程异常结束=>多个线程之间容易相互影响进程和线程的结构体都是pcb。原创 2023-11-20 15:47:46 · 25 阅读 · 1 评论 -
2.1 JAVAEE进程
进程process 也叫 任务(task)没有运行的程序不叫进程如果同一个程序,运行两次,则会产生多个进程程序,是可执行文件,只是在硬盘上的一个东西(静态的)进程是程序的实例化可执行程序,只占用硬盘空间,而进程,会消耗cou资源,内存资源,硬盘,网络带宽进程是系统分配硬件资源的基本单位。原创 2023-11-20 15:47:12 · 25 阅读 · 1 评论 -
1.1 JAVAEE基本概念
现代的javaee是用来开发一个网站的前端就是网页,跟用户交互的后端是服务器,给网页提供数据现在java都是用来搞后端的一个前端语言是被运行在浏览器上,要被浏览器支持的,当年最火的netscope。原创 2023-11-20 15:46:42 · 33 阅读 · 1 评论