Wednesday, May 19, 2021

OSCHINA 社区最新专区文章

OSCHINA 社区最新专区文章


Go sync.Pool 浅析

Posted: 17 May 2021 05:37 PM PDT

hi, 大家好,我是 haohongfan。 sync.Pool 应该是 Go 里面明星级别的数据结构,有很多优秀的文章都在介绍这个结构,本篇文章简单剖析下 sync.Pool。不过说实话 sync.Pool 并不是我们日常开发中使用频率很高的的并发原语。 尽管用的频率很低,但是不可否认的是 sync.Pool 确实是 Go 的杀手锏,合理使用 sync.Pool 会让我们...

SpringBoot开发秘籍 - 集成参数校验及高阶技巧

Posted: 17 May 2021 06:17 PM PDT

对于 web服务来说,为防止非法参数对业务造成影响,在 Controller层一定要对参数进行校验!本章我们以SpringBoot项目为例,介绍参数校验的基本用法以及一些高级技巧,希望能对你有所帮助。 简单使用 要在Springboot项目中加入参数校验功能首先得加入 spring-boot-starter-validation依赖 <dependency>  <groupId>or...

Kafka万亿级消息实战

Posted: 17 May 2021 06:23 PM PDT

## 一、Kafka应用 本文主要总结当Kafka集群流量达到 万亿级记录/天或者十万亿级记录/天 甚至更高后,我们需要具备哪些能力才能保障集群高可用、高可靠、高性能、高吞吐、安全的运行。 这里总结内容主要针对Kafka2.1.1版本,包括集群版本升级、数据迁移、流量限制、监控告警、负载均衡、集群扩/缩容、资源隔离、集群容灾、...

六面字节,终究是错付了。整理下问到的八股文吧

Posted: 19 May 2021 12:40 AM PDT

RetroArch 1.9.2 发布,跨平台模拟器

Posted: 05 May 2021 04:17 PM PDT

RetroArch 1.9.2 现已发布。RetroArch 是款功能强大的跨平台模拟器,不但能够模拟许多不同的游戏主机,还能在 Windows、MacOS、Linux、Android、iOS 以及多种游戏主机上执行。 主要更新内容如下: 3DS:启用图形小部件/叠加层 3DS:将纹理图像加载为 BGR 颜色 3DS:更改默认 asset directory CHEEVOS:允许在没有 achiev...

实战排查|为什么遮挡推流摄像头,会导致播放绿屏?

Posted: 16 Dec 2020 09:57 PM PST

前言:做音视频的小伙伴们多少都遇到过奇怪的BUG(如:卡顿、花屏、绿屏、变声等),表象上矛盾点颇多,推理得出的结论都是:"不应该啊!",最终你抽丝剥茧,发现真相只有一个:"事出反常必有妖"! 作者:安果,阿里云高级技术专家,从事阿里云 RTC 服务器研发 ## 奇怪现象 背景:RTC 互动中增加对 RTMP 的支持,实现...

关于Pulsar与Kafka的一些比较和思考

Posted: 18 May 2021 06:08 PM PDT

Pulsar是一款分布式发布/订阅消息平台,近两年非常火,被称为下一代的消息流平台,大有取代Kafka的势头。今天我们就来比较一下Pulsar跟Kafka。 历史背景 Pulsar源自Yahoo,于2016年开源并捐献给Apache基金会,并在2018年9月升级成为Apache顶级项目。 Kafka最初由Linkedin开发,并于2010年贡献给了Apache基金会,之后成为...

IDEA中搭建JDK1.8源码阅读环境

Posted: 18 May 2021 06:54 PM PDT

JDK1.8源码阅读环境搭建使用。 环境说明 jdk:版本jdk1.8.0_251 本地安装路径C:\java\jdk1.8.0_251 idea:2018.1 新建java项目路径:E:\up\upup\jdk1.8-source 某些地方可能会见到,避免理解错误。 新建JAVA项目 1.首先新建一个java项目,File->New->Project...,如图按顺序操作 2.点击Next,如图按顺序操作 3.点击Next,...

Java并发编程专题系列之深入分析线程池的工作原理(中篇)

Posted: 17 May 2021 09:24 PM PDT

# ☕️ 前提概要 > 针对于线程池的组件和基础分析,可以参考我之前的文章[ Java并发编程专题系列之深入分析线程池的工作原理(上篇)](https://my.oschina.net/liboware/blog/5009192) 1. **相信大家都用过线程池,对该类ThreadPoolExecutor应该一点都不陌生了**; 2. **我们之所以要用到线程池,线程池主要用来解决线程...

Spring源码分析专题系列(2)深入认识BeanPostProcessor的原理

Posted: 17 May 2021 06:11 AM PDT

## 🍃 前提概要 > **Spring具有很好的扩展性,但是这个扩展它的这个扩展性体现在哪里呢**?而我们要说的**BeanPostProcessor**就是对Spring扩展性优秀的表现之一。 ## 🍃 BeanPostProcessor的作用 - **简单的说就是BeanPostProcessor提供了初始化前后回调的方法,我们所说的扩展就是在实例化前后对Bean进行扩展**。 ...

进程内缓存助你提高并发能力!

Posted: 18 May 2021 05:32 PM PDT

## 前言 缓存,设计的初衷是为了减少繁重的IO操作,增加系统并发能力。不管是 `CPU多级缓存`,`page cache`,还是我们业务中熟悉的 `redis` 缓存,本质都是将有限的热点数据存储在一个存取更快的存储介质中。 计算机本身的缓存设计就是 CPU 采取多级缓存。那对我们服务来说,我们是不是也可以采用这种多级缓存的方式来组...

HHVM 4.110 发布,高速开源虚拟机

Posted: 18 May 2021 04:39 PM PDT

