程序界流传一种说法:程序 = 数据结构 + 算法。 虽然这种说法过于简洁,但也从某种角度说明了程序的本质,指明了数据结构的重要性。算法代表了程序的逻辑,数据结构代表了数据的组织形式。什么是数据结构?百度百科:数据结构是指相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成。简单的讲就是能将一批具有业务相关性的数据元素存储在一
最近由于工作关系要做一些Java方面的开发,其中最重要的一块就是Java NIO(New I/O),尽管很早以前了解过一些,但并没有认真去看过它的实现原理,也没有机会在工作中使用,这次也好重新研究一下,顺便写点东西,就当是自己学习 Java NIO的笔记了。本文为NIO使用及原理分析的第一篇,将会介绍NIO中几个重要的概念。 在Java1.4之前的I/O系统中,提供的都是面向流的I/O系统,系统
此文并不针对zebra的应用,甚至不是一个架构的分析,只是对于Zebra的一点儿思考。 Zebra 设计得是如此简洁明快。...
转载 2022-04-29 14:49:43
2061阅读
之前写过一篇dubbo入门的文章,大家如果有兴趣可以看一下。Dubbo入门看这篇就够了 用到的程序,可以直接下载,我已经将积分设为0。 今天我们就了解一下,Dubbo的运行原理。 在了解Dubbo的运行原理之前我们先了解一下RPC的原理。 一次完整的RPC调用流程如下: (1)客户端通过本地的调用方式来调用服务; (2)客户端的代理接收到请求后,将方法、参数等组装成能够进行网络传输的消息体; (3
转载 2023-08-18 14:50:10
73阅读
React 核心技术 —— 虚拟DOM(Virtual DOM)在前端开发的过程中,我们经常会做的一件事就是将变化的数据实时更新到UI上,这时就需要对DOM进行更新和重新渲染,而频繁的DOM操作通常是性能瓶颈产生的原因之一,有时候我们会遇到这样一种尴尬的情况:比如有一个列表数据,当用户执行刷新操作时,Ajax会重新从后台请求数据,即使新请求的数据和上次完全相同,DOM也会被全部更新一遍并进行重新渲
本篇不适合初学者,及使用方法,适合 面试者 观看借鉴;本人在尚硅谷看的,整理的笔记。不正确的地方,多多指教。Java 集合源码详解集合和数组数组声明了它容纳的元素的类型,而集合不声明存储Object类型 可以通过泛型进行规范!数组是静态的,一个数组实例具有固定的大小,一旦创建了就无法改变容量了。 集合是可以动态扩展容量,可以根据需要动态改变大小,集合提供更多的成员方法,能满足更多的需求。集合:
转载 2023-07-18 16:13:04
103阅读
1点赞
1    JVM三种预定义类型类加载器 我们首先看一下JVM预定义的三种类型类加载器,当一个 JVM 启动的时候,Java 缺省开始使用如下三种类型类装入器: 启动(Bootstrap)类加载器:引导类装入器是用本地代码实现的类装入器,它负责将 <Java_Runtime_Home>/lib 下面的类库加载到内存中。由于引导类加载器涉及到虚拟机本地实现
转载 精选 2008-12-16 14:33:48
1174阅读
1点赞
1评论
参考:http://www.blogjava.net/zhuxing/archive/2008/08/08/220841.html1       基本信息摘要:每个java开发人员对java.lang.ClassNotFoundExcetpion这个异常肯定都不陌生,这背后就涉及到了java技术体系中的类加载。Java的类加载机制是java技术体系中比较核心的部分,虽然和大部分开发...
通过源码解读的方式解析Java8 Stream API实现的原理
原创 2020-12-03 09:33:51
669阅读
Java类加载原理解析 1 基本信息 摘要: 每个java开发人员对java.lang.ClassNotFoundExcetpion这个异常肯定都不陌生,这背后就涉及到了java技术体系中的类加载。Java的类加载机制是java技术体系中比较核心的部分,虽然和大部分开发人员直接打交道不多,但是对其背后的机理有一定理解有助于排查程序中出现的类加载失败等技术问题,对理解java虚拟机的连
转载 2013-02-25 20:12:39
230阅读
3.14 AQS       AQS是Java中AbstractQueuedSynchronizer的简称,AQS实在是太有名了,以至于它的全称经常被遗忘,先看看AQS是什么。       Provides a framew
说起 Java 8,我们知道 Java 8 大改动之一就是增加函数式编程,而 Stream A
原创 2023-04-04 20:01:54
100阅读
1    JVM三种预定义类型类加载器 我们首先看一下JVM预定义的三种类型类加载器,当一个 JVM 启动的时候,Java 缺省开始使用如下三种类型类装入器: 启动(Bootstrap)类加载器:引导类装入器是用本地代码实现的类装入器,它负责将 <Java_Runtime_Home>/lib 下面的类库加载到内存中。由于引导类加载器涉及到虚拟机本地实现
转载 精选 2008-12-16 14:32:41
457阅读
01前言线程是稀缺资源,如果被无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性,合理的使用线程池对线程进行统一分配、调优和监控,有以下好处:1、降低资源消耗;通过重复利用已创建好的线程来降低线程创建和销毁造成的消耗;2、提高响应速度;当任务到达时,任务可以不需要等待线程创建就能立马执行;3、提高线程的可管理性。线程池时稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性,使用
原创 2020-10-29 16:07:59
432阅读
说起 Java 8,我们知道 Java 8 大改动之一就是增加函数式编程,而 Stream API 便是函数编程的主角,Stream API 是一种流式的处理数据风格,也就是将要处理的数据当作流,在管道中进行传输,并在管道中的每个节点对数据进行处理,如过滤、排序、转换等。首先我们先看一个使用Stream API的示例,具体代码如下:  code1 Stream example这是个很简单的一个St
转载 2021-06-06 22:40:57
131阅读
2评论
一、前言 Sniffer真是一个古老的话题,关于在网络上采用Sniffer来获取敏感信息已经不是什么新鲜事,也不乏很多成功的案例,那么,Sniffer究竟是什么呢?Sniffer就是嗅探器,就是窃听器,Sniffer静悄悄的工作在网络的底层,把你的秘密全部记录下来。看过威尔史密斯演的《全民公敌》吗?Sniffer就象里面精巧的窃听器一样,让你防不胜防。 Sniffer可以是软件,也可以是硬件,
转载 精选 2009-09-18 13:16:35
3185阅读
本文主要对连接池的基本原理以及dbcp的实现方式做一个分析,对dbcp的配置参数结合原理做一个简单解释。 连接池扼要 JDBC是一套通用的Java语言与多种数据库(文件)通讯的标准API。大部分针对数据库服务器(例如Oracle, MySQL等等)的JDBC实现都是基于TCP/IP连接的客户端-服务器端通讯方式。 当我们需要执行一个数据库操作时,有下面三步: 1.  &
转载 精选 2010-09-27 14:42:45
5953阅读
1点赞
CEF采用一个4级每级256条通道结构的转发表来指明转发条目的位置,转发表有next hop等信息,涵盖了整个IPv4的地址范围,并有指针指向另一个邻接表。转发条目(MAC地址之类)都存储在一个单独的邻接表上。这两个表包括了所有的转发信息,而这些转发信息是根据路由表和ARP来构造的。 CEF简化了查询的步骤,提高了单位时间的工作效率。而且从整体上来看,路由信息和转发信息是分离的,数据包的转发只根
转载 精选 2012-03-12 08:17:45
2619阅读
Flume原理解析阅读目录(Content)一、Flume简介二、Flume特点三、Flume的一些核心概念3.1、Agent结构  3.2、source3.3、Channel3.4、Sink四、Flume拦截器、数据流以及可靠性4.1、Flume拦截器4.2、Flume数据流4.3、Flume可靠性五、Flume使用场景5.1、多个agent顺序连接5.2、多个Agent的数据汇聚到同一个Age
转载 2019-05-12 21:02:12
660阅读
gpfdist原理解析 前言:gpfdist作为批量向postgresql写入数据的工具,了解其内部原理有助于正确使用以及提供更合适的数据同步方案。文章先简要介绍gpfdist的整体流程,然后针对重要步骤详细展开。文章有的地方可能探索不够深入,感兴趣的可以继续深入。如有错误请指出。1 整体流程Gpfdist的整体流程可简单分为4步。(1) 解析参数;(2) 从指定的端口列表中搜寻可用端口;(3) 
转载 2021-03-11 09:07:45
683阅读
2评论
  • 1
  • 2
  • 3
  • 4
  • 5