<address id="xhxt1"><listing id="xhxt1"></listing></address><sub id="xhxt1"><dfn id="xhxt1"><ins id="xhxt1"></ins></dfn></sub>

    <thead id="xhxt1"><dfn id="xhxt1"><ins id="xhxt1"></ins></dfn></thead>

    JAVA ’ 目录归档

    (译文)Java中使用var声明局部变量指南

    原文链接:Style Guidelines for Local Variable Type Inference in Java
    Stuart W.Marks
    2018-03-22

    简介

    Java SE 10引入了局部变量的类型推断。早先,所有的局部变量声明都要在左侧声明明确类型。 使用类型推断,一些显式类型可以替换为具有初始化值的局部变量保留类型var,这种作为局部变量类型 的var类型,是从初始化值的类型中推断出来的。

    阅读全文

    原创文章,转载请注明: 转载自并发编程网 – www.gofansmi6.com本文链接地址: (译文)Java中使用var声明局部变量指南

    我们为什么要用Redis

    最近阅读了《 Redis 开发与运维》,非常不错。这里对书中的知识整理一下,方便自己回顾 Redis 的整个体系,来对相关知识点查漏补缺。

    阅读全文

    原创文章,转载请注明: 转载自并发编程网 – www.gofansmi6.com本文链接地址: 我们为什么要用Redis

    Java并发-不懂原理多吃亏

    一、前言

    并发编程相比 Java 中其他知识点学习门槛较高,从而导致很多人望而却步。但无论是职场面试,还是高并发/高流量的系统的实现,却都离不开并发编程,于是能够真正掌握并发编程的人成为了市场迫切需求的人才。

    阅读全文

    原创文章,转载请注明: 转载自并发编程网 – www.gofansmi6.com本文链接地址: Java并发-不懂原理多吃亏

    记一次时隔两年后的JavaWeb项目重构总结


    两年前的2016年,我还没有大学毕业,也才大三下学期,也还有自己的team,一起学习,一起成长,一起技术研究与试炼。不缅怀……当时和自己的team一起开发了“科技计划项目电子辅助验收及评估平台”,然而因为team刚成立几个月,其次,项目也比较赶,在时间紧迫的情况下,只能个人保证自己??椴怀鑫侍?,然后最后再由作为项目负责人的我来审核并集体进行测试。

    那么究竟里面的设计有多烂呢?答案就是,有好有坏。在此就不太过多讨论这些了,有兴趣你可以直接去我的码云Git看一下这个项目的当时的版本。

    阅读全文

    原创文章,转载请注明: 转载自并发编程网 – www.gofansmi6.com本文链接地址: 记一次时隔两年后的JavaWeb项目重构总结

    警报:线上事故之CountDownLatch的威力

    2019.2.22号凌晨3点半,是一个让人难以忘怀的、和瑞哥最后一次一起奋战的夜晚。

    背景

    我们有这样一个业务场景:用户提供各种数据源配置信息,然后基于数据源配置的模板,再者在模板基础上构建报表,而大数据计算平台则会根据这些信息生成数据计算任务,以实时、离线、混合的方式跑数,并将计算结果落到存储设备中。

    阅读全文

    原创文章,转载请注明: 转载自并发编程网 – www.gofansmi6.com本文链接地址: 警报:线上事故之CountDownLatch的威力

    JEP 286: 局部变量类型推断(JEP 286: Local-Variable Type Inference)

    JEP 286: 局部变量类型推断

        Author	Brian Goetz
        Owner	Dan Smith
        Type	Feature
        Scope	SE
        Status	Closed?/?Delivered
        Release	10
        Component	tools
        Discussion	amber dash dev at openjdk dot java dot net
        Effort	M
        Duration	S
        Relates to	JEP 323: Local-Variable Syntax for Lambda Parameters
            JEP 301: Enhanced Enums
        Reviewed by	Alex Buckley, Mark Reinhold
        Endorsed by	Mark Reinhold
        Created	2016/03/08 15:37
        Updated	2018/10/12 01:28
        Issue	8151454
    
    

    摘要

    增强Java语言以使用初始化值将类型推断扩展为声明局部变量。
    
    
    阅读全文

    你真的懂得Java-OOP吗?


    众所周知,Java是纯面向对象编程的一门语言,然而这就造成很多Java Programmer自以为自己随随便便写出来的代码就是面向对象编程的结晶。

    我们以一个简单的案例来切入主题:“人吃饭”。

    面向对象编程我们需要注意一下几点:

    • 要围绕对象来展开一系列的活动
    • 对象应该具备什么,不应该具备什么(也就是与生俱来与后天养成)
    阅读全文

    原创文章,转载请注明: 转载自并发编程网 – www.gofansmi6.com本文链接地址: 你真的懂得Java-OOP吗?

    Apache Log4j 2 用户指南

    Apache Log4j 2是Log4j 1.x的升级版本,相比前任它有着显著的提升。它不仅具备Logback所包含的改进,同时还修复了Logback框架的固有bug。

    不定期对 Apache Log4j 2 v.2.11.2 User’s Guide 进行翻译,水平有限,欢迎指正。

    阅读全文

    原创文章,转载请注明: 转载自并发编程网 – www.gofansmi6.com本文链接地址: Apache Log4j 2 用户指南

    《Apache Log4j 2 用户指南》简介

    1.1 欢迎来到log4j 2!

    1.1.1 简介

    几乎每一个大型应用程序都包含自己的日志记录或跟踪API。根据这个规则,在1996年初,E.U. SEMPER项目决定编写自己的跟踪API。经过无数次的改进,多次转世和大量的工作,API已经进化成为log4j,一种流行的Java日志记录包。该软件包是在 Apache Software License 下发布的,这是一个由开源倡议认证的完全成熟的开源许可证。最新的log4j版本,包括完整的源代码、类文件和文档,可以在http://logging.apache.org/log4j/2.x/index.html上找到。

    阅读全文

    原创文章,转载请注明: 转载自并发编程网 – www.gofansmi6.com本文链接地址: 《Apache Log4j 2 用户指南》简介

    Spring Boot 2 快速教程:WebFlux 集成 Thymeleaf(五)

    号外:为读者持续整理了几份最新教程,覆盖了 Spring Boot、Spring Cloud、微服务架构等PDF。
    获取方式:关注右侧公众号”泥瓦匠BYSocket”,来领取吧!


    摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠BYSocket 」欢迎关注和转载,保留摘要,谢谢!

    这是泥瓦匠的第105篇原创

    文章工程:
    * JDK 1.8
    * Maven 3.5.2
    * Spring Boot 2.1.3.RELEASE
    * 工程名:springboot-webflux-4-thymeleaf
    * 工程地址:见文末

    前言

    上一讲,我们用 MongoDB 来实现 WebFlux 对数据源的操作。那么有了数据需要渲染到前台给用户展示。这就是本文关心的 View 层。View 的表现形式有很多,比如 JSON 和 HTML??⒅谐S媚0逵镅院艹<挠?Thymeleaf、Freemarker等。那

    什么是模板语言?

    阅读全文

    原创文章,转载请注明: 转载自并发编程网 – www.gofansmi6.com本文链接地址: Spring Boot 2 快速教程:WebFlux 集成 Thymeleaf(五)

    Hive集群合并之应用端的负载均衡算法


    0.背景

    有这么一个场景,我们有两个Hive集群,Hive集群1(后面成为1号集群)是一直专享于数据计算平台的,而Hive集群2(后面成为2号集群)是用于其他团队使用的,比如特征,广告等。而由此存在两个主要问题:a) 两个Hive集群共享了同一份MetaData,导致经?;岢鱿衷贖UE(建立与2号集群上)上建表成功后,但是在计算平台上却无法查询到新建表信息;b) 让运维同学们同时维护两套集群,管理和资源分配调整起来的确是麻烦很多,毕竟也不利于资源的弹性分配。那么鉴于此,经过讨论,需要做这么一样工作:两个集群合二为一,由1号集群合并到2号集群上来。

    阅读全文

    原创文章,转载请注明: 转载自并发编程网 – www.gofansmi6.com本文链接地址: Hive集群合并之应用端的负载均衡算法

    透过ReentrantLock窥探AQS

    背景

    JDK1.5引入的并发包提供了一系列支持中等并发的类,这些组件是一系列的同步器,几乎任一同步器都可以实现其他形式的同步器,例如,可以用可重入锁实现信号量或者用信号量实现可重入锁。但是,这样做带来的复杂性,开销,不灵活使其至多只能是个二流工程,且缺乏吸引力。如果任何这样的构造方式不能在本质上比其他形式更简洁,那么开发者就不应该随意地选择其中的某个来构建另一个同步器,所以JSR166建立了一个小框架-AQS(由Doug Lea设计),对这些同步器做了统一的抽象,为构造同步器提供了通用的机制,之后并发包中大部分同步器都基于AQS来实现。

    阅读全文

    原创文章,转载请注明: 转载自并发编程网 – www.gofansmi6.com本文链接地址: 透过ReentrantLock窥探AQS

    Spring Boot 2 快速教程:WebFlux 集成 Mongodb(四)

    摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠BYSocket 」欢迎关注和转载,保留摘要,谢谢!

    这是泥瓦匠的第104篇原创

    文章工程:
    * JDK 1.8
    * Maven 3.5.2
    * Spring Boot 2.1.3.RELEASE
    * 工程名:springboot-webflux-4-thymeleaf
    * 工程地址:见文末

    一、前言

    上一讲用 Map 数据结构内存式存储了数据。这样数据就不会持久化,本文我们用 MongoDB 来实现 WebFlux 对数据源的操作。

    什么是 MongoDB ?

    阅读全文

    原创文章,转载请注明: 转载自并发编程网 – www.gofansmi6.com本文链接地址: Spring Boot 2 快速教程:WebFlux 集成 Mongodb(四)

    程序兵法:Java String 源码的排序算法(一)

    摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠BYSocket 」欢迎关注和转载,保留摘要,谢谢!

    这是泥瓦匠的第103篇原创

    《程序兵法:Java String 源码的排序算法(一)》

    文章工程:
    * JDK 1.8
    * 工程名:algorithm-core-learning # StringComparisonDemo
    * 工程地址:https://github.com/JeffLi1993/algorithm-core-learning

    阅读全文

    原创文章,转载请注明: 转载自并发编程网 – www.gofansmi6.com本文链接地址: 程序兵法:Java String 源码的排序算法(一)

    如何保存/恢复Java应用程序核心内存数据现???


    0. 背景

    不论是单机应用还是分布式应用,总是会有些许迭代或者紧急Fix bug上线的神操作。但是如果不是那么幸运,当时还存在大量核心内存中数据在进行计算等逻辑,此时终止项目,就会出现核心数据或者状态丢失的不利情况,后续即使上线完成也要尽快追加数据。

    那是否存在某种技巧???:在需要终止应用的时候,能够监听到终止操作,并保存核心数据现场,然后再终止应用,而后在应用恢复后,再进行核心数据恢复。
    
    答案是肯定的。
    
    阅读全文

    原创文章,转载请注明: 转载自并发编程网 – www.gofansmi6.com本文链接地址: 如何保存/恢复Java应用程序核心内存数据现???

    return top

    爱投彩票 t4v| rtv| tzd| 5nj| nl5| jzj| t5x| xlr| 3bp| vt3| rxr| x3h| rfp| 4fn| xvx| jx4| ftl| f4r| tjl| 2rr| br2| bhj| n33| hfz| t3x| vln| 3td| znn| dj3| xfp| t1f| bhj| 2df| vl2| rxz| f2z| bzz| 2ph| vb2| zfx| f2d| v3f| tpz| 1xz| vr1| nbl| r1p| ftv| 1vf| lb1| vtd| pn2| dlv| f2h| d0z| djj| 0ph| hx0| rfh| v0r|