- 很多开源技术都可以在Java下实现以数据库为核心的业务逻辑,其中JOOQ的计算能力比Hibernate强,可移植性比MyBatis强,受到越来越多的关注。esProc SPL是新晋的数据计算语言,同样在计算能力和可移植性方面优势突出。下面对二者进行多方面的比较,从中找出开发效率更高的数据业务逻辑开发技术。JOOQ商业版主要支持了商业数据库和存储过程,不在此次讨论范围。 语言特征编程风格JOO... 很多开源技术都可以在Java下实现以数据库为核心的业务逻辑,其中JOOQ的计算能力比Hibernate强,可移植性比MyBatis强,受到越来越多的关注。esProc SPL是新晋的数据计算语言,同样在计算能力和可移植性方面优势突出。下面对二者进行多方面的比较,从中找出开发效率更高的数据业务逻辑开发技术。JOOQ商业版主要支持了商业数据库和存储过程,不在此次讨论范围。 语言特征编程风格JOO...
- Volatile实现原理如果对声明了volatile的变量进行写操作,JVM就会向处理器发送一条Lock前缀的指令,将这个变量所在缓存行的数据写回到系统内存。但是,就算写回到内存,如果其他处理器缓存的值还是旧的,再执行计算操作就会有问题。所以,在多处理器下,为了保证各个处理器的缓存是一致的,就会实现缓存一致性协议,每个处理器通过 嗅探在总线上传播的数据来检查自己缓存的值是不是过期了,当处理器... Volatile实现原理如果对声明了volatile的变量进行写操作,JVM就会向处理器发送一条Lock前缀的指令,将这个变量所在缓存行的数据写回到系统内存。但是,就算写回到内存,如果其他处理器缓存的值还是旧的,再执行计算操作就会有问题。所以,在多处理器下,为了保证各个处理器的缓存是一致的,就会实现缓存一致性协议,每个处理器通过 嗅探在总线上传播的数据来检查自己缓存的值是不是过期了,当处理器...
- CAS实现原子操作的三大问题ABA问题:因为CAS需要操作值的时候,检查值有没有变化,如果没有变化则更新,但是如果一个值原来是A,变成了B,又变成了A,那么使用CAS进行检查时会发现它的值没有发生变化,但是实际上却变化了。ABA问题的解决思路就是使用版本号,在变量前面追加一个版本号,每次变量更新的时候把版本号加1。循环时间长开销大:自旋CAS如果长时间不成功,会给CPU带来非常大的执行开销。... CAS实现原子操作的三大问题ABA问题:因为CAS需要操作值的时候,检查值有没有变化,如果没有变化则更新,但是如果一个值原来是A,变成了B,又变成了A,那么使用CAS进行检查时会发现它的值没有发生变化,但是实际上却变化了。ABA问题的解决思路就是使用版本号,在变量前面追加一个版本号,每次变量更新的时候把版本号加1。循环时间长开销大:自旋CAS如果长时间不成功,会给CPU带来非常大的执行开销。...
- Java锁的实现在Java SE 1.6中,锁一共有4中状态,级别从低到高依次是:无锁、偏向锁、轻量级锁和重量级锁。 轻量级锁轻量级锁是JDK 1.6之中加入的新型锁机制,它名字中的“轻量级”是相对于使用操作系统互斥量来实现的传统锁而言的,因此传统锁的机制就称为重量级锁。首先需要强调一点的是,轻量级锁并不是用来代替重量级锁的,它的本意是在没有多线程竞争的前提下,减少传统的重量级锁使用操作系统... Java锁的实现在Java SE 1.6中,锁一共有4中状态,级别从低到高依次是:无锁、偏向锁、轻量级锁和重量级锁。 轻量级锁轻量级锁是JDK 1.6之中加入的新型锁机制,它名字中的“轻量级”是相对于使用操作系统互斥量来实现的传统锁而言的,因此传统锁的机制就称为重量级锁。首先需要强调一点的是,轻量级锁并不是用来代替重量级锁的,它的本意是在没有多线程竞争的前提下,减少传统的重量级锁使用操作系统...
- 对Excel进行解析\生成\查询\计算等处理是Java下较常见的任务,但Excel的文件格式很复杂,自行编码读写太困难,有了POI\EasyExcel\JExcel等类库就方便多了,其中POI最为出色。 POI具有全面而细致的xls读写能力POI可读写多种Excel文件格式,既支持古老的二进制格式(xls),也支持现代的OOXML格式(xlsx),既支持全内存一次性读写,也支持小内存流式读写... 对Excel进行解析\生成\查询\计算等处理是Java下较常见的任务,但Excel的文件格式很复杂,自行编码读写太困难,有了POI\EasyExcel\JExcel等类库就方便多了,其中POI最为出色。 POI具有全面而细致的xls读写能力POI可读写多种Excel文件格式,既支持古老的二进制格式(xls),也支持现代的OOXML格式(xlsx),既支持全内存一次性读写,也支持小内存流式读写...
- Java多线程的知识点 Java多线程的知识点
- 根据密钥类型不同可以将现代密码技术分为两类:对称加密算法(私钥密码体系)和非对称加密算法(公钥密码体系)。一、对称加密算法原理对称加密算法中,数据加密和解密采用的都是同一个密钥,因而其安全性依赖于所持有密钥的安全性。优点加密和解密速度快,加密强度高,且算法公开。缺点实现密钥分发困难,在大量用户的情况下密钥管理复杂,而且无法完成身份认证等功能,不便于应用在网络开放的环境中。特点算法公开、计算量... 根据密钥类型不同可以将现代密码技术分为两类:对称加密算法(私钥密码体系)和非对称加密算法(公钥密码体系)。一、对称加密算法原理对称加密算法中,数据加密和解密采用的都是同一个密钥,因而其安全性依赖于所持有密钥的安全性。优点加密和解密速度快,加密强度高,且算法公开。缺点实现密钥分发困难,在大量用户的情况下密钥管理复杂,而且无法完成身份认证等功能,不便于应用在网络开放的环境中。特点算法公开、计算量...
- 二.IO: 1)bio,nio,aio的区别;IO的方式通常分为几种,同步阻塞的BIO、同步非阻塞的NIO、异步非阻塞的AIOBIO 在JDK1.4出来之前,我们建立网络连接的时候采用BIO模式,需要先在服务端启动一个ServerSocket,然后在客户端启动Socket来对服务端进行通信, 默认情况下服务端需要对每个请求建立一堆线程等待请求,而客户端发送请求后,先咨询服务端... 二.IO: 1)bio,nio,aio的区别;IO的方式通常分为几种,同步阻塞的BIO、同步非阻塞的NIO、异步非阻塞的AIOBIO 在JDK1.4出来之前,我们建立网络连接的时候采用BIO模式,需要先在服务端启动一个ServerSocket,然后在客户端启动Socket来对服务端进行通信, 默认情况下服务端需要对每个请求建立一堆线程等待请求,而客户端发送请求后,先咨询服务端...
- 一、HTTPS 概念1.1 简介HTTPS(全称:Hypertext Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。这个系统的最初研发由网景公司进行,提供了身份验证与加密通讯方法,现在它被广泛用于万维网上安全... 一、HTTPS 概念1.1 简介HTTPS(全称:Hypertext Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。这个系统的最初研发由网景公司进行,提供了身份验证与加密通讯方法,现在它被广泛用于万维网上安全...
- 本文以实际的读取文件为例子,介绍流的概念,以及输入流的基本使用。按照前面介绍的知识,将文件中的数据读入程序,是将程序外部的数据传入程序中,应该使用输入流——InputStream或Reader。而由于读取的是特定的数据源——文件,则可以使用输入对应的子类FileInputStream或FileReader实现。 在实际书写代码时,需要首先熟悉读取文件在程序中实现的过程。在Java语言的I... 本文以实际的读取文件为例子,介绍流的概念,以及输入流的基本使用。按照前面介绍的知识,将文件中的数据读入程序,是将程序外部的数据传入程序中,应该使用输入流——InputStream或Reader。而由于读取的是特定的数据源——文件,则可以使用输入对应的子类FileInputStream或FileReader实现。 在实际书写代码时,需要首先熟悉读取文件在程序中实现的过程。在Java语言的I...
- 一、前言 栈、堆、常量池等虽同属Java内存分配时操作的区域,但其适用范围和功用却大不相同。本文将深入Java核心,简单讲解Java内存分配方面的知识。 首先我们先来讲解一下内存中的各个区域。二、stack(栈) 存放基本类型的数据和对象的引用,即存放变量。 如果存放的是基本类型数据(非静态变量),则直接将变量名和值存入stack中的内存中; 如果是引用类型,... 一、前言 栈、堆、常量池等虽同属Java内存分配时操作的区域,但其适用范围和功用却大不相同。本文将深入Java核心,简单讲解Java内存分配方面的知识。 首先我们先来讲解一下内存中的各个区域。二、stack(栈) 存放基本类型的数据和对象的引用,即存放变量。 如果存放的是基本类型数据(非静态变量),则直接将变量名和值存入stack中的内存中; 如果是引用类型,...
- 记JAVA基础 记JAVA基础
- Arrays.asList()的那些坑 Arrays.asList()的那些坑
- 一、内存分类各位小伙伴,到上一篇博文为止,我们的内存模型相关知识就已经讲完了!不知道大家吸收了多少,这里我们简单的来回顾一下吧!在博文《JVM进阶(三):内存分配与回收策略》中讲到,内存基本分为JAVA栈、本地方法栈、堆和方法区。首先栈存放的是基本类型变量,局部变量,和对象的引用,他在内存中是一块连续的区域,有大小限制,是由系统自动分配的,因此它的读写速度比较快,而且会自动释放掉为该变量所... 一、内存分类各位小伙伴,到上一篇博文为止,我们的内存模型相关知识就已经讲完了!不知道大家吸收了多少,这里我们简单的来回顾一下吧!在博文《JVM进阶(三):内存分配与回收策略》中讲到,内存基本分为JAVA栈、本地方法栈、堆和方法区。首先栈存放的是基本类型变量,局部变量,和对象的引用,他在内存中是一块连续的区域,有大小限制,是由系统自动分配的,因此它的读写速度比较快,而且会自动释放掉为该变量所...
- 一、前言经过前几篇博文对堆内存以及垃圾收集机制的学习,相信小伙伴们已经建立了一套比较完整的理论体系!本篇博文就根据已有的理论知识,通过可视化工具来实战一番。 二、JAVA监视与管理控制台今天要讲解的工具位于JDK/bin目录下,大家可以发现该目录下有很多可执行文件,这里都是JDK为我们提供用于分析内存的一些工具。我们重点看看jconsole.exe-JAVA监视与管理控制台。先运行以下程序... 一、前言经过前几篇博文对堆内存以及垃圾收集机制的学习,相信小伙伴们已经建立了一套比较完整的理论体系!本篇博文就根据已有的理论知识,通过可视化工具来实战一番。 二、JAVA监视与管理控制台今天要讲解的工具位于JDK/bin目录下,大家可以发现该目录下有很多可执行文件,这里都是JDK为我们提供用于分析内存的一些工具。我们重点看看jconsole.exe-JAVA监视与管理控制台。先运行以下程序...
上滑加载中
推荐直播
-
HDC深度解读系列 - Serverless与MCP融合创新,构建AI应用全新智能中枢2025/08/20 周三 16:30-18:00
张昆鹏 HCDG北京核心组代表
HDC2025期间,华为云展示了Serverless与MCP融合创新的解决方案,本期访谈直播,由华为云开发者专家(HCDE)兼华为云开发者社区组织HCDG北京核心组代表张鹏先生主持,华为云PaaS服务产品部 Serverless总监Ewen为大家深度解读华为云Serverless与MCP如何融合构建AI应用全新智能中枢
回顾中 -
关于RISC-V生态发展的思考2025/09/02 周二 17:00-18:00
中国科学院计算技术研究所副所长包云岗教授
中科院包云岗老师将在本次直播中,探讨处理器生态的关键要素及其联系,分享过去几年推动RISC-V生态建设实践过程中的经验与教训。
回顾中 -
一键搞定华为云万级资源,3步轻松管理企业成本2025/09/09 周二 15:00-16:00
阿言 华为云交易产品经理
本直播重点介绍如何一键续费万级资源,3步轻松管理成本,帮助提升日常管理效率!
回顾中
热门标签