随笔分类 -  java / Java基础

摘要:网络通信中,最底层的就是内核中的网络I/O模型了。随着技术的发展,操作系统内核的网络模型衍生出了五种I/O模型,《UNIX网络编程》一书将这五种I/O模型分为阻塞式I/O、非阻塞式I/O、I/O复用、信号驱动式I/O和异步I/O。 1. 阻塞式IO 阻塞式I/O,它在每一个连接创建时,都需要一个用户 阅读全文
posted @ 2022-08-24 17:30 言思宁 阅读(1327) 评论(0) 推荐(0) 编辑
摘要:在Java中CompletableFuture用于异步编程, 是 Future API的扩展。异步编程是编写非阻塞的代码,运行的任务在一个单独的线程,与主线程隔离,并且会通知主线程它的进度,成功或者失败。 Future Future 被用于作为一个异步计算结果的引用。提供一个 isDone() 方法 阅读全文
posted @ 2022-08-24 16:58 言思宁 阅读(1409) 评论(0) 推荐(0) 编辑
摘要:fastjson可以自动映射pos_id到posId。 JSON.parseObject(String, Class): 从String到POJO (JSONObject) JSONObject.parseObject(String): 从String到JsonObject (JSONArray) 阅读全文
posted @ 2022-08-24 16:34 言思宁 阅读(54) 评论(0) 推荐(0) 编辑
摘要:两阶段终止模式 在并发时,如何让一个线程T1优雅地终止线程T2,优雅指的是给T2一个料理后事的机会。 方法1——利用interrupt @Slf4j(topic = "c.two") public class MyTwoInterrupt_ByInterrupt { public static vo 阅读全文
posted @ 2022-04-14 14:03 言思宁 阅读(57) 评论(0) 推荐(0) 编辑
摘要:Json与Object转换 依赖jar包:fastjson <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.75</version> </dependency> Ob 阅读全文
posted @ 2022-01-19 21:00 言思宁 阅读(185) 评论(0) 推荐(0) 编辑
摘要:对象作为函数的参数 当对象作为函数的参数传递到方法中时,实际上传递的是对象的地址值。 1. 以传递TreeNode对象为例,root传递给change函数的是root的地址值。 public static void change(TreeNode node) { } public static vo 阅读全文
posted @ 2022-01-04 13:53 言思宁 阅读(156) 评论(0) 推荐(0) 编辑
摘要:ThreadLocal简单理解 ThreadLocal 当类中有共享变量时,多个线程的数据访问,会使变量产生线程不安全的问题。ThreadLocal为每个使用该变量的线程提供独立的变量副本,避免了多个线程对数据的访问冲突,每一个线程都可以独立地改变自己的副本,而不会影响其它线程所对应的副本。 本质: 阅读全文
posted @ 2021-12-28 21:09 言思宁 阅读(31) 评论(0) 推荐(0) 编辑
摘要:代码格式 1. 二元运算符两边加空格,单元运算符两边不加空格; 2. 花括号,圆括号和for,if之间要加空格; 3. 用空行分割不同的代码逻辑块; 4. 逗号后面加空格。 易读 1. 函数名和变量名用1-2个单词作为名称 2. 确保一个函数内部不超过3层缩进 for if 条件 处理 处理 处理 阅读全文
posted @ 2021-12-08 11:59 言思宁 阅读(33) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示