![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java技术
qq_41757556
这个作者很懒,什么都没留下…
展开
-
Java使用Apache HttpComponents实现上传文件功能
在实际开发过程中,有时候用RestTemplate实现POST请求文件上传后端接口的功能,在本地Windows上自测都是没有问题的;但是部署到测试环境Linux服务器后,上传中文文件名就会出现异常。换用了Apache HttpComponents后就没问题,估计Spring的RestTemplate处理上传功能还有小bug。pom文件加入相关jar包依赖:<dependency> <groupId>org.apache.httpcomponents</grou原创 2021-02-19 16:17:52 · 667 阅读 · 0 评论 -
使用asmtools.jar编译和反编译字节码文件
1. 关于asmtools.jar用途:转换过程 “.class文件 -> 字节码指令(类似汇编语言)文件 -> .class文件”,只需要修改“字节码指令(类似汇编语言)文件”就能改变一个“.class文件”的运行结果。2. 获取方式asmtools.jar下载url:https://ci.adoptopenjdk.net/view/Dependencies/job/asmtools/lastSuccessfulBuild/artifact/3. 示例Foo.java.原创 2020-10-08 21:36:39 · 209 阅读 · 0 评论 -
Netty 中的线程模型
Netty 中最核心的概念是事件循环(EventLoop),其实也就是 Reactor 模式中的 Reactor,负责监听网络事件并调用事件处理器进行处理。在 4.x 版本的 Netty 中,网络连接和 EventLoop 是稳定的多对 1 关系,而 EventLoop 和 Java 线程是 1 对 1 关系,这里的稳定指的是关系一旦确定就不再发生变化。也就是说一个网络连接只会对应唯一的一个 EventLoop,而一个 EventLoop 也只会对应到一个 Java 线程,所以一个网络连接只会对应到一个..转载 2020-10-06 15:52:18 · 206 阅读 · 0 评论 -
Reactor 模式的类图
其中 Handle 指的是 I/O 句柄,在 Java 网络编程里,它本质上就是一个网络连接。Event Handler 很容易理解,就是一个事件处理器,其中 handle_event() 方法处理 I/O 事件,也就是每个 Event Handler 处理一个 I/O Handle;get_handle() 方法可以返回这个 I/O 的 Handle。Synchronous Event Demultiplexer 可以理解为操作系统提供的 I/O 多路复用 API,例如 POSIX 标准里的 sele..转载 2020-10-06 15:38:33 · 238 阅读 · 0 评论 -
Java线程的生命周期
通用的线程生命周期通用的线程生命周期基本上可以用下图这个“五态模型”来描述。这五态分别是:初始状态、可运行状态、运行状态、休眠状态和终止状态。Java 中线程的生命周期Java 语言里细化了休眠状态,线程共有六种状态,分别是:Java 语言中线程共有六种状态,分别是:NEW(初始化状态) RUNNABLE(可运行 / 运行状态) BLOCKED(阻塞状态) WAITING(无时限等待) TIMED_WAITING(有时限等待) TERMINATED(终止状态)但其实在操.转载 2020-10-04 11:16:06 · 119 阅读 · 1 评论 -
Java如何使用异步消息实现分布式事务
参考:Java实现转账业务转载 2020-10-03 11:26:47 · 191 阅读 · 0 评论