一念永恒

一念山河成 ,一念百草生,一念万古亘,一念月东升。

NIO中Buffer与Channel搭配使用原理

Channel:用于源节点与目标节点之间的连接。在Java NIO中,负责缓冲区中数据传输,Channel本身不存储数据,因此需要配合缓冲区进行传输。 在NIO中,使用通道(Channel)基于缓冲区数据块的读写。 Buffer ByteBuffer CharBuffer DoubleBuffe...

2019-05-24 22:36:08

阅读数 13

评论数 0

二叉树算法题汇总

目录 二叉树的遍历 前序遍历 中序遍历 后序遍历 层次遍历 基础算法 求二叉树中的节点个数 求二叉树的深度(高度) 求二叉树第k层的节点个数 求二叉树中叶子节点的个数 判断两棵二叉树是否相同的树 判断二叉树是不是平衡二叉树 求二叉树的镜像 判断两个二叉树是否互相镜像 ...

2019-05-19 12:39:59

阅读数 18

评论数 0

mysql删除重复数据保留id最小(最大)的数据

如题: 有Person表 +----+---------+ | Id | Email | +----+---------+ | 1 | a@b.com | | 2 | c@d.com | | 3 | a@b.com | +----+---------+ 问题:删除重复的邮件地址 ...

2019-03-02 15:41:51

阅读数 130

评论数 0

CountDownLatch

用来控制一个线程等待多个线程。 维护了一个计数器 cnt,每次调用 countDown() 方法会让计数器的值减 1,减到 0 的时候,那些因为调用 await() 方法而在等待的线程就会被唤醒。 public class CountdownLatchExample { pub...

2019-02-28 15:48:06

阅读数 45

评论数 0

Servlet生命周期

Servlet运行原理  我们来看一下Tomcat是如何加载的:      1. 如果已配置自动装入选项,则在启动时自动载入。      2. 在服务器启动时,客户机首次向Servlet发出请求。      3. 重新装入Servlet时。       当启动Servlet容器时,容...

2019-02-26 11:38:06

阅读数 59

评论数 0

HTTPS与SSL验证

1 验证流程 1 客户端发起一个https的请求,把自身支持的一系列Cipher Suite(密钥算法套件,简称Cipher)发送给服务端 2  服务端,接收到客户端所有的Cipher后与自身支持的对比,如果不支持则连接断开,反之则会从中选出一种加密算法和HASH算法    以证书的形式返回...

2019-02-15 16:47:02

阅读数 119

评论数 0

CA证书

1. CA证书理解?CA证书的作用? CA证书顾名思义就是由CA(Certification Authority)机构发布的数字证书。要对CA证书完全理解及其作用,首先要理解SSL。SSL(security sockets layer,安全套接层)是为网络通信提供安全及数据完整性的一种安全协议。...

2019-02-15 16:12:16

阅读数 152

评论数 0

常见IO模型详解

服务器端编程经常需要构造高性能的IO模型,常见的IO模型有四种: 同步阻塞IO(Blocking IO):即传统的IO模型。 同步非阻塞IO(Non-blocking IO):默认创建的socket都是阻塞的,非阻塞IO要求socket被设置为NONBLOCK。注意这里所说的NIO并非Java...

2019-02-14 16:18:27

阅读数 76

评论数 0

NIO同步、非阻塞、基于selector的异步处理理解

java nio的io模型是同步非阻塞,这里的同步异步指的是真正io操作(数据内核态用户态的拷贝)是否需要进程参与。 而说java nio提供了异步处理,这个异步应该是指编程模型上的异步。基于reactor模式的事件驱动,事件处理器的注册和处理器的执行是异步的。 JAVA NIO是同步非阻塞i...

2019-02-13 12:16:10

阅读数 113

评论数 0

js promise then 用法详解

Promise 是抽象的异步处理对象 构造方法: let promies = new Promise((resolve, reject) => { resolve(); //异步处理 }); Promise 有三个状态: Fulfilled: has-resol...

2019-01-21 10:05:58

阅读数 2832

评论数 0

js全局变量与局部变量问题,变量提升

1、程序的运行结果为:100  10  100 var a = 10; function test(){ a = 100; console.log(a); console.log(this.a); var a; console.log(a); } tes...

2019-01-14 11:50:00

阅读数 183

评论数 0

深入理解HashMap(原理,查找,扩容)

Hashmap是一种非常常用的、应用广泛的数据类型,最近研究到相关的内容,就正好复习一下。网上关于hashmap的文章很多,但到底是自己学习的总结,就发出来跟大家一起分享,一起讨论。  1、hashmap的数据结构  要知道hashmap是什么,首先要搞清楚它的数据结构,在java编程语言中,最基...

2019-01-07 15:03:35

阅读数 103

评论数 0

Spring 面试问题 TOP 50

Spring Framework 现在几乎已成为 Java Web 开发的标配框架。那么,作为 Java 程序员,你对 Spring 的主要技术点又掌握了多少呢?不妨用本文的问题来检测一下。 本文内容主要翻译自 Top 50 Spring Interview Questions You Must...

2019-01-07 10:58:16

阅读数 72

评论数 0

Unicode编码详解

ASCII码 在学校学 C 语言的时候,了解到一些计算机内部的机制,知道所有的信息最终都表示为一个二进制的字符串,每一个二进制位有 0 和 1 两种状态,通过不同的排列组合,使用 0 和 1 就可以表示世界上所有的东西,感觉有点中国“太极”的感觉——“太极生两仪,两仪生四象,四象生八卦”。 在...

2019-01-04 15:57:24

阅读数 43

评论数 0

Java语言中一个字符占几个字节?

要区分清楚内码(internal encoding)和外码(external encoding)就好了。 内码是程序内部使用的字符编码,特别是某种语言实现其char或String类型在内存里用的内部编码; 外码是程序与外部交互时外部使用的字符编码。“外部”相对“内部”而言;不是char或Stri...

2019-01-04 15:54:51

阅读数 1757

评论数 0

数据结构树结构定义

树中名词解释的定义: 结点:指树中的一个元素; 结点的度:指结点拥有的子树的个数,二叉树的度不大于2; 数的度:指树中的最大结点度数; 叶子:度为0的结点,也称为终端结点; 高度:叶子节点的高度为1,根节点高度最高; 层:根在第一层,以此类推;   二叉树 定义: 由一个结点和...

2019-01-03 21:04:05

阅读数 135

评论数 0

pos方式下载文件,解决url参数过长问题

前端页面下载文件时候,如果以get方式提交,会受到url参数长度限制,所以改成构造form表单方式进行提交下载,已下是借助form表单方式进行提交 function downloadImage() { $("#downloadform").remov...

2018-12-28 17:14:46

阅读数 327

评论数 0

mysql锁详解

锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的计算资源(如CPU、RAM、I/O等)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说,锁对数据库...

2018-12-27 17:18:34

阅读数 109

评论数 0

volatile详解

 volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。   volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事...

2018-12-27 17:00:24

阅读数 341

评论数 0

TCP的三次握手与四次挥手(详解+动图)

背景描述 通过上一篇中网络模型中的IP层的介绍,我们知道网络层,可以实现两个主机之间的通信。但是这并不具体,因为,真正进行通信的实体是在主机中的进程,是一个主机中的一个进程与另外一个主机中的一个进程在交换数据。IP协议虽然能把数据报文送到目的主机,但是并没有交付给主机的具体应用进程。而端到端的通...

2018-12-27 11:39:59

阅读数 117

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