随笔分类 -  java学习基础

摘要:线程池 背景:经常创建和销毀、使用量特别大的资源,比如并发情况下的线程,对性能影响很大。 思路:提前创建好多个线程,放入线程池中,使用时直接获取,使用完放回池中。可以避免频繁创建销毀,实现重复利用。类似生活中的公共交通工具。 好处: 提高响应速度(减少了创建新线程的时间) 降低资源消耗(重复利用线程 阅读全文
posted @ 2021-01-24 19:27 迪迦是真的 阅读(129) 评论(0) 推荐(0)
摘要:线程协作 生产者消费者问题:(线程通信) 假设仓库中只能存放一件产品,生产者将生产出来的产品放入仓库,消费者将仓库中产品取走消费 如果仓库中没有产品,则生产者将产品放入仓库,否则停止生产并等待,直到仓库中的产品被消费者取走为止 如果仓库中放有产品,则消费者可以将产品取走消费,否则停止消费并等待直到仓 阅读全文
posted @ 2021-01-24 17:29 迪迦是真的 阅读(120) 评论(0) 推荐(0)
摘要:Lock(锁) 从JDK5.0开始,Java提供了更强大的线程同步机制——通过显式定义同步锁对象来实现同步。同步锁使用Lock对象充当 java.util.concurrent.locks.Lock接口是控制多个线程对共享资源进行访问的工具。锁提供了对共享资源的独占访问,每次只能有一个线程对Lock 阅读全文
posted @ 2021-01-24 17:27 迪迦是真的 阅读(372) 评论(0) 推荐(0)
摘要:死锁 在多道程序系统中,一组进程中的每一个进程均无限期的等待被该组进程中的另一个进程**占有且永远不会释放的资源,**这种现象称系统处于死锁状态,处于死锁状态的进程称为死锁进程。 某一个同步块中同时拥有两个以上对象的锁时,就可能会发生死锁的问题 产生死锁的必要条件 互斥条件:一个资源一次只能被一个进 阅读全文
posted @ 2021-01-24 17:26 迪迦是真的 阅读(70) 评论(0) 推荐(0)
摘要:线程同步 并发:同一个对象被多个线程同时操作 线程同步其实就是一种等待机制,多个需要同时访问此对象的线程进入这个对象的等待池形成队列,等待前面线程使用完毕,下一个线程再使用 线程同步形成条件:队列+锁 锁机制synchronized:当一个线程获得对象的排它锁独占资源,其他线程必须等待,使用后释放锁 阅读全文
posted @ 2021-01-21 22:32 迪迦是真的 阅读(90) 评论(0) 推荐(0)
摘要:线程状态(五大状态) void setPriority(int newPriority) 更改线程的优先级。 static void sleep(long millis) 在指定的毫秒数内让当前正在执行的线程休眠(暂停执行),此操作受到系统计时器和调度程序精度和准确性的影响。 void join() 阅读全文
posted @ 2021-01-21 22:30 迪迦是真的 阅读(117) 评论(0) 推荐(0)
摘要:Lamda表达式 避免匿名内部类定义过多 其实质属于函数式编程的概念 可以让代码看起来很简洁 去掉了一堆没有意义的代码,只留下核心的逻辑 函数式接口Functional Interface:任何接口,如果只包含唯一一个抽象方法,那么它就是一个函数式接口(两个必要条件:必须是接口;只有一个方法(除 O 阅读全文
posted @ 2021-01-21 11:09 迪迦是真的 阅读(92) 评论(0) 推荐(0)
摘要:多线程 简介 进程process和线程thread: 线程是指程序的一次相对独立的运行过程,是系统调度的最小单位 (动态概念) 进程是指系统分配的基本对象,是拥有资源的最小实体,在传统os中也是调度的最小单位 一个进程可以有多个线程 线程就是独立的执行路径 在程序运行时,即使没有自己创建线程,后台也 阅读全文
posted @ 2021-01-21 11:05 迪迦是真的 阅读(130) 评论(0) 推荐(0)
摘要:网络编程 计算机网络:计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。 **网络编程的目的:**传播交流信息,数据交换,通信 网络通信的要素 通信双方的地址: ip 阅读全文
posted @ 2021-01-17 13:28 迪迦是真的 阅读(119) 评论(0) 推荐(0)
摘要:GUI练习:贪吃蛇游戏 帧:如果时间片足够小,就是动画 键盘监听 定时器Timer 代码按照B站狂神说视频教程编写,有改动:不能回头,初始位置随机,把计算坐标作为单独的方法提出来,食物位置不能和蛇重合 图片素材:https://ws28.cn/f/4gkrkyf5bm4 StartGame.java 阅读全文
posted @ 2021-01-13 20:44 迪迦是真的 阅读(112) 评论(0) 推荐(0)
摘要:GUI编程 Gui的核心技术:Swing AWT 不流行的原因: 界面不美观 需要jre环境 我们为什么要学习 可以写出自己想要的一些小工具 了解MVC架构,了解监听 1. AWT 抽象的窗口工具 1.1 介绍 包含了很多类和接口 用于GUI编程:图形用户界面编程 元素:窗口,按钮,文本框 概念: 阅读全文
posted @ 2021-01-12 21:32 迪迦是真的 阅读(156) 评论(0) 推荐(0)
摘要:打印流 PrintStream PrintStream extends FilterOutputStream PrintStream 为其他输出流添加了功能,使它们能够方便地打印各种数据值表示形式 特点: 只负责数据的输出,不负责数据的读取 与其他输出流不同,PrintStream 永远不会抛出 I 阅读全文
posted @ 2021-01-08 19:56 迪迦是真的 阅读(107) 评论(0) 推荐(0)
摘要:练习:序列化集合 想在文件中保存多个对象时,可以把多个对象存储到一个集合中 对集合进行序列化和反序列化 分析 定义一个存储Person对象的ArrayList集合 往ArrayList集合中存储Person对象 创建一个序列化流ObjectOutputStream对象 使用ObjectOutputS 阅读全文
posted @ 2021-01-08 19:02 迪迦是真的 阅读(152) 评论(0) 推荐(0)
摘要:序列化/反序列化 Java 提供了一种对象序列化的机制。用一个字节序列可以表示一个对象,该字节序列包含该对象的数据、对象的类型和对象中存储的属性等信息。字节序列写出到文件之后,相当于文件中持久保存了一个对象的信息。 反之,该字节序列还可以从文件中读取回来,重构对象,对它进行反序列化。对象的数据、对象 阅读全文
posted @ 2021-01-08 19:01 迪迦是真的 阅读(221) 评论(0) 推荐(0)
摘要:练习:转换文件编码 将GBK编码的文本文件转换为UTF-8编码的文本文件 分析 创建InputStreamReader对象,构造方法中传递字节输入流和指定的编码表名称GBK 创建OutputStreamWriter对象,构造方法中传递字节输出流和指定的编码表名称UTF-8 使用InputStream 阅读全文
posted @ 2021-01-07 22:53 迪迦是真的 阅读(177) 评论(0) 推荐(0)
摘要:转换流 字符编码和字符集 1. 字符编码 计算机中储存的信息都是用二进制数表示的。按照某种规则,将字符存储到计算机中,称为编码 。反之,将存储在计算机中的二进制数按照某种规则解析显示出来,称为解码 。 编码:字符(能看懂的)--字节(看不懂的) 解码:字节(看不懂的)-->字符(能看懂的) 字符编码 阅读全文
posted @ 2021-01-07 22:50 迪迦是真的 阅读(133) 评论(0) 推荐(0)
摘要:练习:文本排序 请将文本信息恢复顺序。 3.侍中、侍郎郭攸之、费祎、董允等,此皆良实,志虑忠纯,是以先帝简拔以遗陛下。愚以为宫中之事,事无大小,悉以咨之,然后施行,必得裨补阙漏,有所广益。 8.愿陛下托臣以讨贼兴复之效,不效,则治臣之罪,以告先帝之灵。若无兴德之言,则责攸之、祎、允等之慢,以彰其咎; 阅读全文
posted @ 2021-01-07 19:02 迪迦是真的 阅读(271) 评论(0) 推荐(0)
摘要:字符缓冲流 BufferedWriter 字符缓冲输出流 继承自父类的共性成员方法 void close() 关闭此流,但要先刷新它。 abstract void flush() 刷新该流的缓冲。 abstract void write(char[] cbuf, int off, int len) 阅读全文
posted @ 2021-01-07 19:00 迪迦是真的 阅读(89) 评论(0) 推荐(0)
摘要:缓冲流 缓冲流,也叫高效流,是对4个基本的FileXxx 流的增强,所以也是4个流 字节缓冲流:BufferedInputStream,BufferedOutputStream 字符缓冲流:BufferedReader,BufferedWriter 缓冲流的基本原理,是在创建流对象时,会创建一个内置 阅读全文
posted @ 2021-01-07 10:33 迪迦是真的 阅读(166) 评论(0) 推荐(0)
摘要:属性集 Properties java.util.Properties 继承于 Hashtable<K,V> ,来表示一个持久的属性集,可保存在流中或从流中加载。属性列表中每个键及其对应值都是一个字符串 。 是一个双列集合,K和V默认都是字符串,所以不用写泛型了 该类也被许多Java类使用,比如获取 阅读全文
posted @ 2021-01-06 20:58 迪迦是真的 阅读(94) 评论(0) 推荐(0)

//复制代码按钮 //代码行号 //评论