自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 收藏
  • 关注

原创 NIO Selector简介

(2)一个通道不一定支持所有的四种操作,比如ServerSocketChannel支持Accept操作,SocketChannel则不支持。Selector一般称为选择器,也叫多路复用器,NIO的核心组件,用于检查一个或多个Channel的状态是否处于可读、可写的状态。在注册的时候,需要指定通道那些操作是选择器感兴趣的。(2)Selector不断查询Channel中操作的就绪状态,并挑选感兴趣的操作就绪状态,并放入选择键集合。(1)Channel注册后,一旦通道处于某种就绪的状态,就可以被选择器查询到。

2024-02-03 19:55:39 571

原创 NIO Buffer

所有Socket通道都继承了AbstractSelectableChannel,意味着用一个Selector对象来执行socket通道的就绪选择。

2024-02-03 18:04:37 898

原创 Hudi学习笔记(一)

Hudi

2024-01-24 23:59:12 474

原创 # Java NIO(一)FileChannel

NIO FileChannel

2024-01-24 01:02:02 564

原创 Java类加载器加载顺序

Java类加载

2024-01-22 22:59:45 456

原创 Java类加载时机

Java类加载时机

2024-01-21 21:45:10 386

原创 计算机网络问题(二)

一、HTTP和HTTPS的区别a.http协议以明文的方式在网络中传输数据,而https协议传输的数据是经过tls加密的。b.https在tcp三次我说阶段之后,还要进行ssl的handshakes,协商加密使用的对称加密密钥c.http是需要服务端申请证书,浏览器端安装对应的根证书d.http的端口是80,https的端口是443。二、HTTP的返回码HTTP协议...

2019-09-04 11:39:07 212

转载 Linux多线程

进程的概念:进程是对运行时程序的封装,是系统进行资源调度和分配的基本单位,实现了操作系统的并发。线程的概念:线程时进程的子任务,是cpu调度和分派的基本单位。线程时操作系统可以以识别的最小的执行和调度单位,每一个线程都独占一个虚拟处理器,独自的寄存器组、指令计数器和处理器状态。每个线程完成不同的任务,但是共享同一地址空间,打开文件队列和其他内核资源。线程与进程的区别:(1)一个线...

2019-09-03 16:58:14 172

原创 经典动态规划(一)找零钱问题

前言:实习期间都在做业务,降低了对算法题编程的练习。回来秋招答笔试题,遇到动归的题做得细碎,所以趁着还有一点时间把经典的动归问题用最通俗的话总结一下,顺便自己也捡捡编程能力。动态规划的基本概念实际中就是如下几个步骤:a.分析最优解的性质,并刻画结构特征。b.递归定义的最优解c.以自底向上或自顶向下的方式计算出最优解d.根据计算优值得到的信息,构造问题的最优解。问题描述:...

2019-08-28 15:36:37 6801

原创 Luna16数据集

最近在弄跟肺结节相关的东西,所以用了Luna数据集。写一点自己的理解,里面可能会有不准确的地方,希望大家指正。一.Luna数据集简介(摘自官网)1.Luna16数据集简介:来自于公开的LIDC/IDRI数据集。该数据集剔除了LIDC/IDRI数据集中切片厚度大于2.5mm的扫描数据,共产生了888套CT。Luna16数据集中结节的判定标准为四名放射科专家中至少有三名认定该结节半径大于3mm...

2019-05-07 08:45:13 13733 29

原创 jvm内存的划分

jvm内存分为5个部分,有程序计数器,java虚拟机栈、本地方法栈、java堆和方法区。其中程序计数器、java虚拟机栈和本地方法栈是线程私有的。java堆和方法区是程序共享的。程序计数器:(私有) a.可以看作是当前执行字节码的行号指示器。 b.每个线程都有独立的程序计数器,各线程的程序计数器互不影响,独立存储。(为了程序切换后能回复到正确的位置) ...

2019-04-09 15:04:38 170

原创 智力题

1、逻辑题:3升的杯子一个,5升的杯子一个,杯子不规则形状 问怎么得到4升的水 水无限多。a.将3升的装满倒入5升的。b.再一次将3升的装满,倒入5升的,把5升装满c.此时3升剩下的水就是1升水d.倒掉5升的,把一升水倒入5升水e.第三次加满3升杯,倒入5升杯,得到4升水。2.晚上有四个人过桥,一次只能过两个人,但是只有一只手电筒,四个人过桥时间分别是1,2,5,8,...

2019-04-08 11:29:54 750

原创 牛客网JAVA面试考点总结

第一部分1.为什么重写equals还要重写hashcode?解:首先equals和hashcode的关系如下:1.如果两个对象equals返回true,那么它们的hashcode一定相同。2.如果两个对象的hashcode相同,它们并不一定相同。为了提高程序效率,先进行hashcode的比较。如果hashcode不同,则没必要进行equals的比较了。最后如果只重写了equals,没有重...

2019-04-08 11:27:46 395

转载 排序方法的学习笔记

如何分析一个排序算法?排序算法的执行效率:最好情况、最坏情况、平均情况。时间复杂度的系数、常数、低阶。比较次数和交换次数排序算法的内存消耗:原地排序算法是指空间复杂度为O(1)的排序算法。排序算法的稳定性:待排序的序列中存在值相等的元素,经过排序之后,相等元素之间原有的相对顺序不变。一、冒泡排序定义:冒泡排序只会操作相邻的两个数据,每次冒泡操作都会对相邻的两个元素进行比较,看是否满...

2019-04-07 15:51:28 193

原创 内存泄漏和内存溢出

