摘要: 摘自《小狗钱钱》,和自己的一些感悟: 太多的人做事犹豫不决,就是因为他们觉得没有完全弄懂这件事。真正付诸实践要比纯粹的思考有用多了。 思考固然重要,但是不付出行动,一切都是徒劳。光付出行动这一步,就能战胜绝大多数人了。(之前想做自媒体,就是活生生的例子,总是觉得自己没有准备充分。 Just do i 阅读全文
posted @ 2020-08-24 00:24 吹不散的流云 阅读(175) 评论(0) 推荐(0)
摘要: 定义 Netty 提供异步的、基于事件驱动的网络应用程序框架,用于快速开发高性能的、高可靠的网络IO程序。 原生 NIO 存在的问题 NIO 类库和 API 复杂,使用门槛高。需要熟练掌握 Selector、ServerSocketChannel、SocketChannel、ByteBuffer 等 阅读全文
posted @ 2020-08-21 00:02 吹不散的流云 阅读(24) 评论(0) 推荐(0)
摘要: My first blog! 阅读全文
posted @ 2020-08-12 18:25 吹不散的流云 阅读(103) 评论(1) 推荐(1)
摘要: title: 算法-归并排序 date: 2020-06-30 01:28:52 tags: Algorithm category: Algorithm 对两个有序数组进行排序: 将arr数组中,左右两个有序数组分别复制到两个数组中,逐个比较,再放到原数组中,这样原数组有序。(或者利用双指针遍历,复 阅读全文
posted @ 2020-06-30 01:28 吹不散的流云 阅读(118) 评论(0) 推荐(0)
摘要: 堆: 需满足两个条件: 1、是一个完全二叉树 2、parent > child (大顶堆) 完全二叉树,确保可以用数组来表示,并且从任意节点开始出发,可以轻松得到其父节点和两个子节点。 对于节点i,parent = (i - 1) / 2, c1 = i * 2 + 1, c2 = i * 2 + 阅读全文
posted @ 2020-06-21 17:25 吹不散的流云 阅读(149) 评论(0) 推荐(0)
摘要: 一、为什么要使用线程池 线程池复用线程有以下几点优点: 减少资源创建 ⇒ 减少内存开销,创建线程占用内存。使用 new Thread 每次启动线程都需要进行对象和线程; 降低系统开销 ⇒ 创建线程需要时间,会延迟处理的请求; 提高稳定稳定性 ⇒ 避免无限创建线程引起的 OOM; 功能更强大 ⇒ 提供 阅读全文
posted @ 2020-03-30 23:59 吹不散的流云 阅读(112) 评论(0) 推荐(0)
摘要: J.U.C 是 java.util.concurrent 的缩写,是 jdk 的并发包,包含了很多并发相关的类。下面介绍常用的类。 一、Atomic 原子操作类 1. 原子更新基本类型 使用原子的方式更新基本类型,Atomic 包提供了以下 3 个类: AtomicBoolean AtomicInt 阅读全文
posted @ 2020-03-29 16:46 吹不散的流云 阅读(162) 评论(0) 推荐(0)
摘要: 一、安全发布 1. 对象发布与逸出 发布对象:使对象能够在当前作用域之外的代码中使用 逸出:某个不应该发布的对象被发布 (1)变量逸出原有作用域 程序示例: public class N00_Test { private String[] strs = {"1", "2", "3"}; public 阅读全文
posted @ 2020-03-28 00:23 吹不散的流云 阅读(125) 评论(0) 推荐(0)
摘要: 一、线程安全 1. 线程安全 可以简单的理解为:一个方法或者一个实例可以在多线程环境中使用而不会出现问题。 2. 线程不安全的原因 多个线程使用了相同的资源,如同一内存区(变量、数组或对象)、系统(数据库、web服务等)或文件等。更准确的说,是多个线程对同一资源进行了写操作。多个线程只读取相同的资源 阅读全文
posted @ 2020-03-24 03:09 吹不散的流云 阅读(121) 评论(0) 推荐(0)
摘要: date: 2019-08-31 Demo QuartzSample.java public class QuartzSample { public static void main(String[] args) throws SchedulerException { StdSchedulerFac 阅读全文
posted @ 2020-01-17 00:28 吹不散的流云 阅读(540) 评论(0) 推荐(0)
点击右上角即可分享
微信分享提示