HHVM 4.110 现已发布。这个版本的发布标志着对 4.104 版本的支持已经结束,HHVM 4.105-4.109,以及 4.80 和 4.102 LTS 版本还会继续得到支持。 HHVM 4.110 更新内容如下: Highlights 修复了setlocale()在调用特殊值""或"0" 时的行为。(#8834) 有关更多详细信息,看参见先前的公告。 现在,默认语言环境将始终为"C"...

JHipster7 国内落地方案蓝图发布,适合国内开发者的源代码生成器

Posted: 18 May 2021 10:00 AM PDT

JHipster7已经发布,做为一款功能比较齐全的代码生成器,她在国外有很多拥趸,但其部分特性不完全适合国内,目前国内用户使用的功能应该仅集中在后端Java生成方面。 为了进一步适合国内开发人员,制作了些蓝图(Blueprint)。除了JHipster支持的功能以外,主要增加功能如下: 1、增强用户、角色、API权限、菜单权限。 1....

我想请教一下大家,遇到这种“奇葩”同事,你们一般会怎么做呢?

Posted: 18 May 2021 05:57 AM PDT

Scala 3 正式发布

Posted: 17 May 2021 04:15 PM PDT

Scala 3 稳定版来了!发布公告写道:"经过 8 年的努力开发,在此期间共产生了 28000 多次 commit、7400 多个 PR,以及关闭了 4100 多个 issue。从2012年12月6日 Scala 3 的首个 commit 算起,共计超过 100 人为项目做出了贡献。现在,Scala 3 通过结合类型理论的最新研究以及 Scala 2 的行业经验,Scala 的第三次迭代版...

Android Studio 4.2 现已发布!

Posted: 18 May 2021 02:10 AM PDT

我们高兴地宣布,Android Studio 4.2 现已发布,并可以从稳定版发布渠道中下载。此版本的重心在于推出经过升级的 IntelliJ 平台以及一些新功能,这些新功能旨在提高 Android 应用开发者的工作效率。 我们知道,有时将应用项目升级到最新版本并非易事。为了解决这一问题,我们在 Android Studio 4.2 中提供了全新的应用项...

当年一穷二白搞微服务……我太难了

Posted: 16 May 2021 10:01 PM PDT

在我最初接触微服务的很长一段时间里,有两类问题都困扰着我和团队,这是让我印象最深的两类问题: - **没有配合微服务理念的团队** - **没有配合微服务理念的基础设施** 后来,在和一些搞了微服务的同行多次交流后,发现他们当初也面临和我类似的问题。 这次就写写我最早搞微服务遇到的问题。 有些问题放到现在来说,已...

读者美团五面:Java历史上有三次破坏双亲委派模型,是哪三次?

Posted: 12 May 2021 01:20 AM PDT

你好,我是yes。 这个面试题来自一位群友的面试题分享,就是我组建的那个面试交流群。 其实不止三次,有四次,最新的深入理解Java虚拟机这本书就有提到。 今天我们就来盘一盘这个面试题,不过在说双亲委派模型之前,我们得先简单了解下类加载。 类加载 我们平常写的代码是保存在一个 .java文件里面,经过编译会生成.clas...

有了HTTP,为什么还要RPC?

Posted: 17 May 2021 05:56 PM PDT

很长时间以来都没有怎么好好搞清楚 RPC(即 Remote Procedure Call,远程过程调用)和 HTTP 调用的区别,不都是写一个服务然后在客户端调用么?这里请允许我迷之一笑~Naive! 本文简单地介绍一下两种形式的 C/S 架构,先说一下他们最本质的区别,就是 RPC 主要是基于 TCP/IP 协议的,而 HTTP 服务主要是基于 HTTP 协议的...

上手 WebRTC DTLS 遇到很多 BUG?浅谈 DTLS Fragment

Posted: 16 May 2021 11:19 PM PDT

> 上一篇《详解 WebRTC 传输安全机制:一文读懂 DTLS 协议》详细阐述了 DTLS。本文将结合 DTLS 开发中遇到的问题,详细解读 DTLS 的一些基础概念以及 Fragment 的机制,并进一步深究 DTLS 协议。 作者|泰一 审校|进学、莫战 ## 前言 最近在做 J 和 G 这两套 RTC 系统的 DTLS-SRTP 握手加密工作,要求使用 CA 机构颁发的...

lamp-cloud 3.2.1发布,java 中后台快速开发平台

Posted: 17 May 2021 05:17 PM PDT

3.2.1 版本更新详情: feat: 增强mybatis plus的 行级(column) 租户插件(TenantLineInnerInterceptor) 支持where条件后拼接多个租户id feat(log): 优化logback配置文件,并让开发环境和其他环境更好的使用不同的日志配置 (新增defaults-async.xml、defaults-sync.xml) feat(authority): 岗位管理导入参数验证 feat: 前端...

linkis与SQL中间件(跨数据源混查)结合实践分享

Posted: 19 Apr 2021 02:33 AM PDT

【我与WeDataSphere的故事】征文大赛获奖文章分享(一) 作者简介|PROFILE 李宏伟 资深大数据开发专家 长期奋斗在一线的码农,目前在360技术中台数据平台部参加数据中台建设工作,多年大数据领域技术架构与开发经验以及多年CDN领域技术栈开发经验。 01 背景需求 -业务需求: 在公司有很多运营、数据分析的童鞋,虽然自有...

如何快速的学习一门新的编程语言?

Posted: 14 May 2021 08:30 PM PDT

工作中,经常有工作两年左右的同事,用手挠挠发量本来就不多的脑袋,问我:"我如何快速上手一门新语言呢?" 程序世界变化非常快,新的框架、语言,新的词汇层出不穷,那作为有追求的技术人员,如何快速地跟上这些变化,使自己保持竞争力,而不落伍呢? 难学的第二门语言 上学的时候,一位老师在与新手开发人员分享经验...

如何优雅的用策略模式,取代臃肿的 if-else 嵌套,看这篇就够了

Posted: 17 May 2021 07:18 PM PDT

### 一、传统的实现方式 先说一下具体的需求:公司推广入口很多,每一个下单来源在下单时都做特殊的逻辑处理,可能每两天就会加一个来源。 那么按照传统的实现方式代码就是如下: ```javascript## 标题 public class OrderServiceImpl implements IOrderService { @Override public String handle(OrderDTO dto) { Stri...

Python 之父:明年在 Python 中实现至少 1 倍提速

Posted: 17 May 2021 05:32 PM PDT

Python 之父 Guido van Rossum 在 2021 年 Python 语言峰会上透露了一些有关 Python 的发展计划表示,其短期计划是在 Python 3.11 版本中实现至少提速 1 倍。按照官方的发布周期,目前处于测试阶段的 Python 3.10 计划于今年 10 月发布,Python 3.11 则预计于 2022 年发布。 2020 年 11 月,Guido 在退休一年后宣布再度复...

code-server 3.10.1 发布,在远程服务器上运行 Visual Studio Code

Posted: 17 May 2021 04:40 PM PDT

code-server v3.10.1 现已发布,具体更新内容如下: VS Code v1.56.1 升级就像在旧版本上安装新版本一样容易。 code-server 在 ~/.local/share/code-server 中保留了所有的用户数据,以便在两次安装之间保留这些数据。 Bug Fixes 修复:检查登录用户而不是 $USER#3330 修复:修复 npm 软件包中损坏的 node_modules.asa...

Arduino IDE 1.8.15 发布

Posted: 17 May 2021 04:29 PM PDT

Arduino 是一个开源的物理计算平台,基于一个简单的 I/O 板和一个实现处理/连接语言的开发环境。Arduino 可以用来开发独立的交互式对象,也可以连接到计算机上的软件(如 Flash、Processing 和 MaxMSP)。 Arduino IDE 是一个跨平台的应用程序(适用于 Windows、macOS、Linux),是用 C 和 C++ 编写的。它被用来编写和上...

PDFsam Basic 4.2.5 发布,PDF 文档多功能处理工具

Posted: 17 May 2021 04:26 PM PDT

PDFsam Basic 是一款免费的、开源的、跨平台使用的 PDF 文档处理软件,可对 PDF 文件进行分割、合并、提取页面、混合和旋转等处理。 PDFsam Basic 近日发布了最新的 4.2.5 版本,更新信息如下: 修复了 Split 和 Extract 页面任务中的一个问题,在这个问题上,corner case 可能会导致生成的 PDF 中的图像丢失 更新的翻译...

Taichi(太极)0.7.19 发布,为高性能计算机图形学设计的编程语言

Posted: 17 May 2021 04:08 PM PDT

Taichi(太极)0.7.19 已经发布,这是专为高性能计算机图形学设计的编程语言。 此版本具体更新内容如下: [IR] 实验性 real function 支持(第 1 阶段)(#2306) [Opt] 简化 multiplying/dividing POT(#2332) [Lang] 为 2x2 矩阵添加 ti.sym_eig(#2328) [perf] Loop-invariant code motion(#2323) [bug] 修复...

ActionView 1.12.4 发布,更好用的团队敏捷开发工具

Posted: 17 May 2021 07:25 AM PDT

ActionView 1.12.4新版本已发布,新版本做了以下内容的更新: 1. 优化了LDAP 用户同步; 2. 增加了wiki预览返回目录功能; 3. 增加了一些功能快捷键功能; 4. 优化了一些小问题; 优势: 支持用户创建项目,项目不仅可引用全局配置方案,也可自定义本地方案,实现了全局配置方案和本地配置方案的完美结合。 各项目不仅可...

讨论:树状结构数据分页显示的方案?

Posted: 17 May 2021 06:10 AM PDT

对单一排序的树状列表进行分页显示比较好搞,可以在插入数据的时候预先计算好排序值填充进去(参考 https://gitee.com/koode/kooder 的仓库评论)。 但是如果一个列表支持多种排序,例如按时间、按热度、按更新时间,那么应该怎么做呢? 大家来讨论讨论ba?

如果你是一位互联网的面试官,你会拒绝大龄的Java程序员吗?

Posted: 17 May 2021 06:03 AM PDT

内核如何获取内存

Posted: 16 May 2021 02:14 AM PDT

一、第一阶段从底层bios获取数据 首先是由最底层的bios扫描到硬件信息,然后上传给上层的kernel使用的。这里bios定义了一系列的中断调用函数供上层使用。对于内存在x86下则是定义了INT 0x15,eax = 0xE820来获取万恒的内存映射。INT 0x15,AX = 0xE801则是用于获取内存大小。INT 0x15,AX = 0x88也是用于获取内存大小。 ...

谁动了我的Linux?原来history这么强大!

Posted: 18 Apr 2021 04:33 PM PDT

大家好,我是肖邦,这是我的第 15 篇原创文章。 当我们频繁使用 Linux 命令行时,有效地使用历史记录,可以大大提高工作效率。 在平时 Linux 操作过程中,很多命令是重复的,你一定不希望大量输入重复的命令。如果你是系统管理员,你可能需要对用户操作进行审计,管理好 Linux 命令历史记录显得非常重要。 今天我们来介绍...

NettyClient半包粘包处理、编码解码处理、收发数据方式

Posted: 16 Aug 2019 03:49 PM PDT

前言介绍 Netty开发中,客户端与服务端需要保持同样的;半包粘包处理,编码解码处理、收发数据方式,这样才能保证数据通信正常。在前面NettyServer的章节中我们也同样处理了;半包粘包、编码解码等,为此在本章节我们可以把这些知识模块开发到NettyClient中。本章节涉及到的知识点有;LineBasedFrameDecoder、StringDec...

JDK1.8新特性(六):Stream的终极操作,轻松解决集合分组、汇总等复杂操作

Posted: 16 May 2021 07:39 PM PDT

上一篇[JDK1.8新特性(五):Stream,集合操作利器,让你好用到飞起来](https://my.oschina.net/xcbeyond/blog/5049458),主要讲解了关于Stream的基本操作,可以轻松摆脱**"遍历、再遍历、再运算"**等复杂操作,但Stream远远不止这些。本文将讲述关于Stream的终极操作,让你轻松解决集合的分组、汇总等操作,让其他同事对你...

JPower v2.0.1 发布,微服务快速开发平台

Posted: 16 May 2021 07:33 AM PDT

JPower v2.0.1 已经发布.Jpower是一款由政务商业项目升级优化而成的SpringCloud框架,采用Java8API实现了业务代码,集成SpringCloud Alibaba全套组件等核心技术,可用于快速搭建企业级的系统平台。 此版本更新内容包括: up avue 2.8.12-alpha add beautiful 主题 登录逻辑微调 auth得SecureUtil优化 redis得CacheUtil优...

那些好用的 VS Code 插件,究竟是如何提高编码效率的?

Posted: 16 May 2021 06:05 PM PDT

> 在[上一篇文章](https://mp.weixin.qq.com/s/OhHe1kyHzh90Utdtf2E-iw)中我们已经对 vscode 插件有了一个初步的认识与了解了,接下去我们就要"揭秘"一下市面上那些好用的 vscode 插件究竟是如何帮我们提高工作效率的。 ![](https://img2020.cnblogs.com/blog/759200/202105/759200-20210516154330534-1988632227.jpg...

Java并发编程专题系列之深入分析AQS的工作原理(前传)

Posted: 15 May 2021 10:49 PM PDT

## 🐉 大致介绍 1. **本章讲解一下CAS,本质就是机器指令:`cmpxchg+lock(根据处理器核数进行判断)` 原子操作**; 2. **而在谈到并发操作里面,我们不得不谈到AQS,JDK的源码里面好多并发的类都是通过Sync(同步器)的内部类继承AQS而实现出五花八门的功能**; ## 🐉 简单认识AQS ### 🐉 何为AQS? 1. **AQS是一...

smart-servlet v0.1.4 发布,超高性能的国产开源 Servlet 服务器

Posted: 16 May 2021 07:12 PM PDT

smart-servlet 是一款实现了 Servlet 3.1 规范,支持多应用隔离部署的的 Web 容器。与此同时,smart-servlet 还是一款插件化容器,基于内置的沙箱环境确保 smart-servlet 拥有最精简的运行能力,用户还可以通过自定义插件扩展容器的服务能力。 1、更新内容 优化:依赖组件升级,smart-socket 升级至 1.5.8;smart-http ...

gout v0.1.10 版本更新,go http RESTful 客户端和 benchmark lib

Posted: 16 May 2021 07:05 PM PDT

项目地址: https://gitee.com/guonaihong/gout https://github.com/guonaihong/gout 本次更新内容 新增Chunked()接口, 控制使用chunked数据结构 文档 gout 是go写的http 客户端,为提高工作效率而开发 构架 feature 支持设置 GET/PUT/DELETE/PATH/HEAD/OPTIONS 支持设置请求 http header(可传 struct,map,array,slice 等...

JimuReport 积木报表 1.3.3 版本发布,可视化报表工具

Posted: 16 May 2021 06:51 PM PDT

项目介绍 积木报表,是一款免费的可视化Web报表工具,像搭建积木一样在线拖拽设计报表!功能涵盖,数据报表、打印设计、图表报表、大屏设计等! 秉承"简单、易用、专业"的产品理念,极大的降低报表开发难度、缩短开发周期、节省成本、解决各类报表难题,重点此软件是完全免费的!!! 当前版本:v1.3.3-beta | 2021-05...

Guns 7.0 发布,更简洁的后台管理系统

Posted: 16 May 2021 06:55 PM PDT

Guns 7.0更新内容: 架构升级,基于A(rule-核心规则)D(development-开发工具)O(operation-运维层)S(service-业务层)模式分层。 封装一系列基础模块在Roses核心包,模块基于api可拓展,可复用,https://gitee.com/stylefeng/roses 集成flyway,增加数据库脚本自动初始化功能,无需手动执行初始化sql即可使用。 新...

缓存数据一致性 - 架构师峰会演讲实录

Posted: 16 May 2021 05:51 PM PDT

## Previously 缓存系统涉及的问题和知识点是比较多的,我主要分为以下几个方面来跟大家探讨: * **稳定性** * 正确性 * 可观测性 * 规范落地和工具建设 **[上篇](https://mp.weixin.qq.com/s/o0qUY5zUjBQuOkx_4XGB6Q)** 我们分析了缓存系统的稳定性,介绍了 go-zero 是怎么解决缓存穿透、缓存击穿、缓存雪崩问题的。比较...

Maven的pom文件中参数 -DskipTests 与 -Dmaven.test.skip=true的区别?

Posted: 16 May 2021 02:38 AM PDT

在使用mvn package进行编译、打包时,Maven会执行src/test/java中的JUnit测试用例,有时为了跳过测试,会使用参数-DskipTests和-Dmaven.test.skip=true,这两个参数的主要区别是: -DskipTests,不执行测试用例,但编译测试用例类生成相应的class文件至target/test-classes下。 -Dmaven.test.skip=true,不执行测试用例,...

先不提最新的Pulsar服务中间件,先说一下Kafka优势和特性有哪些?

Posted: 15 May 2021 11:40 PM PDT

Kafka的优点 高吞吐量:单机每秒处理几十上百万的消息量。即使存储了许多TB的消息,它也保持稳定的性能。 高性能:单节点支持上千个客户端,并保证零停机和零数据丢失,异步化处理机制 持久化:将消息持久化到磁盘。通过将数据持久化到硬盘以及replica(follower节点)防止数据丢失。 零拷贝:减少了很多的拷贝技术,以及可...

Rust 发布 6 周年

Posted: 15 May 2021 06:06 PM PDT

今日,Rust 官方发文庆祝 Rust 发布 6 周年。 Rust 是一门系统编程语言,专注于系统安全,支持函数式和命令式以及泛型等编程范式。其首先在 2006 年作为 Mozilla 员工 Graydon Hoare 的私人项目出现,并于 2009 年开始接受 Mozilla 赞助。第一个有版本号的 Rust 编译器于 2012 年 1 月发布,而其第一个稳定版本 Rust 1.0...

TXR 259 发布,用于文本抽取的模式匹配语言

Posted: 15 May 2021 04:55 PM PDT

TXR 259 现已发布。TXR是一个实用、方便的工具,提供全文档模式匹配和从任意文本源中提取文本的功能。其由由两种语言组成,分别是 TXR 模式语言,以及 TXR Lisp。 主要更新内容 提供新的 rel-path 函数,以计算两个目录之间的相对路径 格式函数的 ~x/~X 选项支持以十六进制打印缓冲区对象 新的 each-match 系列宏,用于迭...

Java技术专题-JVM研究系列(20)JVM内存逃逸原理分析

Posted: 02 May 2021 06:22 PM PDT

# 前提概要 > JVM的内存分配主要在是运行时数据区(Runtime Data Areas),而运行时数据区又分为了:**方法区,堆区,PC寄存器,Java虚拟机栈(就是栈区,官方文档还是叫Java虚拟机栈),本地方法区**,**内存逃逸主要是对象的动态作用域的改变而引起的,故而内存逃逸的分析就是分析对象的动态作用域**。 ## 方法逃逸 - 什么...

OTP 24 正式发布,Erlang 应用服务器

Posted: 14 May 2021 05:11 PM PDT

OTP 24 现已发布。OTP (Open Telecom Platform) 是一个用 Erlang 编写的应用服务器,它是一套 Erlang 库,由 Erlang 运行时系统、主要使用 Erlang 编写的许多随时可用的组件以及 Erlang 程序的一组设计原则组成。 主要更新内容 编译器现在会在定义后立即内联那些只使用一次的函数 编译器警告和错误现在除了行号外还包括列...

TypeScript 4.3 RC 发布

Posted: 14 May 2021 05:02 PM PDT

TypeScript 4.3 RC 现已发布。从现在开始到发布 TypeScript 4.3 稳定版,除了关键的 bug 修复外,不会进行任何其他更改。 主要更新内容 支持为读和写属性单独指定类型。不过,读属性的类型必须可分配给写属性的类型。换句话说,getter 的类型必须可以分配给 setter。这确保了某种程度的一致性,因此一个属性总是可以被分...

Kotlin 内联类与类型别名的使用

Posted: 14 May 2021 03:42 AM PDT

内联类(Inline Class) 内联类的支持版本目前是1.3及以上。 内联类的使用其实很简单,只需要我们在class前面加上一个inline关键字即可,如下面这样: inline class WoMan(private val name: String) { val length: Int get() =name.length fun greet() { println("Hello, $name") ...

Linux DRM那些事-HDMI接口EDID获取

Posted: 14 May 2021 03:06 AM PDT

本文基于RockPI 4A单板Debian系统Linux 4.4内核DRM框架介绍HDMI接口 EDID获取方法。 一、EDID介绍 EDID(Extended display identification data):扩展显示器识别数据,一般存储在显示器的EEPROM中。 在EDID1.0->EDID1.3版本中,EDID的容量是128Byte,从EDID1.3版本以后,数据容量扩展到256Byte。 一般通过DDC(或I2C)通...

Swoole v4.6.7 版本发布,Bug 修复版本

Posted: 14 May 2021 03:48 AM PDT

v4.6.7 版本主要是一个 Bug 修复版本,没有向下不兼容改动。 此版本中修复了Http\Response::end()方法总是返回 true 的问题,同时修改了 output_buffer_size 的默认值 在之前的版本中 output_buffer_size 的默认值为2M,由于受到 output_buffer_size 的限制,如果在调用end时,需要发送的内容大于这个限制则会响应失败,...

Java技术专题-JVM研究系列(19)360度无死角认识volatile机制

Posted: 01 May 2021 05:07 AM PDT

# 前提概要 我们都知道**synchronized**关键字的特性:**原子性、可见性、有序性、可重入性**,虽然,JDK在不断的尝试优化这个内置锁,一文中有提到:**无锁 -> 偏向锁 -> 轻量锁 -> 重量锁** 一共四种状态,**但是,在高并发的情况下且大量冲突出现的时候,最终都还是会膨胀到重量锁**。 本篇文章主要讲解**volatile**关...

Pyston v2.2 发布:开源,比 Python 快 30%

Posted: 07 May 2021 04:04 PM PDT

Pyston v2.2 已正式发布,Pyston 是 Python 的高度兼容实现,自称比 Python 更快。官方表示,v2.2 版本比以前的版本要快得多,重要的它现在是开源的。同时,开发团队还合并了 CPython 的许多更改,其现在基于 CPython 3.8.8。 Pyston 方面指出,在其 Web 服务器基准测试中,Pyston v2.2 比现有的 Python 快 30%,这相较...

为什么TCP 建连接要3次,断连接却要4次呢?

Posted: 11 May 2021 05:03 PM PDT

大家好,今天聊聊传输层通信协议TCP的经典问题:建连接与断连接。 网络上的传输是没有连接的,包括TCP也是一样的。 而TCP所谓的"连接",其实只不过是在通讯的双方维护一个"连接状态",让它看上去好像有连接一样。所以,TCP的状态变换是非常重要的。 很多人会问,为什么建链接要3次握手,断链接需要4次挥手? 对于建链...

JDK1.8新特性(五):Stream,集合操作利器,让你好用到飞起来

Posted: 14 May 2021 02:03 AM PDT

集合是Java中使用最多的API,几乎每个程序员天天都会和它打招呼,它可以让你把相同、相似、有关联的数据整合在一起,便于使用、提取以及运算等操作。在实际Java程序中,集合的使用往往随着业务需求、复杂度而变得更加复杂,在这其中将可能会涉及到更多的运算,如:求和、平均值、分组、过滤、排序等等。如何这些操作混合...

这个好用的分布式应用配置中心,我们把它开源了

Posted: 13 May 2021 12:06 AM PDT

**导读**:SpringBoot的时代到来,对于曾经面向一堆XML配置的开发经历,那真是一大福音,一切都变得非常简洁,留下的就是简化的配置文件设置。但在分布式环境下呢?众多的实例集群下,动态的实例迁移等情况时常发生,导致配置管理的工作变得复杂且困难,百度研发团队通过多年的架构建设经验,把过往的配置管理的相关经验...

方法调用:一看就懂,一问就懵?

Posted: 13 May 2021 06:38 PM PDT

方法调用是不是很熟悉?那你真的了解它吗?今天就让我们来盘一下它。 ![](https://oscimg.oschina.net/oscnet/up-73f53cdd88971df4c9abc2c3e31f4904948.JPEG) 首先大家要明确一个概念,此处的方法调用并不是方法中的代码被执行,而是要确定被调用方法的版本,即最终会调用哪一个方法。 [上篇文章](https://mp.weixin.qq....

Cocos Creator 3.1.0 发布

Posted: 13 May 2021 04:18 PM PDT

Cocos Creator 3.1 现已发布。Creator 3.0 统一了 2D 与 3D 的开发工作流,兼顾了轻量与重度游戏的开发体验,融合了几乎所有 Creator 2.x 与 Creator 3D 1.x 版本的功能。而 3.1 与 3.0 版本相比,增加了许多新功能,各方面性能也得到了优化。 主要更新内容 添加了延迟渲染管道,用户可以在项目设置中选择延迟渲染管道:...

AppCode 2021.1.1 发布

Posted: 13 May 2021 04:06 PM PDT

AppCode 2021.1.1 现已发布,这是 2021.1 的一个 bug 修复版本。并且,现在通过在 "编辑配置" 对话框中选择相应的选项,能够以根用户身份运行或调试应用程序。 主要更新内容 修复了重新导入 SPM 后运行设置消失的问题 修复了 cross swift/objc 模块的符号引用在由 tulsi 生成的 .xcodeproj 中完全不起作用的问题 在项目...

使用JRebel 启动,响应参数不显示的问题有什么解决办法吗

Posted: 13 May 2021 02:35 AM PDT

JRebel 版本 2021.2.1 knife4j 版本2.0.8

10000 字|Swift语法全面解析

Posted: 13 May 2021 01:58 AM PDT

❝ 万字长文,每一个知识点都对应了demo,理论与实践结合,讲解地非常到位。 ❞ Swift介绍 Swift 是一门开发 iOS, macOS, watchOS 和 tvOS 应用的新语言。 swift 是一种安全,快速和互动的编程语言。 swift 支持代码预览(playgrounds),这个特性可以允许程序员在不编译和运行应用程序的前提下运行 Swift 代码并实时查看...

问题这样查,拒做背锅侠

Posted: 12 May 2021 11:25 PM PDT

**技术的锅太多,到底该不该你背?** 话说这天一大早,那个悲催的中年架构师大刘又被手机微信群给炸醒。部门的运维兄弟在公司微信群里说: 短信的生产环境服务器 CPU 占用率过高,疯狂报警。是不是你们昨天上线看门狗导致的? 大刘迷了巴登的想了想,没错,昨天确实给短信服务装上了看门狗。但是看门狗服务肯定不会有问题...

notifyAll唤醒线程的范围?

Posted: 13 May 2021 01:56 AM PDT

最近在看《java并发编程》,看到 notifyAll 的时候有一个疑问, notifyAll 唤醒的是全部的线程,还是唤醒当前这个锁等待的线程? 假设我有两个锁, A锁有5个线程在等待,B锁有3个线程在等待,A锁中的线程执行完了,调用 notifyAll ,是唤醒了 A B 两个锁的全部的等待线程还是只唤醒了 A锁的5个线程? 个人认为是只唤醒了...

怎么用Lambda找到Map的key在集合里面的所有元素

Posted: 13 May 2021 01:23 AM PDT

Map m1 = new HashMap<>(); m1.put("a","1"); m1.put("b","2"); m1.put("c","3"); Map m2 = new HashMap<>(); m2.put("a","aa"); m2.put("c","cc"); 这里需要找到m1里面所有key是在m2里面的,即m2的key是a,c,m1里面找到key是a,c的,返回{a=1, c=3},这个用Lambda怎么实现,获取用其...

java项目,有一组用户和消息,让你记录这些消息的状态,是否已读未读,如何设计表结构最高效?

Posted: 12 May 2021 10:41 PM PDT

java项目,有一组用户和消息,让你记录这些消息的状态,是否已读未读,如何设计表结构最高效?

优化技术专题-虚拟机线程问题分析-CPU过载过高的问题排查方案

Posted: 08 May 2021 02:18 AM PDT

# 前提概要 (服务调优或问题排查执行方案) 本次主要分析一下相关的线上如果出现CPU负载过高的情况下,应该如何按照步骤去排查和分析问题,接下来就让我们一同迈入优化和解决问题的探索之路。 # 侦探问题根源 **通过top指令发现,当前5511的线程cup和内存的使用率过高:** ```` top 5511 root 20 0 16.841g 6.088g 558...

给Java小白,整理一套能上手的简单编程算法题!!!

Posted: 12 May 2021 06:32 PM PDT

![](https://oscimg.oschina.net/oscnet/up-f8977eb93c4c88eec2e048a507567b3294f.JPEG) 作者:小傅哥 博客:[https://bugstack.cn](https://bugstack.cn/) > 沉淀、分享、成长,让自己和他人都能有所收获!😄 ## 一、前言 `数学离程序员有多近?` ifelse也好、for循环也罢,代码可以说就是对**数学逻辑的具体实现**。...

Java技术专题-JVM研究系列(21)带你认识下Open JDK和Oracle/Sun JDK的关系

Posted: 04 May 2021 05:33 AM PDT

# 每日一句 > **过去属于死神,未来属于你自己**。 —— **雪莱** # 背景回溯 >**历史上的原因是**,**OpenJDK是JDK的开放原始码版本,以GPL协议的形式放出**。在JDK7的时候,**OpenJDK已经成为JDK7的主干开发**,**Sun/Oracle JDK7是在OpenJDK7的基础上发布的,其大部分原始码都相同,只有少部分原始码被替换掉**。使用...

如何让消息队列达到最大吞吐量?

Posted: 12 May 2021 05:01 PM PDT

> 你在使用消息队列的时候关注过吞吐量吗? > > 思考过吞吐量的影响因素吗? > > 考虑过怎么提高吗? > > 总结过最佳实践吗? 本文带你一起探讨下消息队列消费端高吞吐的 `Go` 框架实现。Let's go! ## 关于吞吐量的一些思考 * 写入消息队列吞吐量取决于以下两个方面 * 网络带宽 * 消息队列(比如Kafka)写入速度 最佳吞...

GCC 12 将支持 #elifdef 和 #elifndef 指令

Posted: 12 May 2021 04:36 PM PDT

根据最新的提交记录显示,GCC 12 将支持新的 #elifdef 和 #elifndef 指令。 长期以来,一直有 #ifdef、#else、#elif 和类似的指令来控制 C/C++ 的条件编译,但并没有 #elifdef 或 #elifndef 指令。直到今年早些时候,在最后一次 C 语言会议上,关于这两个新指令的的提案被接受, C2x 终于确定将支持 #elifdef 和 #elifn...

NewtonsoftJson的使用整理

Posted: 12 May 2021 02:01 AM PDT

## 关于我 [我的博客 | 欢迎关注](http://www.zhouhuibo.club) ## 引言 json是我们在工作中经常用到的一种数据传输格式,开始过程中解析json是我们经常面对的问题。NewtonsoftJson是c#的一套json处理封装类,它可以高效,方便地帮助我们处理json。 NetonSoftJson提供了完整的使用文档,文档地址如下:[Json.NET Documen...

五年Java开发,薪资15k,上班965你愿意吗?

Posted: 12 May 2021 01:27 AM PDT

工作五年了,去过外包公司,也待过甲方,因为上一份工作是在外包做华为项目的,做完没需求就被释放了,非常心累,也很不稳定,所以目前找了个现在的甲方公司,做物流的,上班时间965,基本不加班,但是整天做些crud功能,每一点技术含量,用的技术都很老,在这里基本没什么技术上的进步的,请问下各位大佬,是你,你愿意...

优化技术专题-虚拟机内存问题分析-Java虚拟机优化案例分析

Posted: 06 May 2021 08:02 PM PDT

# 问题总结 1. **内存多占1G左右,CPU利用率没有明显变化,但随着CMS收集抖动,最高达40%,CPU load平均高出1.0左右**。 2. **几乎0停顿,相比于之前每隔5分钟应用停顿3-4s,调优后的应用几乎没有停顿时间,每次"stop the world" 由 youngGC 引起,最高也不过200+ms**。 3. **GC总时间开销显著减小20%多,吞吐量显著提...

idea导入maven项目无法识别是什么原因?

Posted: 11 May 2021 08:59 PM PDT

idea导入maven项目时无法识别出来,依赖包都没有引入,maven管理界面也没有。网上搜了下都是说吧pom文件转成maven工程,但是找不到是什么原因导致没识别maven工程的,有人知道原因吗?这种情况怎么避免?

关于PHP:Swoole 如何使用 Xdebug 进行单步调试!

Posted: 11 May 2021 06:37 PM PDT

在 PHP-FPM 中使用 Xdebug 的人应该不少,而在 Swoole 中使用 Xdebug 的人还是很少的,原因是 Swoole 扩展明确说明了和 Xdebug 扩展冲突 之前在 Swoole 文档中补充了 Sdebug 的安装,同样的 Sdebug 的 README 也进行了修改介绍如何安装,不过都是简单说明如何成功加载扩展,没有详细说明配置 先说一下如何安装 Sdebug 为...

Java技术专题-JVM研究系列(22)你很少了解的直接内存(上)

Posted: 09 May 2021 09:48 PM PDT

# 每日一句 > 我们始于迷惘,终于更高水平的迷惘。(我最喜欢的名句,哈哈) # JDK7和JDK8的内存结构对比 ![](https://oscimg.oschina.net/oscnet/up-01769a3a0c304805d46e02bd09455cd2a4d.JPEG) > 从上面的图中可以看到Java8相比Java7来讲将方法区的实现,从非堆空间(其实逻辑与堆相连,所属于运行时数据区内部)迁移到...

搞清楚这 10 几个后端面试问题,工作稳了!

Posted: 07 May 2021 06:09 PM PDT

面试过程是一个由浅入深的过程,面试官先给求职者抛出一个相对简单的问题,然后通过一环套一环的追问深入考察求职者对知识点的理解掌握程度。 如下是一个实际的关于redis知识点的面试场景: 面试官: 你用过redis吗? 你:用过 面试官:你知道redis是单线程还是多线程呢? 你:在4.0之前是单线程,但是在4.0之后开始支持...

Python 中闭包概念的条分缕析

Posted: 23 Apr 2021 04:55 PM PDT

以前学 js 的时候第一次见到闭包,当时不甚了了,还为了应付面试强行记住了一个模棱两可的"定义":在函数中嵌套定义函数,并且在外层将内层函数返回,一同返回了外层函数的环境。当时从字面意思以及当时一个经典例子试图去理解闭包,加之"闭包"这个翻译也很不容易让人看出其中的道理,导致对其总感觉懵懵懂懂。之前工作...

Rust 2021 版本计划发布

Posted: 11 May 2021 04:16 PM PDT

Rust 开发团队宣布 Rust 语言的第三个版本 Rust 2021 计划于今年 10 月发布。 Rust 1.0 的发布确立了 "稳定前进(stability without stagnation)"作为 Rust 的更新原则。自 1.0 版本以来,一旦一个功能在稳定版上发布,Rust 就会承诺在未来的所有版本中支持该功能。然而,有些时候,必须对语言做一些不向后兼容的改动,...

TeamCity 2021.1 RC 发布,持续集成工具

Posted: 11 May 2021 03:41 PM PDT

TeamCity 2021.1 RC 现已发布,本 RC 是 TeamCity Early Access Program 2021.1 的最后阶段,用户已经可以在早期访问模式下试用该版本的最新功能。以下是主要更新内容。 自定义自动触发的构建 构建触发器现在支持自定义参数。在构建触发器的设置中,用户可以找到新的构建定制标签。与 "运行自定义构建 "对话框类似,它可...

不理解 Java Steam?一步步梳理其工作方式

Posted: 11 May 2021 02:40 AM PDT

Java Stream 已经出现很长时间了,但很多Java程序员还是不理解它的工作方式。 不会 Stream 不要紧,我们开发的时候可以不用 Stream,但理解 Stream 是咋回事还是非常必要的,至少得能看懂别人代码中的 Steam 是吧。 下面就通过一段代码,逐条说明每行代码的含义,然后再对照一下不使用 Stream 的用法,之后就可以轻松理解...

30 秒完美实现 Request 中"携带"用户信息,提升 10 倍性能方案

Posted: 09 May 2021 01:24 AM PDT

点击python编程从入门到实践,置顶 公众号重磅 python入门资料,第一时间送达 读完需要4分钟 速读仅需 2 分钟 / python 30 秒完美实现 Request 中"携带"用户信息,提升 10 倍性能方案 / 之前在 大型 fastapi 项目实战 靠 python 中间件解决方案涨薪了 一文中 详细的介绍了通过中间件的方式去处理请求中的一些 case,没有...

Java 中 RMI 的使用

Posted: 10 May 2021 05:39 PM PDT

![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/878d09530dc44714addbe6be139e462d~tplv-k3u1fbpfcp-zoom-1.image) ## RMI 介绍 **RMI (Remote Method Invocation)** 模型是一种分布式对象应用,使用 **RMI** 技术可以使一个 JVM 中的对象,调用另一个 JVM 中的对象方法并获取调用结果。这里的另一个 JVM 可以在...

Tars-Java客户端源码分析

Posted: 08 May 2021 12:48 AM PDT

一、基本RPC框架简介 在分布式计算中,远程过程调用(Remote Procedure Call,缩写 RPC)允许运行于一台计算机的程序调用另一个地址空间计算机的程序,就像调用本地程序一样,无需额外地为这个交互作用涉及到的代理对象构建、网络协议等进行编程。 一般RPC架构,有至少三种结构,分别为注册中心,服务提供者和服务消费者...

分页机制是如何建立起来的?地址如何转换?

Posted: 10 May 2021 05:49 PM PDT

![本文导图](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/5aec57e54e5343c8b3517fa6deb4f8cd~tplv-k3u1fbpfcp-zoom-1.image) ## 1、逻辑地址,线性地址,虚拟地址,物理地址傻傻分不清? ### (1)逻辑地址 在IA-32架构下,分段是必须的,而分页并不是必须的。不论分页与否,**访问内存都必须采用"段基址:段内偏...

Linux内核中断之中断初始化

Posted: 10 May 2021 09:03 PM PDT

本文基于RockPI 4A单板Linux4.4内核介绍中断初始化流程。 一、内核中断初始化 文件:kernel\init\main.c。 Linux内核中断初始化流程如下: start_kernel()-> init_IRQ()-> irqchip_init()-> of_irq_init(__irqchip_of_table) ## 扫描和初始化设备树中的中断控制器("interrupt-controller") ...

仅用一个ThreadLocal,就把面试官说服的明明白白!

Posted: 08 May 2021 11:22 PM PDT

# 开场 杭州某商务楼里,正发生着一起求职者和面试官的battle。 **面试官**:你先自我介绍一下。 **安琪拉**:面试官你好,我是草丛三婊,最强中单(妲己不服),草地摩托车车手,第21套广播体操推广者,火的传人安琪拉,这是我的简历,请过目。 **面试官**:看你简历上写熟悉多线程编程,熟悉到什么程度? **安琪拉**:...

码农飞升记-03-OpenJDK是什么?

Posted: 09 May 2021 02:26 AM PDT

在前面几篇 [Java是什么?](https://my.oschina.net/HeavenZhi/blog/4771111) 和 [OracleJDK是什么?OracleJDK的版本怎么选择?](https://my.oschina.net/HeavenZhi/blog/5038661) 中我们了解了 Java 的概念以及 Oracle JDK 是什么、怎么选择适合自己的 Oracle JDK 。 这时我们就发现想要最新技术且对 JDK 稳定性有要求,还...

禅道 ZTF 发布 2.3 版本,优化用例描述格式。

Posted: 09 May 2021 11:48 PM PDT

2019年11月发布2.0版本之后,ZTF受到了禅道新老用户以及自动化测试人员的广泛关注。近年来,持续集成和DevOps在行业中的运用越发广泛,二者在缩短测试周期、提高测试效率和产品发布质量方面,起到了日益重要的作用。 为了更好地服务于用户,我们在2.2版本中,支持了单元、自动化测试有关框架和工具;这次发布2.3版本,主...

面试官从Dubbo泛化调用问到设计模式,我们聊了三十分钟

Posted: 09 May 2021 01:53 AM PDT

欢迎大家关注公众号「JAVA前线」查看更多精彩分享文章,主要包括源码分析、实际应用、架构思维、职场分享、产品思考等等,同时欢迎大家加我个人微信「java_front」一起交流学习 1 泛化调用实例 对于JAVA服务端开发者而言在使用Dubbo时并不经常使用泛化调用,通常方法是在生产者发布服务之后,消费者可以通过引入生产者提...

10个 解放双手的 IDEA 插件,这些代码都不用写(第二弹)

Posted: 09 May 2021 07:14 PM PDT

>本文案例收录在 https://github.com/chengxy-nds/Springboot-Notebook **大家好,我是小富~** 鸽了很久没发文,不写文章的日子真的好惬意,每天也不用愁着写点什么,不用为那点可怜的阅读量发愁,不那么熬夜,留出了更多时间陪家人。 不过,惬意过后就是极度的焦虑,看着圈子里这些卷怪朋友们没日没夜的更文,比你优秀的...

Sa-Token v1.19.0 发布,轻量级权限认证框架

Posted: 09 May 2021 05:23 PM PDT

Sa-Token是一个轻量级Java权限认证框架,主要解决:登录认证、权限认证、分布式Session会话、单点登录、OAuth2.0 等一系列权限相关问题。 框架针对踢人下线、自动续签、前后台分离、分布式会话……等常见业务进行N多适配,通过sa-token,你可以以一种极简的方式实现系统的权限认证部分 Sa-Token v1.19.0 版本更新包括以下...

PrettyZoo V1.9.0,值得首选的 Zookeeper 桌面工具

Posted: 09 May 2021 05:22 PM PDT

Hello,距离上个版本 Release 已经过去了一个月,新版总算是支持了国际化(TODO 了好几个版本),也调整和优化了操作体验,强烈建议升级。 简介:PrettyZoo 是一款基于 JavaFX 实现的 Zookeeper 桌面图形化工具,不仅颜值极高,而且功能齐全,支持 Windows / Mac / Linux 等主流平台。 新版特性 feature:国际化支持,目...

FreeFileSync 11.10 发布,文件夹比较与同步软件

Posted: 09 May 2021 04:40 PM PDT

FreeFileSync 是一款开源软件,适用于 Windows、macOS 和 Linux。FreeFileSync 本质是一个用于文件夹对比和同步的软件,它可以创建和管理所有重要文件的备份副本。FreeFileSync 不是每次都复制每个文件,而是确定源文件夹和目标文件夹之间的差异,并只传输所需的最低数据量。 FreeFileSync 11.10 更新内容如下: 同步前进...

Druid 1.2.6 发布,增强 SQL Parser,修复连接池在特定场景异常的问题

Posted: 09 May 2021 04:37 PM PDT

Druid 1.2.6 版本现已发布,这又是一个 bug 修复版本,主要是修复连接池在特定场景的一些异常问题,还有 SQL Parser 的增强。 Issues 修复连接池LogFilter JDK 8日期类型LocalDateTime/LocalDate在日志输出时格式不对的问题 #4174 修复连接池在close后创建中的连接没有被关闭的问题 #4196 #4195 修复连接池在MySQL服务器...

Puma 5.3.0 发布,关注高并发的 Ruby HTTP 服务器

Posted: 09 May 2021 04:00 PM PDT

Puma 是一个简单、快速、线程化并且关注高并发的 HTTP 1.1 服务器,适用于开发和生产中的 Ruby/Rack 应用。 Puma 5.3.0 正式发布,该版本更新内容如下: 特性: 增加对 Linux 抽象套接字的支持 ([#2564], [#2526]) 增加对 worker 超时和启动的调试 ([#2559], [#2528]) 运行 one-worker 集群时打印警告 ([#2565], [#2534...

JDK1.8 新特性 (三):Lambda 表达式,让你爱不释手

Posted: 09 May 2021 02:25 AM PDT

1、什么是Lambda表达式 Lambda表达式是一种匿名函数,基于数学中的λ演算得名,简单地说,它是没有声明的方法,即:没有名称,但它有参数列表、方法主体、返回类型,可能还有可以抛出的异常。 它可以写出更简洁、更灵活的代码。作为一种更紧凑的代码风格,使Java语言的表达能力得到了提升。 例如,拥有People对象的List集...

No comments:

Post a Comment