首页 文章 精选 留言 我的

精选列表

搜索[io],共10000篇文章
优秀的个人博客,低调大师

轻量 IO C框架 loveqq1.0.9 发布,多项优化+新增 rocketmq+redismq 启动器

本次更新: 新增:loveqq-boot-starter-rocketmq,新增 rocketmq 启动器 优化:loveqq-boot-starter-redisson,新增基于 redis 的简单 mq 消息队列 优化:loveqq-boot-starter-tx,新增 @TransactionalEventListener 支持 优化:loveqq-boot,@Value 注解支持绑定复杂数据类型 优化:loveqq-boot,新增@ConditionalOnExpression 条件注解支持 修复:loveqq-mvc-netty,修复 sse 响应异常 优化:loveqq-mvc-netty,支持CompletionStage 返回值类型,优化DispatcherHandler 请求处理逻辑 优化:loveqq-cache-core,响应式缓存注解代理逻辑,更简单流畅 新增:添加 loveqq-framework logo 重构:loveqq-data,原 loqq-data-jdbc 模块拆分为 loveqq-data-korm,一个简易的基于接口代理的半orm框架;loveqq-data-codegen,一个基于 korm 的代码生成器 优化:多项依赖升级 简单示例: package com.kfyty.demo; import com.kfyty.loveqq.framework.boot.K; import com.kfyty.loveqq.framework.boot.validator.annotation.Condition; import com.kfyty.loveqq.framework.core.autoconfig.annotation.Async; import com.kfyty.loveqq.framework.core.autoconfig.annotation.BootApplication; import com.kfyty.loveqq.framework.core.autoconfig.annotation.EventListener; import com.kfyty.loveqq.framework.core.event.ContextRefreshedEvent; import com.kfyty.loveqq.framework.data.cache.core.annotation.Cacheable; import com.kfyty.loveqq.framework.web.core.annotation.GetMapping; import com.kfyty.loveqq.framework.web.core.autoconfig.annotation.EnableWebMvc; import lombok.Data; @Async @EnableWebMvc @EventListener @BootApplication public class Main { public static void main(String[] args) { K.run(Main.class, args); } @Cacheable @GetMapping public User hello(@Valid User user) { return user; } @Async @EventListener public void onStarted(ContextRefreshedEvent event) { log.info("started succeed !"); } @Data public static class User { @Condition(when = "type == 1", then = "photo != null", message = "type=1时,图片不能为空") private Integer type; private String photo; } }

优秀的个人博客,低调大师

Java 学习(25)---(IO流之数据流 / 内存操作流 / 打印流 / 标准输入输出流)

数据流 可以读写基本数据类型的数据 数据输入流: DataInputStream DataInputStream(InputStream in) 数据输出流: DataOutputStream DataOutputStream(OutputStream out) privatestaticvoid read() throws IOException { // DataInputStream(InputStream in) // 创建数据输入流对象 DataInputStream dis = newDataInputStream( new FileInputStream("dos.txt")); // 读数据 byte b = dis.readByte(); short s = dis.readShort(); int i = dis.readInt(); long l = dis.readLong(); float f = dis.readFloat(); double d = dis.readDouble(); char c = dis.readChar(); boolean bb = dis.readBoolean(); // 释放资源 dis.close(); } privatestaticvoid write() throws IOException { // DataOutputStream(OutputStream out) // 创建数据输出流对象 DataOutputStream dos = new DataOutputStream(new FileOutputStream( "dos.txt" )); // 写数据了 dos.writeByte(10); dos.writeShort(100); dos.writeInt(1000); dos.writeLong(10000); dos.writeFloat(12.34F); dos.writeDouble(12.56); dos.writeChar('a'); dos.writeBoolean(true); // 释放资源 dos.close(); } 内存操作流 用于处理临时存储信息的,程序结束,数据就从内存中消失。 字节数组:ByteArrayInputStream ByteArrayOutputStream 字符数组:CharArrayReader CharArrayWriter 字符串:StringReader StringWriter // ByteArrayOutputStream() ByteArrayOutputStream baos = new ByteArrayOutputStream(); // 写数据 for ( int x = 0; x < 10; x++) { baos.write(("hello" +x ).getBytes()); } // 释放资源 // 通过查看源码我们知道这里什么都没做,所以根本不需要 close() // baos.close(); // public byte[] toByteArray() byte []bys = baos.toByteArray(); // 读数据 // ByteArrayInputStream(byte[] buf) ByteArrayInputStream bais = new ByteArrayInputStream(bys); int by = 0; while((by = bais.read()) != -1) { System. out .print((char) by ); } // bais.close(); 打印流 (1)字节打印流,字符打印流 (2)特点: A:只操作目的地 ,不操作数据源 B:可以操作任意类型的数据 C:如果启用了自动刷新,在调用 println() 方法的时候,能够换行并刷新 D:可以直接操作文件 问题:哪些流可以直接操作文件呢 ? 看API,如果其构造方法能够同时接收 File和String类型的参数,一般都是可以直接操作文件的 (3)案例:复制文本文件 BufferedReaderbr = new BufferedReader(newFileReader("a.txt")); PrintWriter pw = new PrintWriter(new FileWriter("b.txt"),true); Stringline= null ; while ((line=br.readLine())!=null ) { pw.println(line ); } pw.close(); br.close(); 标准输入输出流 ( 理解即可) System类下面有这样的两个字段:in标准输入流 /out 标准输出流 (2)三种键盘录入方式 A:main 方法的 args 接收参数 B:System.in通过 BufferedReader 进行包装 BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); C:Scanner Scanner sc = new Scanner(System.in); (3)输出语句的原理和如何使用字符流输出数据 A:原理 System.out.println("helloworld"); PrintStream ps = System.out; ps.println("helloworld"); B:把 System.out 用字符缓冲流包装一下使用 BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); ​​​​​​

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

用户登录
用户注册