最近由于工作关系要做一些Java方面的开发,其中最重要的一块就是Java NIO(New I/O),尽管很早以前了解过一些,但并没有认真去看过它的实现原理,也没有机会在工作中使用,这次也好重新研究一下,顺便写点东西,就当是自己学习 Java NIO的笔记了。本文为NIO使用及原理分析的第一篇,将会介绍NIO中几个重要的概念。 在Java1.4之前的I/O系统中,提供的都是面向流的I/O系统,系统
JNIJAVA标准平台中的一个重要功能,它弥补了JAVA的与平台无关这一重大优点的不足,在JAVA实现跨平台的同时,也能与其它语言(如C、C++)的动态库进行交互,给其它语言发挥优势的机会。
转载 2021-08-05 11:31:16
202阅读
JNIJAVA标准平台中的一个重要功能,它弥补了JAVA的与平台无关这一重大优点的不足,在JAVA实现跨平台的同时,也能与其它语言(如C、C++)的动态库进行交互,给其它语言发挥优势的机会。有了JAVA标准平台的支持,使JNI模式更加易于实现和使用。在此总结了下面这个知识图:实例:环境说明:ubuntu
转载 2021-08-23 16:11:00
528阅读
  JNIJAVA标准平台中的一个重要功能,它弥补了JAVA的与平台无关这一重大优点的不足,在JAVA实现跨平台的同时,也能与其它语言(如C、C++)的动态库进行交互,给其它语言发挥优势的机会。 有了JAVA标准平台的支持,使JNI模式更加易于实现和使用。在此总结了下面这个知识图: 实例: 环境说明:ubuntu 10.4.2 LTS系统 程序清单1:src/com/magc/jni/He
转载 2021-07-09 16:16:26
117阅读
程序界流传一种说法:程序 = 数据结构 + 算法。 虽然这种说法过于简洁,但也从某种角度说明了程序的本质,指明了数据结构的重要性。算法代表了程序的逻辑,数据结构代表了数据的组织形式。什么是数据结构?百度百科:数据结构是指相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成。简单的讲就是能将一批具有业务相关性的数据元素存储在一
此文并不针对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 JNI原理 ## 一、流程概述 为了更好地理解Java JNI原理,我们可以按照以下步骤来进行学习和实践: | 步骤 | 描述 | | --- | --- | | 1 | 编写Java代码 | | 2 | 生成C/C++头文件 | | 3 | 实现C/C++源代码 | | 4 | 编译C/C++源代码 | | 5 | 链接生成动态链接库 | | 6 | 在Java中加载动态链
原创 2023-12-06 11:42:12
37阅读
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点赞
  • 1
  • 2
  • 3
  • 4
  • 5