面试知识点
Netty与NIONetty 是一个基于 Java NIO 构建的高性能、异步事件驱动的网络应用框架。它简化了基于 TCP/UDP 的网络编程,提供了对复杂 I/O 操作(如 HTTP、WebSocket 等协议)的抽象,并内置了高效的线程模型和内存管理机制。NIO的基本概念和用法NIO(Non-blocking I/O)是 Java 1.4 引入的新 I/O 模型。在 NIO 中,线程在进行 I
Netty与NIONetty 是一个基于 Java NIO 构建的高性能、异步事件驱动的网络应用框架。它简化了基于 TCP/UDP 的网络编程,提供了对复杂 I/O 操作(如 HTTP、WebSocket 等协议)的抽象,并内置了高效的线程模型和内存管理机制。NIO的基本概念和用法NIO(Non-blocking I/O)是 Java 1.4 引入的新 I/O 模型。在 NIO 中,线程在进行 I
主体框架Spring、Spring Boot、SpringMvc、SpringCloud、Spring Security数据库Hebernate、MyBatis、MapStruct、MyBatis-plus、tk-MyBatis、DataX(DataWorks数据集成,离线数据同步工具/平台)、ShardingSphere(分库分表)APIsSwagger3、Knife4jHttp请求HttpCl
资方给了 sdk 和 demo,在 demo 中测试上传和下载都是 OK 的,但是迁移到项目中上传却提示 invalid privatekey。断点跟踪了一下,发现是 ChannelSftp 初始化的过程中报错,具体结合参数分析为 connectKey,由配置项 sftpConnectKey 传入。配置项 sftpConnectKey 在 demo 中是直接定义的:String sftpConne
在运行资方的 sdk demo 时,SLF4j 报错:Failed to load class org.slf4j.impl.StaticLoggerBinder。idea 提示了一个报错链接说明:无法加载类 org.slf4j.impl.StaticLoggerBinder,里面提到:org.slf4j.impl.StaticLoggerBinder当无法将类加载到内存中时,slf4j-api
新接入的资方提供了一个加解密的 demo 和 sdk jar 包,之前接入是另外的同事完成,这次想要自己试试看,如果不行,再找对方帮忙。百度了一下,找到使用nexus3.X上传本地jar包并且通过pom读取(最全版本)。里面前面部分还包括下载、安装、配置等内容,直接跳到上传 jar 包的部分。首先需要先登录,因为上传和后台管理的部分需要登录之后才会显示。使用默认的 admin/admin123 登
在接入资方的绑卡接口时,先使用了一个支付宝的卡号验证,似乎还免费的,之后再调用的接口。 GET https://ccdcapi.alipay.com/validateAndCacheCardInfo.json?_input_charset=utf-8&cardNo=yourcardNo&cardBinCheck=true RESPONSE { "cardType&qu
代码示例: public static String getIpAddr(HttpServletRequest request) { if (request == null) { return "unknown"; } String ip = request.getHeader
遇到接口提供方,使用了代理,每次请求都会重定向。而默认获取请求是直接返回的,即返回了 302 内容,无法实际调用接口。核对了一下问题,接口方提出添加允许跟随重定向:request.setFollowRedirects(true);但我这边添加的时候报错,没有这个方法。百度提示 HttpClient 4.x 不需要手动设置是否跟踪重定向,它会自动处理重定向。以下为生效配置修改项:RequestCon
示例代码如下:try { List<TclientSignContract> list = new ArrayList<>(); // 合同1 TclientSignContract tclientSignContract = new TclientSignContract(); tclientSignContract.setFileName
解决Netty 框架自带了 JsonObjectDecoderJSON 对象解码器,它属于在四种常见的解码器之外的解码器。除此之外,还有 base64 解码器、xml 解码器等。可以在 netty-codec 包下找到所有 netty 支持的解码器。pipeline.addLast(new JsonObjectDecoder(4096)) .addLast(new StringDecode