五种IO模型及设计模式
摘要:下面就分别来介绍一下这5种IO模型的异同。 1.阻塞IO模型最传统的一种IO模型,即在读写数据过程中会发生阻塞现象。 当用户线程发出IO请求之后,内核会去查看数据是否就绪,如果没有就绪就会等待数据就绪,而用户线程就会处于阻塞状态,用户线程交出CPU。当数据就绪之后,内核会将数据拷贝到用户线程,并返回
阅读全文
posted @
2022-10-27 14:34
苦大师
阅读(421)
推荐(0) 编辑
线程状态
摘要:线程共包括以下 5 种状态: 1. 新建状态(New): 线程对象被创建后,就进入了新建状态。例如,Thread thread = new Thread()。 2. 就绪状态(Runnable): 也被称为“可执行状态”。线程对象被创建后,其它线程调用了该对象的start()方法,从而来启动该线程。
阅读全文
posted @
2022-10-27 13:51
苦大师
阅读(38)
推荐(0) 编辑
JAVA类在JVM加载过程
摘要:一、概论: 一个java类从加载进内存到卸载出内存为止,一共经历7个阶段:加载——>验证——>准备——>解析——>初始化——>使用——>卸载 其中,类加载包括5个阶段:加载——>验证——>准备——>解析——>初始化 在类加载的过程中,以下3个过程称为连接:验证——>准备——>解析 因此,JVM的类加
阅读全文
posted @
2022-10-27 11:44
苦大师
阅读(229)
推荐(0) 编辑
redis配置说明
摘要:a) 关闭节点: src/redis-cli -h 192.168.10.231 -p 10002 shutdown 查看状态: src/redis-cli -h 192.168.10.231 -p 10002 ping 查看主从状态 src/redis-cli -h 192.168.10.231
阅读全文
posted @
2019-05-31 10:22
苦大师
阅读(1603)
推荐(0) 编辑
关于java的日志框架
摘要:Log4j Log4j是Apache的一个开放源代码项目,Spring Boot1.4以及之后的版本已经不支持log4j ,log4j也很久没有更新了,现在已经有很多其他的日志框架对Log4j进行了改良,比如说SLF4J、Logback等。 Log4j2 而且Log4j 2在各个方面都与Logbac
阅读全文
posted @
2019-05-29 11:23
苦大师
阅读(301)
推荐(0) 编辑
SM2,SM3,SM4密钥算法
摘要:SM2 是国家密码管理局于2010年12月17日发布的椭圆曲线公钥密码算法 SM2算法和RSA算法都是公钥密码算法,SM2算法是一种更先进安全的算法,在我们国家商用密码体系中被用来替换RSA算法。 目前常用的1024位RSA算法面临严重的安全威胁,我们国家密码管理部门经过研究,决定采用SM2椭圆曲线
阅读全文
posted @
2019-05-28 17:55
苦大师
阅读(10139)
推荐(0) 编辑
悲观锁和乐观锁
摘要:悲观锁:总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁。 常见的锁操作: 传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。 再比如Java里面的同步原语synchr
阅读全文
posted @
2019-05-24 09:37
苦大师
阅读(128)
推荐(0) 编辑
Java RIA Demo
摘要:JavaFX 编程语言开发互联网应用程序(RIA) 执行入口: View层 FXML文件: 控制层:
阅读全文
posted @
2019-05-24 09:14
苦大师
阅读(313)
推荐(0) 编辑
HTTP2的优点
摘要:HTTP2的优点 2.1 多路复用 2.2 二进制分帧 2.3 首部压缩 2.4 服务推送 1. 介绍 知乎上HTTP/2.0 相比1.0有哪些重大改进?中LeoZhang的回答不错可以看看。本文简单总结下。 2. 优点 主要优点肯定就是性能提升大了。但是为什么性能提升大,其实主要还是由以下方面的改
阅读全文
posted @
2019-05-15 14:09
苦大师
阅读(3253)
推荐(0) 编辑
Java 参数
摘要:java -help Java -X 三、JVM非Stable参数(-XX) Java 6(update 21oder 21之后)版本, HotSpot JVM 提供给了两个新的参数,在JVM启动后,在命令行中可以输出所有XX参数和值。 1 读者可以使用以下语句输出所有的参数和默认值 由于非Stat
阅读全文
posted @
2019-05-13 19:26
苦大师
阅读(5011)
推荐(0) 编辑
TCP/IP协议
摘要:TCP/IP不是一个协议,而是一个协议族的统称。 包括了 IP协议,IMCP协议,TCP协议,以及我们更加熟悉的http、ftp、pop3协议等等 TCP/IP协议分层 TCP/IP协议族按照层次由上到下,层层包装。 应用层:向用户提供一组常用的应用程序, SMTP:简单邮件传输协议 Telnet:
阅读全文
posted @
2019-05-13 13:53
苦大师
阅读(427)
推荐(0) 编辑
CMS算法
摘要:前言 CMS,全称Concurrent Low Pause Collector,是jdk1.4后期版本开始引入的新gc算法,在jdk5和jdk6中得到了进一步改进,它的主要适合场景是对响应时间的重要性需求 大于对吞吐量的要求,能够承受垃圾回收线程和应用线程共享处理器资源,并且应用中存在比较多的长生命
阅读全文
posted @
2019-05-09 15:03
苦大师
阅读(1273)
推荐(0) 编辑
G1回收算法
摘要:参考: https://mp.weixin.qq.com/s?__biz=MzIxMjE5MTE1Nw==&mid=2653193390&idx=2&sn=4fcf627fff1294f3573c7ae9080cab50&chksm=8c99f674bbee7f627fa3c9b6d5c1e40e3
阅读全文
posted @
2019-04-29 21:35
苦大师
阅读(720)
推荐(0) 编辑
Java锁
摘要:引用:https://www.cnblogs.com/dolphin0520/p/3923167.html 在并发编程中,经常遇到多个线程访问同一个 共享资源 ,这时候作为开发者必须考虑如何维护数据一致性。 java中所说的锁就是指的内置锁, 每个java对象都可以作为一个实现同步的锁,虽然说在ja
阅读全文
posted @
2019-04-29 21:29
苦大师
阅读(165)
推荐(0) 编辑
Java线程池
摘要:线程池有四种实现方式: ExecutorService cachedThreadPool = Executors.newCachedThreadPool(); 创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程。 这种类型的线程池特点是: 工作线程的创建数量
阅读全文
posted @
2019-04-28 21:23
苦大师
阅读(130)
推荐(0) 编辑
Java线程状态
摘要:线程共包括以下 5 种状态: 1. 新建状态(New): 线程对象被创建后,就进入了新建状态。例如,Thread thread = new Thread()。 2. 就绪状态(Runnable): 也被称为“可执行状态”。线程对象被创建后,其它线程调用了该对象的start()方法,从而来启动该线程。
阅读全文
posted @
2019-04-28 21:18
苦大师
阅读(143)
推荐(0) 编辑
什么是进程,什么是线程
摘要:什么是进程?什么是线程? 进程: 进程是并发执行程序在执行过程中资源分配和管理的基本单位(资源分配的最小单位)。进程可以理解为一个应用程序的执行过程,应用程序一旦执行,就是一个进程。 每个进程都有自己独立的地址空间,每启动一个进程,系统就会为它分配地址空间,建立数据表来维护代码段、堆栈段和数据段。
阅读全文
posted @
2019-04-25 13:07
苦大师
阅读(486)
推荐(0) 编辑
JVM的垃圾回收算法
摘要:1、引用计数算法 对象被引用,引用计数器加1。 当一个对象实例被垃圾收集时,它引用的任何对象实例的引用计数器减1 优缺点 优点:引用计数收集器可以很快的执行,交织在程序运行中。对程序需要不被长时间打断的实时环境比较有利。 缺点:无法检测出循环引用。如父对象有一个对子对象的引用,子对象反过来引用父对象
阅读全文
posted @
2019-04-24 15:47
苦大师
阅读(219)
推荐(0) 编辑