内存泄漏和内存溢出一、内存泄漏(memory leak)1:内存泄漏是指程序中已动态分配的堆内存由于某种原因未释放或无法释放,造成系统内存的浪费,导致程序运行速度减慢甚至系统奔溃等严重后果。2:一次内训泄漏似乎不会有大的影响,但内存泄漏后堆积的结果就是内存溢出。3:内存泄漏具有隐蔽性,积累性的特征,比其他内存非法访问错误更难检测。这是因为内存泄漏产生的原因是内存块未被释放,属于遗漏...

2019-04-07 14:53:40 283

原创 计算机网络的常见问题

1.TCP的三次握手过程?为什么会采用三次握手,若采用二次握手可以吗?(1)TCP的三次握手过程:主机A向B发送连接请求;主机B对收到的主机A的报文段进行确认;主机A再次对主机B的确认进行确认。(2)采用三次握手是为了防止失效的连接请求报文段突然又传送到主机B,因而产生错误。失效的连接请求报文段是指:主机A发出的连接请求没有收到主机B的确认,于是经过一段时间后,主机A又重新向主机B发送连接请求...

2019-04-07 14:47:11 431

原创 jvm常见的知识点

1.垃圾回收java中三个区域程序计数器、虚拟机栈、本地方法栈三个区域随线程而生,也随线程而灭。java的堆和方法去则不一样。一个借口的多个实现类需要的内存不一样,一个方法的分支需要的内存也不一样。只有运行期间时才会知道创建哪些对象。2.引用计数器给对象添加了一个引用计数器。每当有一个地方引用它,计数器就加1.当引用失效的时候计数器就减1.任何时刻计数器变为0的对象就是不能再被使用了。虚...

2019-04-07 14:45:54 132

原创 Java中Comparable和Comparator使用区别

Comparable和Comparator接口都是用来比较大小的,首先来看一下Comparable的定义:package java.lang;import java.util.*;public interface Comparable<T> { public int compareTo(T o);}package java.util;public interfac...

2019-04-07 14:44:22 210

转载 队列知识点

前言cpu的资源是有限的,任务处理的速度和线程的个数不是线性相关。相反,过多的线程反而会导致cpu频繁切换,处理性能下降。当我们向固定大小的线程池请求一个线程时,线程池中没有空闲的资源了,这个时候线程池如何处理请求。这时候我们引入了队列这个数据结构。1.当我们想对顶大小的线程池中请求一个线程时候,如果线程池中没有空闲资源了,这个时候线程池如何处理这个请求?拒绝请求还是排队请求?队列的应用...

2019-04-07 14:42:06 639

转载 链表相关知识点

1.缓存是什么?缓存是提高数据读取性能的技术,在硬件和软件开发中有着非常大的应用。当缓存大小有限的时候,哪些数据应该保留这就需要缓存淘汰策略来决定。常见的策略1.先进先出的策略2.最少使用策略(LFU)3.最近最少使用策略(LRU)缓存是用空间换时间的例子。在硬盘的数据每次都会询问一次硬盘会比较慢。实现将数据加载在内存中,虽然会耗费内存空间但是每次查询的速度就会大大提高。2. ...

2019-04-07 14:41:03 294

转载 数组常见知识点

数组前言数组如何实现随机访问?答:数组是一种线性表数据结构。他用一组连续的内存空间,来存储一组具有相同类型的数据。其中最关键的点在于连续的内存空间和相同类型的数据。正是因为这两个关键点才拥有了随机访问的特性。线性表和非线性表是什么?答:线性表就是将数据排成像线一样的结构。每个线性表中最多只有向前和向后两个方向。链表、队列和栈都是线性表结构。非线性表中的数据不是简单的前后关系,二叉树、堆...

2019-04-07 14:40:09 215

原创 给定一个二叉树,找到它的最小深度。

Given a binary tree, find its minimum depth.The minimum depth is the number of nodes along the shortest path from the root node down to the nearest leaf node.给定一个二叉树,找到它的最小深度。最小深度是根节点到最近叶子节点路径上的节点数。...

2018-09-27 14:57:43 918

原创 反向波兰表示法计算算术表达式的值

题目翻译:用反向波兰表示法计算算术表达式的值,有效的操作为+-*/这四种运算,每个运算可能是一个整数或是一个表达式。测试用例:["2", "1", "+", "3", "*"] -&gt; ((2 + 1) * 3) -&gt; 9 ["4", "13", "5", "/", "+"] -&

2018-09-27 14:55:02 618

原创 tensorflow中的padding类型SAME和VALID

SAME:意味着输出的特征图与输入的特征图有相同的空间维度。zero padding被引入使输入图与输出图的形状匹配。VALID:没有paddingtensorflow中的padding操作适用于卷积和池化操作。VALID:只会舍弃最右面的列SAME:均匀地在左右两端加入pad,如果这个列数为奇数,那么则会向最右边加入一个额外的一列。对于SAME和VALID我们给出两组计算公式...

2018-09-27 14:49:54 234

原创 在机械革命电脑上安装ubuntu 16.0+ cuda 8.0+cudnn 6.0的方法

    首先说一下我奇葩的笔记本电脑机械革命X6ti的配置。   显卡是GTX965M和intel 集显530,硬盘为128GSSD和1T的机械硬盘,cup是i7-6700的。整个安装过程我们可以给它分为四个阶段   1、在电脑上安装ubuntu16.04双系统。   2、在ubuntu上安装Nvidia 的驱动   3、在安装完Nvidia驱动后,安装cuda,及cudnn   4、安装tens...

2018-04-12 21:32:15 2060 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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