首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏JavaEdge

    精通Java事务编程(9)-总结

    事务作为抽象层,允许应用忽略DB 内部一些复杂并发问题和某些硬件、软件故障,简化应用层的处理逻辑:事务中止(transaction abort),而应用仅需重试。对复杂访问模式,事务可大大减少需要考虑的潜在错误情景数量。

    49630编辑于 2022-07-25
  • 来自专栏ccf19881030的博客

    9Java高级编程

    9Java高级编程   学习导读   本章将介绍Java语言中的一些高级特性:异常处理、多线程机制、流式IO以及网络通信,其中每个部分都能扩展成一个专题。 前者是一种设计和实现时的问题,如数组越界等,这种异常可以通过编程避免。   后者是在程序运行过程中由环境原因造成的异常。    创建自己的异常类:   Java软件包中尽管已经有了很多现成的异常,但在实际编程时,也需要建立自己的异常类来处理某个应用所特有的运行错误   创建用户定义的异常时,要完成:   1、声明一个新的异常类 9.4 Java网络通信   传统的网络编程是一项非常细节化的工作,程序员必须处理和网络有关的大量细节,如各种协议,甚至要理解网络相关的硬件知识。 而Java则将底层的网络通信细节予以屏蔽,使得使用的编程模型是一个文件模型,也就是说,可以象操作流一样来操作网络数据传输。

    94720发布于 2019-04-29
  • 来自专栏JavaEdge

    Java9模块化编程

    new 一个 module-info.java 即可 比如我们看看 java.sql 如何实现的呢?

    61120发布于 2021-02-23
  • 来自专栏猫头虎博客专区

    JDK9新特性:Java9编程革新之旅

    这篇博客是为所有Java猎人准备的,不论是初探Java森林的小猫还是在编程世界里游走多年的老虎。我将提供详尽的知识点讲解、丰富的代码示例和详细的操作指南,确保每位猎人都能轻松理解Java 9的精髓。 关键词:Java 9, 模块系统, JShell, 流API, 编程新特性, Java开发。 引言 2017年,Java 9如一只矫健的黑豹闯入了Java世界,带来了许多革新性的特性。 我是猫头虎博主,我将引领各位猎人深入这片新兴的编程丛林,发现Java 9如何提升我们的编程技巧和代码效率。准备好你的编程装备,让我们开始这场令人激动的探险吧! JShell,全称Java Shell,是Java 9引入的交互式编程环境,属于REPL(Read-Eval-Print Loop,读取-求值-输出循环)工具的一种。 Java 9带来的这些新特性,无疑为我们的编程旅程注入了新的活力和乐趣。

    37810编辑于 2024-04-07
  • 来自专栏开发语言-Java

    Java并发编程学习9-并发基础演练

    在上述 Memoizer1 中,我们使用 HashMap 来保存之前计算的结果。由于 HashMap 不是线程安全的,代码对整个 compute 方法进行同步。虽然这种方法能确保线程安全性,但每次只有一个线程能执行 compute 方法,其他线程可能就被阻塞很长时间,严重影响计算的并发性。如果有多个线程在排队等待还未计算的结果,那么 compute 方法的计算时间可能比没有缓存操作的计算时间更长,这显然不是我们想要看到的。

    21411编辑于 2024-10-05
  • 来自专栏写字母的代码哥

    Java9-Reactive Stream API响应式编程

    Java 9的 Reactive Streams是对异步流式编程的一种实现。它基于异步发布和订阅模型,具有非阻塞“背压”数据处理的特点。 它是响应式编程实现效果的核心特点! 一、Java9 Reactive Stream API Java 9提供了一组定义响应式流编程的接口。 下面是Java 响应式编程中的一些重要角色和概念,先简单理解一下 发布者(Publisher)是潜在的无限数量的有序数据元素的生产者。 二、Java响应式编程四大接口 2.1.Subscriber Interface(订阅者订阅接口) public static interface Subscriber<T> { public Publisher Interface发布者接口,Java 9 已经默认为我们提供了实现SubmissionPublisher,该实现类除了实现Publisher接口的方法外,提供了一个方法叫做submit

    1.4K40发布于 2020-10-27
  • 来自专栏allsmallpi博客

    Java 9 尝鲜之JShell交互式编程环境

    JShell——Java 9 的交互式编程环境 本文要求读者有基本的 Java 知识。 Tips Java 9 的代码由于提供了新特性,所以有些代码并不支持向后兼容。 也就是说,用 Java 9 写的代码,有可能在 Java 8 或更早版本的 JDK 上不能运行。 1. 在操作系统上安装开发所需要的软件 首先,你需要下载JDK 9 (Java Development Kit 9) ,需要到此网站来下载JDK 9。首先需要先同意许可协议,然后就可以下载了。 理解在交互式编程环境下开发的好处 Java 9 中引入了交互式编程环境(REPL),这就是JShell,它允许可以执行 Java脚本代码,并且立即返回结果。 JShell,就像其他 REPL 一样,有利于探索式编程,我们很容易地进行交互式尝试和调试不同的算法和结构。 3.

    98140发布于 2021-02-25
  • 来自专栏后端精进之路

    Java并发编程系列-(9) JDK 8910中的并发

    异常处理 CompletableFuture在执行中遇到异常时,同样的可以利用函数式编程的方法来处理异常,CompletableFuture中提供了一个异常处理方法exceptionally(): 组合多个 extends V> fn) { return biApplyStage(null, other, fn); } 例子如下: 支持timeout 在JDK9之后的CompletableFuture 答案就在LongAdder的java doc中,从我们翻译的那段可以看出,LongAdder适合的场景是统计求和计数的场景,而且LongAdder基本只提供了add方法,而AtomicLong还具有cas 从java doc中可以看出,其适用于统计计数的场景,例如计算qps这种场景。在高并发场景下,qps这个值会被多个线程频繁更新的,所以LongAdder很适合。 ---- 参考: https://www.jianshu.com/p/22d38d5c8c2a 《实战Java高并发程序设计》

    41510编辑于 2023-10-19
  • 来自专栏JAVA并发编程

    JAVA并发编程系列(9)CyclicBarrier循环屏障原理分析

    package lading.java.mutithread;import cn.hutool.core.date.DateTime;import java.util.Random;import java.util.concurrent.BrokenBarrierException ;import java.util.concurrent.ConcurrentHashMap;import java.util.concurrent.CyclicBarrier;/** * 模拟拼团,并通知仓库发货 nanos = trip.awaitNanos(nanos); } ........ }今天就分享这么多,明天我们继续分享并发编程里的

    30920编辑于 2024-09-20
  • 来自专栏程序猿DD

    Java 9 - 17 特性解读:Java 9

    所以胖哥抽时间梳理了一下从Java 9Java 17的一些常用API的变动。今天先来看看Java 9 都有什么东西。 Java 9 Java 9 最大的变化就是引入了一个JShell和模块化,日常并没有用太多,所以今天不花时间在这些功能上面。 Java 9改善了这一现状,现在你可以: // [1, 2, 3, 4] List<Integer> integers = List.of(1, 2, 3, 4); // {1,2,3} Set<Integer Stream扩展 Stream API 是Java 8中引入的最重要的特性之一。在Java 9中Stream进一步得到了加强。 总结 其实Java 9 还有一些底层的优化,不过对于普通开发者来说了解这些就够用了。上面几个特性,比较常用的就是静态不变集合、try-with-resources优化。

    55230编辑于 2023-04-04
  • 来自专栏码农小胖哥的码农生涯

    Java 9Java 17之Java 9

    所以胖哥抽时间梳理了一下从Java 9Java 17的一些常用API的变动。今天先来看看Java 9 都有什么东西。 Java 9 Java 9 最大的变化就是引入了一个JShell和模块化,日常并没有用太多,所以今天不花时间在这些功能上面。 Java 9改善了这一现状,现在你可以: // [1, 2, 3, 4] List<Integer> integers = List.of(1, 2, 3, 4); // {1,2,3} Set<Integer Stream扩展 Stream API 是Java 8中引入的最重要的特性之一。在Java 9中Stream进一步得到了加强。 总结 其实Java 9 还有一些底层的优化,不过对于普通开发者来说了解这些就够用了。上面几个特性,比较常用的就是静态不变集合、try-with-resources优化。

    96730发布于 2021-09-29
  • 来自专栏写字母的代码哥

    Java 模块化编程JPMS-Java 9系列文章第8篇

    我计划在后续的一段时间内,写一系列关于java 9的文章,虽然java 9 不像Java 8或者Java 11那样的核心java版本,但是还是有很多的特性值得关注。 期待您能关注我,我将把java 9 写成一系列的文章,大概十篇左右,本文是第8篇。 java9系列文章访问地址 在Java 9版本中Java 语言引入了一个非常重要的概念:模块(module)。 如果对javascript代码模块化管理比较熟悉的小伙伴,看到Java 9的模块化管理,应该有似曾相识的感觉。 一、什么是Java module? module xxx.yyy{ exports com.zimug.java9; } com.zimug.java9代表一个package。 Java 代码中90%以上的漏洞都是由反射和访问权限控制粒度不足引起的,Java 9的模块化系统正好能解决这个问题。Java 9 module提供另一个级别的Java 代码可见性、可访问性的控制。

    79821发布于 2020-10-30
  • 来自专栏公众号:懒时小窝

    Java】A Guide to Java 9 Modularity

    引言近期在 Baeldung 看到了一篇有关Java9模块化入门介绍的文章,整体翻译加理解下来发现确实不错,个人认为美中不足的是项目构建过于简单和偏手动,个人建议找一些简单的Java9以及之上的开源项目结合参考使用更佳 原文A Guide to Java 9 Modularity | Baeldung1. Module System (JPMS), or “Modules” for short.Java 9 在包上面引入了新的层次,正式的名称叫做 Java 平台模块系统(JPMS),或者更简单称之为“模块 Default ModulesWhen we install Java 9, we can see that the JDK now has a new structure.安装JDK9之后可以看到现在有一个新结构 比如我们使用Java9运行低版本的Java8的程序时候,可能需要添加模块化。

    42920编辑于 2023-06-27
  • 来自专栏云计算linux

    Java 9 揭秘

    Java SE 9之前,JDK构建系统用于生成两种类型的运行时映像 ——Java运行时环境(JRE)和Java开发工具包(JDK)。 Java SE 9之前的JDK和JRE目录布局 在 Java SE 9之前,JDK中: bin目录用于包含命令行开发和调试工具,如javac,jar和javadoc。 Java SE 9中的JDK目录布局 在Java SE 9 的JDK中: 没有名为jre的子目录。 bin目录包含所有命令。 在Windows平台上,它继续包含系统的运行时动态链接库。 ="Windows" JAVA_VERSION="9" JAVA_FULL_VERSION="9-ea+133" 在列表中只显示了三个模块。 Java SE 9仍然支持认可的标准和独立API覆盖机制。 在Java SE 9中,运行时映像由模块组成。 要使用此机制,需要使用更新版本的模块,用于支持标准和独立API。

    79510编辑于 2024-12-19
  • 来自专栏怀英的自我修炼

    Java漫谈9

    / 简单来说,就是因为java的编译器会自动给你加上。 由此,我想到两点: 第一是,java中的那些基本数据类型,会不会也是由编译器自动加上new这个关键字的。搜了一下必应,没搜到什么有效的答案。 如果常量池中的“hello”长时间没有被引用,java的垃圾回收器就会自动将它回收,释放“hello”对象所占用的空间。对于堆内存中的“hello”对象也是如此。 这里补充说一下,在java中,双等号是用来判断相等的,在String中它判断的是对象的地址是否相等,若要判断String的值是否相等,要用equals方法。 如果在用熟了,形成习惯了之后,我们能去进一步地了解一下原理,也许就能使我们对代码的具体使用场景理解加深,然后再用到编程中,做到合适的代码放到合适的地方,最终能在编程效率和程序执行效率上得到一些提升。

    74090发布于 2018-03-12
  • 来自专栏公众号:懒时小窝

    Java】A Guide to Java 9 Modularity

    引言 近期在 Baeldung 看到了一篇有关Java9模块化入门介绍的文章,整体翻译加理解下来发现确实不错,个人认为美中不足的是项目构建过于简单和偏手动,个人建议找一些简单的Java9以及之上的开源项目结合参考使用更佳 原文 A Guide to Java 9 Modularity | Baeldung 1. Java 9 在包上面引入了新的层次,正式的名称叫做 Java 平台模块系统(JPMS),或者更简单称之为“模块”。 在Java9之后,这种反射滥用的行为受到明确限制,我们必须要明确授予其他模块对于我们模块的反射访问权限。 比如我们使用Java9运行低版本的Java8的程序时候,可能需要添加模块化。

    46920编辑于 2023-09-02
  • 来自专栏码匠的流水账

    java9系列(二)docker运行java9

    序 本文介绍下如何在docker运行java9 镜像 docker pull openjdk:9-jdk 启动 docker run -it openjdk:9-jdk /bin/jshell 然后就可以正常使用 (1,2,3,4).stream().limit(3).forEach(e -> System.out.print(e)) 123 退出 jshell> /exit | Goodbye 查看此镜像的java 版本 docker run -it openjdk:9-jdk /bin/bash root@44d1d18351a8:/# java -version openjdk version "9-Debian " OpenJDK Runtime Environment (build 9-Debian+0-9b181-4) OpenJDK 64-Bit Server VM (build 9-Debian+0-9b181 -4, mixed mode) doc Start using Java 9 shell — jshell with docker

    96900发布于 2018-09-17
  • 来自专栏编程基础

    C编程基础-基础篇 9

    struct #include <stdio.h> int main() { struct Contacts { char name[100]; int age; char mobile[12]; }; struct Contacts person1 = {"John", 30, }; printf("name: %s, age: %d, mobile: %s\n", person1.name, person1.age, p

    32031发布于 2021-02-26
  • 来自专栏java一日一条

    未来编程9大猜想

    这仅仅是开端而已,很多程序员明智地编写了Cobol、Java、Lisp和C等多种语言的代码转换器。现在这些语言经过转换和改进,经过快速交付和解析后就能在浏览器里运行了。 当越多的人加入编程学习大军,他们就越能认识到处理协调数字、API等有多棘手。像奥巴马那样写出一行代码很简单,但上百万代码组成的完整系统却是常人难以驾驭的。 9. 指手画脚的BOSS让人抓狂 这算不上是展望,因为他们已经做到了——这些上司们在速成班里学了点编程,就觉得自己成了行家,程序员于是就这样“被帮助”了。 “你要用一个变量吗?”

    1.1K20发布于 2018-09-18
  • 来自专栏编程基础

    Go编程基础-基础篇 9

    Go 语言中只有值传递,没有引用传递,想要指针作为参数传入函数中,只能传递地址进入函数进行修改

    34511发布于 2021-03-02
领券