最大堆外内存的配置 -XX:MaxDirectMemorySize=15g 分配堆外内存 java.nio.ByteBuffer#allocateDirect DirectByteBuffer 类是包权限的,使用 unsafe 分配和回收内存 class DirectByteBuffer exten ...
分类:
编程语言 时间:
2020-02-21 17:52:58
阅读次数:
71
1、现在要让有限的系统资源发挥更大的效率,一个最直接的方式就是进行资源复用,比如线程资源复用。 2、线程资源复用的一个最有效的方式就是使用事件驱动模型进行异步调用。 3、Reactor模型就是基于事件驱动的一个多路复用模型,它又可分为单线程、多线程、主从式的Reactor模型,以应对不同应用场景,N ...
分类:
其他好文 时间:
2020-02-21 14:32:13
阅读次数:
59
1. 在BIO中只有一个核心对象 Stream,它是单向的数据传输通道,即每个Stream要么是输入要么是输出的,不可兼得。开发人员是面向Stream进行编程的。 2. 在NIO中有三个核心对象 Seletor、Channel、Buffer。其中Selector是一个事件循环线程,不停的监听注册在其 ...
分类:
其他好文 时间:
2020-02-21 14:16:24
阅读次数:
63
第一步:用连接器 <Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="150" minSpareThreads="4"/> 启用 <Connector executor="tomcatThreadPool ...
分类:
其他好文 时间:
2020-02-21 12:58:53
阅读次数:
77
1、Spark组件之间使用RPC机制进行通信。RPC的客户端在本地编写并调用业务接口,接口在本地通过RPC框架的动态代理机制生成一个对应的实现类,在这个实现类中完成soket通信、远程调用等功能的逻辑包装,而在RPC的服务端既编写业务接口也编写了具体的业务实现类,通过RPC框架以接口的方式暴露出来, ...
分类:
其他好文 时间:
2020-02-20 20:17:31
阅读次数:
57
Jdk8中java.time包中的新的日期时间API类,ZoneId时区ID大全等,java时区大全。 ...
分类:
编程语言 时间:
2020-02-19 14:58:35
阅读次数:
82
python的组合数据包括:1.列表list[ ] 2.元组tuple(),3.字典dict{"x":"y"},4.集合set{} 1.创造组合数据:均可直接使用创造如:list1=[1,2,3,4] tuple1(1,2,3,4) dict{"1":"2"."3":"4"} 对于list tupl ...
分类:
编程语言 时间:
2020-02-18 20:58:26
阅读次数:
93
MSSQL数据库安全 1. MSSQL注入 1).关键系统表 "master" master.dbo.sysdatabases 关键字段:name:数据库名,dbid:库ID master.dbo.sysobjects 关键字段:name:对象名称,id:对象id,uid:所有者对象用户id,sta ...
分类:
数据库 时间:
2020-02-18 20:24:18
阅读次数:
90
NIO和BIO最大的区别就是只需要开启一个线程就可以处理来自多个客户端的IO事件。 BIO:同步阻塞式IO,服务器实现模式为一个连接建立一个线程,即客户端有连接请求时,服务器端就需要启动一个线程进行处理,如果这个连接不做任何事情,会造成不必要的线程开销,可以通过线程池机制改善 BIO原理:单线程:同 ...
分类:
其他好文 时间:
2020-02-17 14:16:14
阅读次数:
76