
Java
文章平均质量分 82
大量实例代码讲解,深入透彻,Java精致讲解
小简(JanYork)
不告诉你,就不告诉你,嘿嘿!
展开
-
一个多功能(聚合)查询接口,实现模糊、分页、主键、排序以及多条件查询
写的啰嗦了点,看效果请直接忽略中间,直接看后半部分。小简聊开发。原创 2023-06-03 11:05:04 · 2285 阅读 · 0 评论 -
用嘴写代码?继ChatGPT和NewBing之后,微软又开始整活了,Github Copilot X!
除了这些,国内大厂也开始AI风暴了,发版的言论不计其数,成果目前简单最成功的是百度推出的文心一言和文心一格,分别对应语言模型和图像模型。说白了,还是微软这种科技公司前景好,国内除了搞钱就是搞钱,人家虽然搞钱但是人家也搞科研(当然,部分原因也和大环境有关)。而且具备强大的代码分析能力,开发人员可深入分析和了解各个代码块的用途,快速生成单元测试,还能一键修改 Bug。,通过动态提取与分析代码的变更信息,自动生成描述,开发者人员只需在 PR 描述中插入标记,学生包或者开源开发者包,都可以免费使用,或者…原创 2023-03-23 10:33:28 · 5111 阅读 · 1 评论 -
JDK20正式发布了GA版本,短期维护支持,以及JDK21预览
最近,Oracle发布了JDK20,相比对于Java开发者来说,JDK的发版是比较收关注的事情了,小简也来和大家一起了解了解JDK20发生了什么变化呢?JDK20LTSJDK21目前JDK21也是推出了早期预览版本。JDK 20提供了来自OpenJDK项目Amber的语言改进(Switch的记录模式和模式匹配),OpenJDK巴拿马项目的增强功能,以互连Java虚拟机(JVM)和本机代码(外部函数和内存API和矢量API),以及与相关的功能(作用域值、虚拟线程和结构化并发),。Oracle。原创 2023-03-23 10:27:59 · 1307 阅读 · 0 评论 -
浅谈分布式环境下`WebSocket`消息共享问题
要实现同步,根据上面的需求,我们可以直接定位到Socket的Session不能共享问题,只要可以共享会话对象,那就可以解决当前问题。或者说,服务端项目存在多个负载均衡实例,实例均在不同的实例上,这样当一次请求负载到A服务器实例时,在A服务器线程上,第二次请求负载到另一台B服务器的实例,此时B服务器并不存在A服务器的。既然不能共享对象,那我们共享消息不就可以,我们的目的是要其他实例也可以收到。我们首先联想到,分布式下,我们的分布式锁、分布式状态信息,都是可以通过。去实现一对多消息,相信也不需要我多说,原创 2023-03-21 14:23:14 · 1110 阅读 · 0 评论 -
如何在非Spring容器管理的类中注入/获取 Spring容器中的 Bean?
只要是被称之为Bean的类就是被Spring容器管理的类。将Bean交给Spring容器管理的几种方式。原创 2023-03-17 17:45:12 · 2510 阅读 · 0 评论 -
踩坑篇之WebSocket实现类中无法使用@Autowired注入对象
WebSocket接下来我讲讲我踩坑的经历吧!上面是一个很简单的WebSocket端点服务类。我打算使用Redis的Bitmap来做连接人数统计。原创 2023-03-17 17:34:16 · 1515 阅读 · 0 评论 -
设计模式篇之一文搞懂如何实现单例模式
总之,枚举单例是一种非常优秀的单例实现方式,它具有线程安全、序列化安全、反射安全等优点,适用于大多数单例场景,但也存在一些限制和局限性。当然,在实际的开发中,还需要考虑其他一些因素,如单例对象的生命周期、多线程访问情况、性能要求、并发访问压力等等,才能综合选择最合适的单例实现方式。大家好,我是小简,这一篇文章,6种单例方法一网打尽,虽然单例模式很简单,但是也是设计模式入门基础,我也来详细讲讲。关键字块,再次检查单例对象是否已经被创建,如果没有被创建则创建单例对象并返回,否则直接返回已经创建好的单例对象。原创 2023-03-04 15:19:50 · 1013 阅读 · 1 评论 -
Linux开启Docker远程访问并设置安全访问(证书密钥),附一份小白一键设置脚本哦!
喜欢折腾慢慢看,不喜欢折腾直接跳到小简下文的一键脚本那里,两分钟搞好。我的博客:https://blog.ideaopen.cn我的公众号:小简聊开发一键脚本很方便,小简推荐使用这个,不折腾,我是折腾玩儿才不用脚本的。生产环境安全不容疏忽,大家公网环境可千万别粗心大意哦!Docker很多教程都只告诉你打开连接,万一有人服务器上开启连接,那就不是很好了,所以我才写一篇安全认证配置和远程连接配置一起的教程。下期再见,小简提前祝大家新春快乐哦!原创 2023-01-18 21:30:41 · 3108 阅读 · 0 评论 -
Java(SpringBoot)项目打包(构建)成`Docker`镜像的几种方式
小简选择的是最后一个,第一个也还行吧,但是Google那个不需要本地有Docker环境,第一个我还是开着魔法(梯子)打包的,最后一个挺好的。看情况选择的,很久没更新啦!越来越懒了,嘿嘿,下篇再见。原创 2023-01-10 21:09:40 · 10573 阅读 · 3 评论 -
Windows安装使用Docker,方便你的开发和部署(DockerDesktop篇)
首先声明,此篇不是完全的Docker技术文章,而是单纯的教你使用Docker不包含Docker的一些命令、如何打包Docker镜像等等。原创 2023-01-10 21:02:29 · 84219 阅读 · 15 评论 -
你真的会走好计算机这条路吗?选择不会变吗?浅谈学习
我不希望被这种技术教育带着走,你要去自己了解它,要知道他的发展,要去看行情,要去看看你有没有兴趣,要去知道,JSP是很老的技术,要去知道他领域在网页后端,但其他也可以干,到后面要慢慢去了解业务、框架,要去自己折腾。当我想着,我想写一个自己想要的东西,比如小程序啥的,我发现我没这个能力,我就会自己找时间学,每个人不一样,但如果你打算都没有,天天空谈学习,那说不好听点,别学了。你随便一艘,尚硅谷的老师,黑马的老师,鱼皮呀,一些大佬,他们视频还提供学习线路,还给你将学习规划、就业规划,带你了解这个行业。原创 2022-10-27 11:44:51 · 4127 阅读 · 3 评论 -
一篇带你了解Java开发中常用的注解与作用
编译器会帮我们自动生成一个没有任何参数的构造器给该类,但是如果我们自己写了构造器之后,这三个很像,都是在自动生成该类的构造器,差别只在生成的构造器的参数不一样而已。注解的使用频率并不高,在方法执行之后再进行权限验证,适合验证带有返回值的权限。),会需要每个类都一定要有一个无参数的构造器,所以你在加上。方法级别的权限认证,只有被该注解指定的角色才能访问该方法。注解,我们就能够用流式写法快速设定对象的值,但是。的日志框架,所以也不用再多做啥设定,直接就可以用在。同上面的注解一样,要开启此注解的功能需要在。原创 2022-10-26 16:16:31 · 854 阅读 · 0 评论 -
面试篇之HR问什么是静态代理?什么是动态代理?
在面向对象系统中,有些对象由于某些原因(比如对象创建开销很大,或者某些操作需要安全控制,或者需要进程外的访问),直接访问会给使用者或者系统结构带来很多麻烦,我们可以在访问此对象时加上一个对此对象的访问层。动态代理确实只能代理接口,JDK动态代理是基于接口的方式,换句话来说就是代理类和目标类都实现同一个接口。首先,我们创建一个接口,一般我们一个功能都会去设计一个接口,包括我们的三层架构也是这样,所以我这也写一个接口。一个动态代理可以对N个需要代理的对象起作用,只需要将需要代理类的参数放入。原创 2022-10-25 16:19:32 · 2910 阅读 · 0 评论 -
Spring6.0全新发布,快来看看
的第二个里程碑和对应的Spring Boot 3.0第一个里程碑将和大家见面。的代理机制将失效, 请为此类控制器启用基于类的代理。的持久层规范也将在此次里程碑版本中完成迁移。此外,团队称预估整体的项目在11月正式 GA。),以及对其他基础设施的修改。也并非新的技术,前身是Java的J2EE。在本次里程碑版本中涉及到的两个核心容器规范。作为重大更新,他直接舍弃一以往版本的。不是什么新技术,那么由来在这说一下。的组件已经在本次里程碑版本中移除。之前默认情况以下代码是可以的。是目前里程碑版本的基准线。原创 2022-10-25 16:15:29 · 6630 阅读 · 0 评论 -
开源项目篇之第三方登录一键集成
对于只需要接入2-3个的项目,如果业内人员经验丰富更建议自己接入。对于个人开发,外包项目,需要接入大量第三方的项目,比较友好。,它可以让我们脱离繁琐的第三方登录 SDK,让登录变得。最有价值开源项目,小而全而美的第三方登录开源组件。对于需要高度支配第三方授权的,也还自己接入较好。等国内外数十家第三方平台。使用处处有坑,但是相比你一个个接入也方便多了。支持平台太丰富了,啥都可以,连抖音登录都有。、支付宝、新浪微博、微信、方式支持自定义第三方接口。,如你所见,它仅仅是一个。等,按照自己需求选择。原创 2022-10-24 17:16:35 · 718 阅读 · 0 评论 -
工具优化篇之IDEA新UI+日常插件
新UI在老版本是有一些问题的,具体我没试过,所以我推荐IDEA是保持新版本的情况下,去使用这个UI,刚开始我也挺不习惯,后来才发现,越用越舒适,确实不错。从我体验这么久看来,他是一个非常强大的效率神器,会使用的话,写好注释能帮助你太多,也可以从他的提示中学到太多。我非常不推荐新手去使用他,因为实在太强大了,会让人忘记太多东西。大小的话,我觉得默认的12配上这个字体偏小,所以14比较好看。看起来还是有些花里胡哨的,但是我对这套美化还是挺喜欢的。然后找到我框的这个选项,给他勾选,重启。字体是站酷字体,名字是。原创 2022-10-20 15:12:24 · 4642 阅读 · 0 评论 -
IDEA插件第一期:EasyCode一键生成增删改查代码
这种工具是生产力工具,等你开始做项目,该学的都学了,接单呀,做项目呀,效率就很高。的时候去使用这些插件,那无疑是投机取巧了,还是建议踏实的学下来,多敲多写多实际。更新了后出了些小毛病,选择MP的生成,他会出现导入错乱,生成错误代码等等。那我最后说一下,我推荐这插件,并不是让大家投机取巧,合理利用,你如果在入门。那我开始说了,这个玩意生成会有很多错误代码,实际上,那些都是可以避免的。它包括,实体层,接口层,DAO层,接口层,接口实现这些代码的生成。我这里需要生成所有层次的代码,所以我选择所有。原创 2022-10-19 11:47:34 · 1550 阅读 · 0 评论 -
Fleet公测啦!真的轻量?
安装好了,图标也是给人一种高级感,作为一枚前后的开发人员,我迫不及待的想体验一下,比较强大有轻量。于是立马花了将近1G流量在笔记本里下载了下来。就在昨天晚上8点多,我收到了一封邮件,看到标题引起了我的注意。然后就是工具类支持的一些操作,SSH、终端、Docker。看了一圈,舒适没找到插件市场,那这生态少一半呀。的传闻了,包括也有内测的大佬使用过了。但是,这就是官方说的轻量?看了一下,能配置的设置也就这么点。包括历史提交,也只是单纯显示一下。官网的界面还是一如既往的科技感。有一说一,打开真的快,不到2秒。原创 2022-10-13 14:49:41 · 5270 阅读 · 3 评论 -
将Bean交给Spring容器管理有几种方式?
前两种方式,大家用的可能比较多,也是平时开发中必须要知道的,@Import注解用的可能不是特别多了,但是也是非常重要的,在进行Spring扩展时经常会用到,它经常搭配自定义注解进行使用,然后往容器中导入一个配置文件。他是所有Spring Bean的容器根接口,给Spring 的容器定义一套规范,给IOC容器提供了一套完整的规范,比如我们常用到的getBean方法等。方法,然后将我们要导入的类的全限定名写在里面即可,实现起来也是非常简单。注解的源码中,说的已经很清楚了,感兴趣的可以看下,我们实现一个。原创 2022-10-11 16:13:06 · 1241 阅读 · 0 评论 -
IDEA翻译插件(Translation)不能用啦?
不知道大家最近有没有发现,Translation不能用了。因为Google那边的原因,这个插件的接口,访问不通了。我当时本来是打算寻找一些替代品,比如:有道。但是毕竟不是内置的,而且,我不太喜欢用。那如何解决这个问题呢?或者你也可以申请其他的。如果还不行,欢迎私聊。还是内置的翻译好用。我群里的大佬通过修改。原创 2022-10-11 15:20:29 · 4323 阅读 · 11 评论 -
Maven搭建私有仓库(私服)
作为一个非常优秀且我找不到合适的替代品的二进制包储存库,功能也是非常强大,不单纯只能设置Maven私有仓库。包括我们常见的Yum、Docker、npm、NuGel等等。专业版需要付费,个人用免费版就可以,专业版更加强大。原创 2022-09-06 09:37:50 · 13502 阅读 · 1 评论 -
IDEA配置Maven教程
博客https://www.ideaopen.cn/前往官网下载。变量名:,变量值:解压后的目录。变量名:(一般都有,直接追加),变量值:。目前常用的开发工具如都自身集成了一个版本的。但是通常我们使用自己已经配置好的Maven。在标签内设置自己的本地仓库默认位置。 修改JDK默认版本修改镜像源在设置中搜索,然后将地址换成你自己的地址,已经用户设置文件位置和本地仓库位置。但是我们一般需要网络去获取依赖,我们这样设置可以本地离线运行。VM选项内容:。配置这个,可以在没有网路的情况下,我们可原创 2022-06-21 19:47:43 · 663 阅读 · 0 评论 -
踩坑-Tomcat(servlet)在启动(加载)是执行两次
博客不知道大家在使用时,有没有遇到过运行或者启动项目时,页面被执行了两次的问题。可能发生过,但是你没有发现。首先看一下问题是怎么样的。这是一段代码,说实话这玩意有点老了,不懂的请听我解释这一段代码。我刚开始觉得答案肯定是,也必须是。但是,当我运行起来发现。????居然是?我甚至怀疑是代码的问题......于是我在方法里面输出一下日志。我发现,这不是之间将变成了,而是方法被调用了两次!可是代码里面明明只调用一次啊?我去浏览器搜索相关案例,发现还真有几例,哈哈哈,浏览器万能。经过一系列排查,发现是针对你的项目运原创 2022-06-21 19:44:55 · 3038 阅读 · 3 评论 -
IDEA写jsp代码报错,但是正常运行解决
博客https://blog.ideaopen.cn/首先说明,是一个很老的技术了,用的比较少了,但是难免会接触到。当你写代码时,你可能发现报错,但是,可以正常运行,比如:语句,就会报错,但是你运行代码是正常的。我们打开这个页面。这样,就可以了,确定就行。...原创 2022-06-21 19:41:58 · 1065 阅读 · 0 评论 -
2021-2022新版本IDEA创建项目没有JavaEE和Web选项?
我的博客不知道大家的更新了没,更新了后,许多人发现,创建项目时,没有看见JavaEE或者JavaWeb选项了。当然,如果你是项目,那可能你还没发现,因为项目有Web模板。那,如何解决这个问题,有或者说,这个东西去哪里了呢?我们就正常的创建项目。右击项目,添加框架支持。这样就行了。快捷键。找到我蓝色框这个,然后勾选。还是比较推荐方法一,更方便合适。...原创 2022-06-21 19:36:45 · 17885 阅读 · 10 评论 -
IDEA配置Tomcat以及环境
我的小站前往官网或者镜像站下载,版本根据你环境需求来选择。下载后解压,盘的话我是选择盘。然后,我这里是9版本的,在文件夹里面可以看到一些或者文件。,点击启动Tomcat,,关闭Tomcat。当然,到时候肯定是会交给我们的IDE工具来管理启动的。然后就是变量,值:。修改这个文件,加一条蓝色框配置就可以。如果还是乱码,试试这个方法:修改这个文件。编码改为。...原创 2022-06-21 19:33:27 · 453 阅读 · 0 评论 -
手把手教你IDEA创建SSM项目结构
我的小站SSM项目需要用来管理依赖,所以我们需要先配置好,配置很容易,我就不演示了。首先,我们新建项目,勾选,选择模板,然后创建。这里耐心等待下载完成。可以看到,这里没用相关的文件夹。我们直接在文件夹上右键新建文件夹,下面会显示一个,直接创建就可以。此时,我们按照规范来,创建一个包。项目结构多种多样,比如三层架构啥的,按照你的需求来。我这里就稍微演示一下。这里这些结构都是可以自己按照规范命名,结构也有很多,分层架构方法也有很多,这里权当借鉴一下。我这里整合了一份依赖,如需使用可按照自己需求和对于版本进原创 2022-06-21 19:29:49 · 725 阅读 · 0 评论 -
JavaEE之Spring框架初解(浅谈)
我的小站https://blog.ideaopen.cn/想必对于Java程序员来说,这个词并不陌生,如果你Java基础刚学习完成,想开启框架的学习,或许需要好好了解一下它。毕竟,知己知彼,百战百胜。Spring框架有两个概念,你可以认为他是Spring全家桶,也就是包括Spring、SpringMVC、SpringBoot、SpringCloud这些。或者说,他是单独的Spring框架。计算机的发展道路很快,也诞生了许许多多的语言,但是每个语言多多少少都会有些缺陷,或许是使用起来太复杂,或许是缺少了某些编原创 2022-06-21 19:25:57 · 284 阅读 · 0 评论 -
我用kafka两年踩过的一些非比寻常的坑
前言我的博客https://link.juejin.cn?target=https%3A%2F%2Fwww.ideaopen.cn%2F我的上家公司是做餐饮系统的,每天中午和晚上用餐高峰期,系统的并发量不容小觑。为了保险起见,公司规定各部门都要在吃饭的时间轮流值班,防止出现线上问题时能够及时处理。我当时在后厨显示系统团队,该系统属于订单的下游业务。用户点完菜下单后,订单系统会通过发kafka消息给我们系统,系统读取消息后,做业务逻辑处理,持久化订单和菜品数据,然后展示到划菜客户端。这样厨师就知道原创 2022-05-25 15:24:05 · 176 阅读 · 0 评论 -
浅谈并发编程的业务场景
我的博客https://www.ideaopen.cn/想必大家都知道,并发编程是一项非常重要的技术,无论在面试,还是工作中出现的频率非常高。当然,如果是个人级别的小玩意,肯定不是特别在意这个。并发编程==多线程编程。但是多线程一定比单线程效率更高?不一定,得看具体的业务环境,多个线程之间,会不断的抢占CPU的资源,所以说有时候多线程也是相对消耗时间的。并发编程场景1.定时任务你可能疑惑?Thread类真的能做定时任务吗?答案是肯定的。一些定时任务框架的源码..原创 2022-05-25 15:14:05 · 289 阅读 · 0 评论 -
简简单单将Java应用封装成Docker镜像
想必Docker这个词大家都不陌生,是一个非常优秀的虚拟化容器。我的博客https://blog.ideaopen.cn/怎么把Java应用打包成Docker镜像?对熟悉Docker的同学这应该是一个很简单的问题,把项目打包成JAR包然后在Dockerfile里用ADD命令把JAR文件放到镜像里,启动命令设置执行这个JAR文件即可。可是对于不懂Java的,听起来貌似并不是那么简单。在这之前,我们先了解了解什么是:Dockerfile。DockerfileDockerfile是一个用.原创 2022-05-25 15:09:43 · 967 阅读 · 0 评论 -
MySQL的数据访问和DAO模式
技术博客https://blog.ideaopen.cn/Properties 配置文件在不同业务场景的实际开发过程中,数据库服务器的 IP 地址,访问数据库的用户名或密码经常会发生变化,维护和修改比较麻烦,而为了避免这种情况,Java 中有一个比较重要的 Properties 类,它可以读取 Java 配置文件,这样就可以把常用的配置信息卸载配置文件中,程序员进行维护和修改。添加 .properties 文件选择 src 文件夹并右击,New → File,命名为 database.prop原创 2022-05-20 17:02:00 · 814 阅读 · 0 评论 -
Log4j2 日志
点开博客https://www.ideaopen.cn/Apache Log4j2 是 Log4j 的升级,对其前身 Log4j 1.x进行了重大改进,并提供了Logback 中可用的许多改进,同时修复了 Logback 架构中的一些固有问题。要求Log4j2.13.0 及更高版本需要 Java 8。版本 2.4 到 2.12.1 需要 Java 7(Log4j 团队不再支持 Java 7)。某些功能需要可选的依赖项;这些功能的文档将指定所需的依赖项。Log4j2 的优势性能提升:.原创 2022-05-20 16:55:57 · 540 阅读 · 0 评论 -
Java之JDBC技术详解
一、简介1. 什么是JDBCJDBC (Java Date Base Connectivity),指 Java 数据库连接,是一种标准Java应用编程接口 (Java API),用来连接Java编程语言和广泛的数据库。JDBC API 库包含下面提高的每个任务,都是与数据库相关的常用用法。制作到数据库的连接 创建 SQL 或 MySQL 语句 创建 SQL 或 MySQL 查询数据库 查看和修改所产生的记录从根本上来说,JDBC 是一种规范,它提供了一套完整的接口,允许便携式访问到底原创 2022-05-17 16:02:07 · 758 阅读 · 0 评论 -
HashMap和Hashtable以及ConcurrentHashMap的区别
HashMap和Hashtable的区别何为HashMapHashMap是在JDK1.2中引入的Map的实现类。HashMap是基于哈希表实现的,每一个元素是一个key-value对,其内部通过单链表解决冲突问题,容量不足(超过了阀值)时,同样会自动增长。其次,HashMap是非线程安全的,只是用于单线程环境下,多线程环境下可以采用concurrent并发包下的concurrentHashMap。如果不理解线程安全,可以看看我这篇文章:Java并发编程之多线程HashMap实现了*.原创 2022-04-18 18:29:56 · 4243 阅读 · 0 评论 -
Java并发编程扩展(线程通信、线程池)
之前我说过,实现多线程的方式有4种,但是之前的文章中,我只介绍了两种,那么下面这两种,可以了解了解,不懂没关系。之前的文章——>Java并发编程之多线程使用ExecutorService、Callable、Future实现有返回结果的线程使用ExecutorService、Callable、Future实现有返回结果的线程,也可以叫线程池方式。ExecutorService、Callable、Future三个接口都是属于**Executor框架。可返回值的任务必须实现Callable原创 2022-04-14 18:30:06 · 554 阅读 · 2 评论 -
Java并发编程之Lock(同步锁、死锁)
这篇文章是接着我上一篇文章来的。上一篇文章同步锁为什么需要同步锁?首先,我们来看看这张图。这是一个程序,多个对象进行抢票。package MovieDemo;public class ThM implements Runnable { private int count = 10; private int num = 0; @Override public void run() { while (true) {原创 2022-04-14 18:14:55 · 839 阅读 · 0 评论 -
Java并发编程之多线程
我们首先,先要了解什么是进程,什么是线程。首先,我们看看进程。我们如果允许一个程序,它卡死了,我们通常会去任务管理器里面将进程结束。所以,这里所看见的,就是进程。那么,何为线程呢?首先,看看来自知乎的解释:线程是进程中执行运算的最小单位,是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。一个线程可以创建和撤消另一个线程,同一进程中的多个线程之间可以并发执行。原创 2022-04-13 19:49:27 · 532 阅读 · 0 评论 -
IO流的序列化和反序列化
IO流的序列化和反序列化 - 小简博客 (ideaopen.cn)https://blog.ideaopen.cn/index.php/archives/40/何为序列化和反序列化序列化:指把堆内存中的 Java 对象数据,通过某种方式把对象存储到磁盘文件中或者传递给其他网络节点(在网络上传输)。这个过程称为序列化。通俗来说就是将数据结构或对象转换成二进制串的过程反序列化:把磁盘文件中的对象数据或者把网络节点上的对象数据,恢复成Java对象模型的过程。也就是将在序列化过程中所生成的二进制串原创 2022-04-12 19:51:06 · 947 阅读 · 4 评论 -
Java之IO流技术详解
何为IO?首先,我们看看百度给出的解释。I/O输入/输出(Input/Output),分为IO设备和IO接口两个部分。i是写入,Input的首字母。o是输出,Output的首字母。IO 也称为IO流,IO = 流,它的核心就是对文件的操作,对于 字节 、字符类型的输入和输出流。IO分类IO流主要分为两大类,字节流和字符流。而按照作用分类,可以分为输入流和输出流。流?在电脑上的数据有三种存储方式,一种是外存,一种是内存,一种是缓存。比如电脑上的硬盘,磁盘,U盘等都是外存,原创 2022-04-11 16:05:46 · 1052 阅读 · 3 评论