java技术圈 为您找到相关结果 225

Spark(五)Spark任务提交方式和执行流程 - Frankdeng

一、Spark中的基本概念 (1)Application:表示你的应用程序 (2)Driver:表示main()函数,创建SparkContext。由SparkContext负责与ClusterManager通信,进行资源的申请,任务的分配和监控等。程序执行完毕后关闭SparkContext (3)Executor:某个Application运行在Worker节点上的一个进程,该进程负责运行某些task,并且负责将数据存在内存或者磁盘上。在Spark on Yarn模式下,其进程名称为 CoarseGrainedExecutor Backend,一个CoarseGrainedExecutor Backend进程有且仅有一个executor对象,它负责将Task包装成taskRunner,并从...阅读全文

博文 2019-11-27 06:07:44 博客园

JVM1.8参数大全

前言碎语 JVM内存模型,java GC垃圾内存回收,Jvm性能调优等等是个老生常谈的话题,故将官方JVM参数详情直译(Google翻译)记录在此,以备做jvm参数调优之时方便查询,同时给大家提供便利 jvm1.8参数详情: -Xcomp 在第一次调用时强制编译方法。默认情况下,客户端VM(-client)执行1,000个已解释的方法调用,Server VM(-server)执行10,000个已解释的方法调用以收集有效编译的信息。指定该-Xcomp选项会禁用已解释的方法调用,从而以牺牲效率为代价来提高编译性能。 您还可以使用该-XX:CompileThreshold选项在编译之前更改已解释的方法调用的数量。 -Xloggc:filename 设置应将重定向的GC事件信息重定向到的文件以进行日...阅读全文

博文 2020-07-28 06:52:44 jvm性能调优速查手册 | KL博客

我理解的Linux IO模式及select,poll,epoll

前言 本文是在本人查阅部分资料,并综合了众多博客分析后,于此阐述的个人理解。若有错误,欢迎指正。 基本概念 用户空间和内核空间 操作系统核心-内核负责处理用户程序和硬件之间的驱动交互。内核是在用户程序(进程)和硬件之间一个中枢。目地:专门负责用户进程和硬件之间的交互,用户程序必须使用内核才能和计算机底层硬件进行交流。为了保证内核的安全,于是将内存划分开,比如针对linux 4G的内存空间,将最高的1G字节(从虚拟地址0xC0000000到0xFFFFFFFF),供内核使用,称为内核空间,而将较低的3G字节(从虚拟地址0x00000000到0xBFFFFFFF),供各个进程使用,称为用户空间。 进程切换 内核操作CPU上运行的进程,比如把正在CPU上运行的A进程切换为B进程,让另外一个进程等待...阅读全文

博文 2019-04-04 09:56:41 www.allocmem.com

X,X11,Xorg,XServer,XClient,Xlib_混沌的博客

1.X 就是 X Window System ,1984年由MIT研发,它的设计哲学之一是:提供机制,而非策略。 主要特点:1,Server/Client网络模型。2,通过扩展使它保持”与时俱进”。 Linux内核是没有GUI图形显示的,X Window的目标就是提供GUI的显示。 为啥要命名为X呢,因为英文字母X就在W(indow)后面,戏称为下一版的新视窗之意。XFree86 『 X + Free software + x86硬件 』 @在 Unix Like 上面的圖形使用者介面 (GUI) 被稱為 X 或 X11; @X11 是一個『軟體』而不是一個作業系統; @X11 是利用网络架构来进行图形界面的执行与绘制; @較著名的 X 版本為 X11R6 這一版,目前大部分的 X 都是這一...阅读全文

博文 2020-07-13 02:31:53 CSDN博客_xorg

JVM 系列文章之 Full GC 和 Minor GC

Full GC Full GC 就是收集整个堆,包括新生代,老年代,永久代(在JDK 1.8及以后,永久代会被移除,换为metaspace)等收集所有部分的模式 RednaxelaFX大在Major GC和Full GC的区别是什么?触发条件呢?- 知乎这个问题有关于 GC分类的回答: 针对 HotSpot VM的实现,它里面的GC其实准确分类有两种: Partial GC(局部 GC): 并不收集整个 GC 堆的模式 Young GC: 只收集young gen的GC,Young GC还有种说法就叫做 "Minor GC" Old GC: 只收集old gen的GC。只有垃圾收集器CMS的concurrent collection 是这个模式 Mixed GC: 收集整个young gen...阅读全文

博文 2019-11-27 07:00:30 掘金

模式匹配 · 傻瓜函数式编程 · 看云

## 模式匹配 模式匹配并不是什么新功能。而事实上它和函数式编程也没有什么太大的关系。它之所以常常被认为是FP的一个特性,是因为在函数式语言已经支持模式匹配很长一段时间后的今天,指令式语言是还没有这个功能。 还是直接用例子来看看什么是模式匹配吧,这是一个用Java写的Fibonacci函数: ~~~ int fib(int n) { if(n == 0) return 1; if(n == 1) return 1; return fib(n - 2) + fib(n - 1); } ~~~ 再看看用我们基于Java修改过的新语言写出来的Fibonacci函数,这种新语言就支持模式匹配: ~~~ int fib(0) { return 1; } int fib(1) { return 1; }...阅读全文

博文 2019-08-17 02:21:05 www.kancloud.cn

【协议】MQTT、CoAP、HTTP比较,MQTT协议优缺点_bandaoyu的博客

目录 MQTT、CoAP、HTTP区别 1. 协议栈: 2. 请求方式 3. 通讯消息格式: 4. 使用特点与使用场景 5.客户端平台差异 6.防火墙容错 MQTT、CoAP、HTTP介绍 CoAP协议 简介 CoAP与MQTT的区别: HTTP协议 简介 HTTP与CoAP的区别 MQTT协议 简介 特性 对于传统的HTTP和MQ协议,MQTT的优势在哪里呢? MQTT协议的缺陷以及MQTT+概念的提出 MQTT、CoAP、HTTP区别 从这几个层面进行比较与描述: 1. 协议栈: MQTT: TCP 长链接, CoAP: UDP 低功耗短连接, HTTP: TCP 2. 请求方式 MQTT: 发布订阅, CoAP: request/ response, HTTP: request/ re...阅读全文

博文 2021-08-26 08:46:26 CSDN博客

正则表达式中?=和?:和?!的理解_这个昵称没有被占用吧的博客

正则表达式 ?: 的理解 swinm的博客 07-24 563 ?: 是 不想被捕获的时候使用 比如 ([a-z][0-9])+ 这个正则表达式里 ( ) 里面的内容被捕获了, 反向引用的时候可以用上 。 一般正则替换的时候用的多 像UBB代码 但是 如果写成 (?:[a-z][0-9])+ 跟上面 正则表达式 整体匹配是一样的 就是 不会捕获 ( )里内容了。 也就是不能使用 反向引用 比如 PHP 手册里 有个 正则替换的函数 preg_replace 有的列子 $string = 'April 15, 2003'; $pattern = '/(... 欢迎查看正则表达式(?!), (?:), (?=)的区别(正则预查) gx_dmm的博客 08-24 599 正则表达式 (?!), (...阅读全文

博文 2022-07-21 06:13:57 CSDN博客_正则表达式?!

java - Elasticsearch Java客户端初始化失败

我在尝试运行连接到Elasticsearch的应用程序时收到此错误消息。An attempt was made to call the method org.elasticsearch.client.RestHighLevelClient.(Lorg/elasticsearch/client/RestClientBuilder;)V but it does not exist. Its class, org.elasticsearch.client.RestHighLevelClient, is available from the following locations: jar:file:/path/application/target/application-0.0.1-S...阅读全文

博文 2020-11-24 11:12:37 IT工具网

30张图解: TCP 重传、滑动窗口、流量控制、拥塞控制 - 小林coding

前言 前一篇「硬不硬你说了算!近 40 张图解被问千百遍的 TCP 三次握手和四次挥手面试题」得到了很多读者的认可,在此特别感谢你们的认可,大家都暖暖的。 来了,今天又来图解 TCP 了,小林可能会迟到,但不会缺席。 迟到的原因,主要是 TCP 巨复杂,它为了保证可靠性,用了巨多的机制来保证,真是个「伟大」的协议,写着写着发现这水太深了。。。 本文的全部图片都是小林绘画的,非常的辛苦且累,不废话了,直接进入正文,Go! 正文 相信大家都知道 TCP 是一个可靠传输的协议,那它是如何保证可靠的呢? 为了实现可靠性传输,需要考虑很多事情,例如数据的破坏、丢包、重复以及分片顺序混乱等问题。如不能解决这些问题,也就无从谈起可靠传输。 那么,TCP 是通过序列号、确认应答、重发控制、连接管理以及窗口控...阅读全文

博文 2021-08-26 04:09:30 博客园

操作系统管理内存的机制——为什么要设置虚拟内存? - wj_hubei

在进入正题前先来谈谈操作系统内存管理机制的发展历程,了解这些有利于我们更好的理解目前操作系统的内存管理机制。 一 早期的内存分配机制 在早期的计算机中,要运行一个程序,会把这些程序全都装入内存,程序都是直接运行在内存上的,也就是说程序中访问的内存地址都是实际的物理内存地址。当计算机同时运行多个程序时,必须保证这些程序用到的内存总量要小于计算机实际物理内存的大小。那当程序同时运行多个程序时,操作系统是如何为这些程序分配内存的呢?下面通过实例来说明当时的内存分配方法: 某台计算机总的内存大小是128M,现在同时运行两个程序A和B,A需占用内存10M,B需占用内存110。计算机在给程序分配内存时会采取这样的方法:先将内存中的前10M分配给程序A,接着再从内存中剩余的118M中划分出110M分配给程...阅读全文

Golang - 调度剖析【第二部分】 - Golang 攻略

回顾本系列的第一部分,重点讲述了操作系统调度器的各个方面,这些知识对于理解和分析 Go 调度器的语义是非常重要的。在本文中,我将从语义层面解析 Go 调度器是如何工作的,并重点介绍其高级特性。Go 调度器是一个非常复杂的系统,我们不会过分关注一些细节,而是侧重于剖析它的设计模型和工作方式。我们通过学习它的优点以便够做出更好的工程决策。 开始 当 Go 程序启动时,它会为主机上标识的每个虚拟核心提供一个逻辑处理器(P)。如果处理器每个物理核心可以提供多个硬件线程(超线程),那么每个硬件线程都将作为虚拟核心呈现给 Go 程序。为了更好地理解这一点,下面实验都基于如下配置的 MacBook Pro 的系统。 可以看到它是一个 4 核 8 线程的处理器。这将告诉 Go 程序有 8 个虚拟核心可用于并...阅读全文

博文 2019-06-18 07:15:00 SegmentFault 思否

聊聊 TCP 长连接和心跳那些事 | 徐靖峰

前言可能很多 Java 程序员对 TCP 的理解只有一个三次握手,四次握手的认识,我觉得这样的原因主要在于 TCP 协议本身稍微有点抽象(相比较于应用层的 HTTP 协议);其次,非框架开发者不太需要接触到 TCP 的一些细节。其实我个人对 TCP 的很多细节也并没有完全理解,这篇文章主要针对微信交流群里有人提出的长连接,心跳问题,做一个统一的整理。 在 Java 中,使用 TCP 通信,大概率会涉及到 Socket、Netty,本文将借用它们的一些 API 和设置参数来辅助介绍。 长连接与短连接TCP 本身并没有长短连接的区别 ,长短与否,完全取决于我们怎么用它。 短连接:每次通信时,创建 Socket;一次通信结束,调用 socket.close()。这就是一般意义上的短连接,短连接的好...阅读全文

博文 2019-12-23 03:56:40 个人博客

企业如何选择合适的SaaS软件?

随着新一轮SaaS风潮的到来,企业对SaaS软件的接受度不断提高。 根据国际咨询公司Gartner的研究报告显示,2020年有36%的企业将使用云技术来支持超过企业一半的交易。 你是否正在考虑将企业业务迁移到云端,是否正在为寻找合适的SaaS软件而烦恼? 接下来,与CORNERSTONE一起探讨企业该如何选择合适的SaaS软件。 一、什么是SaaS? ![image.png](https://img-blog.csdnimg.cn/20200703144121174.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxMTM3...阅读全文

CPU漏洞之后 Ring 0究竟什么鬼?

最近一段时间CPU漏洞的新闻可谓让人惊诧不已,一个最不可能、最不能被允许的关键设备竟然有硬件漏洞!这几天PC厂商最忙的事情就是推出补丁,用软件方式弥补硬件漏洞的错误。而且,这些措施还会导致CPU性能下降。但是这个漏洞究竟影响什么?你真需要为此而担忧吗? 漏洞是真但不必害怕 漏洞存在这是千真万确的事情,但是你也不需要为此而担心——这个被证实影响了十几年来几乎大部分CPU的硬件缺陷确实存在,只是这个漏洞的技术细节没有(也不可能)公之于众。 事情要从去年说起,谷歌旗下的Project Zero团队发现了一些由CPU“预测执行”(Speculative Execution)引发的芯片级漏洞,“Spectre”(变体1和变体2:CVE-2017-5753和CVE-2017-5715)和“Meltdow...阅读全文

博文 2020-03-20 15:14:34 m.cfan.com.cn

为什么华为、百度纷纷选择OKR,放弃KPI?

![image.png](https://img-blog.csdnimg.cn/20200430154149291.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxMTM3NDkz,size_16,color_FFFFFF,t_70) 近几年,OKR 这个词越来越流行了。 OKR由intel首创,在 Google 使用后被推广,接着华为、百度等国内知名公司也都积极引入。 2017年,华为内部的一次绩效满意度调查中显示:开展OKR的团队在绩效管理各维度的满意度全面高于采用传统绩效管理方法的团队。 带团队、打硬仗,你们公司的...阅读全文

博文 2020-04-30 08:19:35 CORNERSTONE

Spring AOP基于注解的Around通知

@Around是一种建议类型,可确保方法执行前后的通知可以运行。 以下是@Around通知的语法: 语法 @Pointcut("execution(* com.yiibai.Student.getAge(..))") private void selectGetName(){} @Around("selectGetAge()") public void aroundAdvice(ProceedingJoinPoint proceedingJoinPoint){ System.out.println("[aroundAdvice] Around advice"); Object[] args=jp.getArgs(); if(args.length>0){ System.out.print("...阅读全文

博文 2020-04-23 06:23:23 Spring AOP教程™

HBase教程™

自1970年以来,关系数据库用于数据存储和维护有关问题的解决方案。大数据的出现后,好多公司实现处理大数据并从中受益,并开始选择像 Hadoop 的解决方案。 Hadoop使用分布式文件系统,用于存储大数据,并使用MapReduce来处理。Hadoop擅长于存储各种格式的庞大的数据,任意的格式甚至非结构化的处理。 Hadoop的限制 Hadoop只能执行批量处理,并且只以顺序方式访问数据。这意味着必须搜索整个数据集,即使是最简单的搜索工作。 当处理结果在另一个庞大的数据集,也是按顺序处理一个巨大的数据集。在这一点上,一个新的解决方案,需要访问数据中的任何点(随机访问)单元。 Hadoop随机存取数据库 应用程序,如HBase, Cassandra, couchDB, Dynamo 和 Mong...阅读全文

博文 2020-05-15 08:17:49 www.yiibai.com

Spring 异步任务的创建、自定义配置和原理

1 Spring 版本 5.1.4.RELEASE 2 基本使用 2.1 开启对异步任务的支持 @EnableAsync和@Configuration类一起使用,如下所示,为整个Spring应用程序上下文启用注释驱动的异步处理 @Configuration @EnableAsync public class AppConfig { } 复制代码2.2 编写异步任务 @Component public class EmailService { @Async //无返回类型 public void send(String from, String to, String subject, String text) { //do send } @Async //有返回类型 public Future...阅读全文

博文 2020-11-03 03:55:34 juejin.im

MapReduce 数据倾斜原因和解决方案_一次次尝试

MapReduce简介 MapReduce是面向大数据并行处理的计算模型、框架和平台,它隐含了以下三层含义: 1)MapReduce是一个基于集群的高性能并行计算平台(Cluster Infrastructure)。它允许用市场上普通的商用服务器构成一个包含数十、数百至数千个节点的分布和并行计算集群。 2)MapReduce是一个并行计算与运行软件框架(Software Framework)。它提供了一个庞大但设计精良的并行计算软件框架,能自动完成计算任务的并行化处理,自动划分计算数据和计算任务,在集群节点上自动分配和执行任务以及收集计算结果,将数据分布存储、数据通信、容错处理等并行计算涉及到的很多系统底层的复杂细节交由系统负责处理,大大减少了软件开发人员的负担。 3)MapReduce是一...阅读全文

博文 2021-02-22 04:44:09 CSDN博客_mapreduce数据倾斜原因

集成JMX

在Spring中,可以方便地集成JMX。 那么第一个问题来了:什么是JMX? JMX是Java Management Extensions,它是一个Java平台的管理和监控接口。为什么要搞JMX呢?因为在所有的应用程序中,对运行中的程序进行监控都是非常重要的,Java应用程序也不例外。我们肯定希望知道Java应用程序当前的状态,例如,占用了多少内存,分配了多少内存,当前有多少活动线程,有多少休眠线程等等。如何获取这些信息呢? 为了标准化管理和监控,Java平台使用JMX作为管理和监控的标准接口,任何程序,只要按JMX规范访问这个接口,就可以获取所有管理与监控信息。 实际上,常用的运维监控如Zabbix、Nagios等工具对JVM本身的监控都是通过JMX获取的信息。 因为JMX是一个标准接口,...阅读全文

博文 2021-11-18 07:17:50 廖雪峰的官方网站

分布式一致性之两阶段提交协议、三阶提交协议

前言最近在学习一些分布式系统中的基础知识,看到了前人总结的非常好的博客。在作者申明可以转载的情况下,将它们转载到自己的专栏。既为了建立一个完整的知识体系,也为了更好的理解原文。接下来的篇幅末尾,会将参考的篇幅列举出来,感兴趣的可以读一下参考的博客。笔者是在前人博客的基础上,加上自己的理解和适当的配图,使得文章更易理解。原文内容随着大型网站的各种高并发访问、海量数据处理等场景越来越多,如何实现网站的高可用、易伸缩、可扩展、安全等目标就显得越来越重要。为了解决这样一系列问题,大型网站的架构也在不断发展。提高大型网站的高可用架构,不得不提的就是分布式。在分布式一致性一文中主要介绍了分布式系统中存在的一致性问题。本文将简单介绍如何有效的解决分布式的一致性问题,其中包括什么是分布式事务,二阶段提交和三...阅读全文

博文 2020-02-21 14:59:51 知乎

mac提示文件已损坏的处理方法_sudo xattr -r -d com.apple.quarantine_qq_32526375的博客

用户在使用mac系统安装或下载一些软件应用时,偶尔会出现“XXX软件已损坏”的情况,下面就来教大家遇到这种情况怎么解决: 1、MacOS 10.15及以上新系统出现应用提示损坏打不开的解决方法: 打开终端(屏幕下方Dock栏中的的小火箭图标“启动台”——“其他”——打开“终端”),在终端中粘贴下面命令: sudo xattr -r -d com.apple.quarantine (* quarantine 后面有个空格) 打开屏幕下方的“访达(笑脸图标)”—选择左侧边栏的“应用程序”,再找到你需要处理的软件拖拽到命令后面,按回车后输入密码执行,举个例子,比如需要打开sketch应用的命令是: sudo xattr -r -d com.apple.quarantine /Application...阅读全文

博文 2023-09-13 16:37:45 CSDN博客

linux删除文件后没有释放空间_冰刀(skate)

author:skatetime:2009/12/09 linux删除文件后没有释放空间 今天发现一台服务器的home空间满了,于是要清空无用的文件,当我删除文件后,发现可用空间没有变化 os:centos4.7 现象: 发现当前磁盘空间使用情况: [root@ticketb ~]# df -hFilesystem Size Used Avail Use% Mounted on/dev/sda1 981M 203M 729M 22% /none 16G 0 16G 0% /dev/shm/dev/sda9 2.9G 37M 2.7G 2% /tmp/dev/sda7 4.9G 1.9G 2.7G 42% /usr/dev/sda8 2.9G 145M 2.6G 6% /var/dev/map...阅读全文

博文 2021-01-28 12:07:43 CSDN博客_linux 删除文件没有释放空间

P2P通信原理与实现

当今互联网到处存在着一些中间件(Middle Boxes),如NAT和防火墙,导致两个(不在同一内网)中的客户端无法直接通信. 这些问题即便是到了IPV6时代也会存在,因为即使不需要NAT,但还有其他中间件如防火墙阻挡了链接的建立. 目前部署的中间件多都是在C/S架构上设计的,其中相对隐匿的客户机主动向周知的服务端(拥有静态IP地址和DNS名称)发起链接请求. 大多数中间件实现了一种非对称的通讯模型,即内网中的主机可以初始化对外的链接,而外网的主机却不能初始化对内网的链接, 除非经过中间件管理员特殊配置. 前言 在中间件为常见的NAPT的情况下(也是本文主要讨论的),内网中的客户端没有单独的公网IP地址, 而是通过NAPT转换,和其他同一内网用户共享一个公网IP. 这种内网主机隐藏在中间件后...阅读全文

博文 2021-10-08 12:31:49 evilpan

Windows线程管理和调度机制概述_m_buddy的博客

1. 线程管理 (1)线程,有时被称为轻量级进程,是程序执行流的最小单元。一个标准的线程由线程ID,当前指令指针,寄存器集合和堆栈组成。另外,线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。 (2)进程(Process)定义了一个执行环境,包括它自己私有的地址空间、一个句柄表,以及一个安全环境;线程(thread)则是一个控制流,有自己的调用栈(call stack),记录了执行的历史。每个进程都包含一个或多个线程,当进程被初始化创建时系统为该进程创建第一个线程;当最后一个线程结束时,进程也随之结束。 说道这里就需要说到线程的工作模式: 进程中的线程既可以在用户模式下运...阅读全文

博文 2020-07-14 02:25:32 CSDN博客_windows线程调度

free命令中的buffer和cached的比较

free命令中的buffer和cached的比较最近在搞监控,突然看到我系统的内存要用完了,赶紧登录服务器看看,~]# dstat -m 16G内存就剩1G了。怎么回事,然后用free命令看了下~]# free -m 原来是cached占用较多,真正用的只有6773M,空闲是9307M。但是还是对cached占用这么多比较担心,所以就查了下,下面文章转载至http://blog.csdn.net/beacherlu/article/details/45871489经常遇到一些刚接触Linux的新手会问内存占用怎么那么多? 在Linux中经常发现空闲内存很少,似乎所有的内存都被系统占用了,表面感觉是内存不够用了,其实不然。这是linux内存管理的一个优秀特性,在这方面,区别于Windows的内...阅读全文

xinit启动X Window System过程_xb_0916的专栏

此文完全来自http://www.52z.com/info/html/26120.html,我没有进行任何修改!现对作者表示深切谢意! 启动X主要有两种方法:一是Display Manager,如XDM、GDM、KDM,此种方法通过图形界面登录;另一种是通过xinit,此种方法适用于字符界面登录。我们常用于登录X的startx命令也是通过传递参数给xinit来启动X的,也就是说,最终启动X的是xinit。startx只是一个bash脚本。下面主要分析xinit一下初始化X的过程: 首先来看一看xinit命令的用法: xinit [[client] options ] [-- [server] [display] options] 可以看出,xinit初始化X是通过两个层面来进行的,即X cl...阅读全文

博文 2020-07-13 02:30:09 CSDN博客_xinit xinitx

GROUP BY

# GROUP BY # description GROUP BY GROUPING SETS | CUBE | ROLLUP 是对 GROUP BY 子句的扩展,它能够在一个 GROUP BY 子句中实现多个集合的分组的聚合。其结果等价于将多个相应 GROUP BY 子句进行 UNION 操作。 GROUP BY 子句是只含有一个元素的 GROUP BY GROUPING SETS 的特例。 例如,GROUPING SETS 语句: SELECT a, b, SUM( c ) FROM tab1 GROUP BY GROUPING SETS ( (a, b), (a), (b), ( ) ); 其查询结果等价于: SELECT a, b, SUM( c ) FROM tab1 GROUP ...阅读全文

博文 2021-04-17 06:03:08 Apache Doris

JAVA8 之 Lambda 表达式与方法引用(二) - 当年明月123

在上一章我们介绍了函数式编程的概念和函数式接口。Lambda 表达式就是函数式编程的具体体现,它需要借助函数式接口才能应用在 Java 语言中。 定义 在编程语言中,lambda 表达式是一种用于指定匿名函数或者闭包的运算符。Lambda 可以很清晰地表达一个匿名函数,可以被传递。有了 Lambda 表达式之后,Lambda 表达式为 Java 添加了缺失的函数式编程特性,使我们能将函数当作一等公民看待。 在将函数作为一等公民的语言中,Lambda 表达式的类型是函数。但在 Java 中,Lambda 表达式是对象,他们必须依附于一类特别的对象类型-函数式接口,因为 Java 要保持向后兼容。 Java 的 Lambda 表达式是一种匿名函数,它是没有声明的方法,即没有访问修饰符,返回值声明...阅读全文

博文 2020-06-09 10:50:30 博客园

Linux网络编程 | 并发模式:半同步/半异步模式、领导者/追随者模式

文章目录 同步与异步 半同步/半异步模式 变体:半同步/半反应堆模式 改进:更高效的半同步/半异步模式 领导者/追随者模式 组件 :句柄集、线程集、事件处理器 并发模式是指I/O处理单元和多个逻辑单元之间协调完成任务的方法。服务器主要有两种并发编程模式:半同步/半异步模式(half-sync/half-async)模式和领导者/追随者(Leader/Followers)模式 同步与异步 首先在这里要指出,这里的"同步"和“异步”与I/O模型中的”同步I/O“与“异步I/O”是两个完全不同的概念,不能将其混淆。 在I/O模型中,”同步I/O“和”异步I/O“主要的区别就是内核向应用程序通知的是哪种I/O事件(就绪事件/完成事件),以及由谁来完成I/O的读写操作(应用程序/内核)。 同步I/O:...阅读全文

博文 2021-08-16 07:49:23 码农家园

SpringCloudAlibaba高并发仿斗鱼直播平台实战

## SpringCloudAlibaba高并发仿斗鱼直播平台实战 download:https://www.zxit666.com/6371/ Dubbo服务调用原理剖析 段落一:简介 Dubbo是一款高性能、轻量级的分布式服务框架,主要用于解决分布式应用中的服务调用和管理问题。它提供了多种通信协议和负载均衡策略,支持服务的注册与发现、远程调用和容错处理等功能。 段落二:服务注册与发现 在Dubbo中,服务注册与发现是实现服务调用的基础。当服务提供者启动时,它会将自己的地址信息注册到注册中心。而服务消费者则从注册中心获取提供者的地址,并建立与提供者的连接。Dubbo支持多种注册中心,如Zookeeper、Consul等,通过注册中心的协调,实现了服务的动态发现和路由。 段落三:远程调用 D...阅读全文

Presentify 4.1.5 Mac 破解版 屏幕注释和鼠标高亮工具

Presentify Mac 破解版是mac上一款实用的屏幕绘制标注和鼠标高亮工具,可让您注释任何屏幕,突出显示光标等等,从而帮助您提供更好的演示。Presentify破解版是视频录制、教学视频的最佳工具。 [Presentify 在Mac App Store售价 30.00 元] Presentify 4.1.5 Mac 破解版 介绍 Presentify 是一个macOS菜单栏应用程序,可让您注释任何屏幕,突出显示光标等等,从而帮助您提供更好的演示,在线课程或视频教程。您可以在屏幕上注释任何内容,例如图像,视频,pdf,代码等。Presentify对于在线教学,录制视频教程,进行演示,远程工作等非常有用。 画在任何地方任何时候 您可以在任何屏幕上绘制或注释您希望。只需从菜单栏中选择“注释...阅读全文

博文 2023-10-13 10:32:37 麦氪搜(iMacSO.com)

[完结11章]技术大牛成长课,从0到1带你手写一个数据库系统

学习地址1:https://pan.baidu.com/s/1OWDu5fNq_BXRUbLGrxzpJw 提取码:tjty 学习地址2:https://share.weiyun.com/Tp6ewDIJ 密码:6crcwd 今天跟大家交流一下关于开发一款数据库系统的相关事宜,从零开始,手把手带着大家一步步去实现这个功能,希望对大家有所帮助。 数据库系统是为适应数据处理的需要而发展起来的一种较为理想的数据处理系统,也是一个为实际可运行的存储、维护和应用系统提供数据的软件系统,是存储介质 、处理对象和管理系统的集合体。 数据库系统DBS(Data Base System,简称DBS)通常由软件、数据库和数据管理员组成。其软件主要包括操作系统、各种宿主语言、实用程序以及数据库管理系统。数据库由数...阅读全文

系统玩转OpenGL+AI,实现各种酷炫视频特效

系统玩转OpenGL+AI,实现各种酷炫视频特效 视频课程分享——系统玩转OpenGL+AI,实现各种酷炫视频特效,附源码。大家下载学习。 OpenGL(英语:Open Graphics Library,译名:开放图形库或者“开放式图形库”)是用于渲染2D、3D矢量图形的跨语言、跨平台的应用程序编程接口(API)。这个接口由近350个不同的函数调用组成,用来从简单的图形比特绘制复杂的三维景象。而另一种程序接口系统是仅用于Microsoft Windows上的Direct3D。OpenGL常用于CAD、虚拟实境、科学可视化程序和电子游戏开发。 作为独立于操作系统的开放的三维图形的软件开发包,在其基础上开发的应用程序能够简单方便的移植于各种平台。其具有七大功能: 1. 建立3D模型:OpenGL...阅读全文

博文 2023-11-29 15:20:35 woaiwodejia333

[完结26章]Java主流分布式解决方案多场景设计与实战

![1.png](http://static.itsharecircle.com/231221/550e98b48493de30d73d64caedef007f.png) java中常用的分布式方法有哪些呢? 分布式系统分布式存储:GFS,HDFS(HBase) 分布式计算系统: MapReduce 消息中间件: Kafka 分布式处理管理器: Zookeeper RocketMQ : 负载均衡技术 分布式缓存技术: Redis 分布式锁 分布式系统设计 分布式优化策略 众所周知,随着互联网数据井喷式的发展,分布式技术应运而生。分布式因其高性能、高可用、高扩展的特点,成为微服务项目的基石。本篇文章将针对分布式六大主流问题进行多方案对比解析,多场景实战讲解,让大家深度掌握分布式原理和实战。我将...阅读全文

博文 2023-12-21 15:24:24 udbmaidns

javaagent是什么

-javaagent 是 JVM 的一个命令行参数,用于指定一个或多个 Java 代理(Java Agent)JAR 文件,这些代理可以在 JVM 启动时或运行时动态地插入到应用程序中,以监控或修改其行为。Java Agent 的基本概念Java Agent 是一种特殊的 Java 程序,它利用 JVM 提供的 Instrumentation API 进行字节码操作,可以在以下方面发挥作用:性能监控:通过插桩监控代码执行的性能。AOP(面向切面编程):动态地修改类的字节码,添加横切关注点。调试和分析:在运行时收集和分析应用数据。安全管理:增加 Java 安全管理功能。使用 -javaagent 参数-javaagent 允许你在 JVM 启动时加载一个或多个 Java Agent。它的基本语...阅读全文

博文 2024-06-20 16:51:17 zhidiantech

Prometheus入门与进阶实践(2024最新)|Prometheus教程

![1.png](http://static.itsharecircle.com/240222/58b101a66e5bd7067ba5d632da55363f.png) 今天给大家讲讲关于Prometheus的知识,我们先来看看Prometheus的基本概念。 一、那么什么是Prometheus呢? Prometheus 是一个开源的服务监控系统和时序数据库,其提供了通用的数据模型和快捷数据采集、存储和查询接口。它的核心组件Prometheus server会定期从静态配置的监控目标或者基于服务发现自动配置的自标中进行拉取数据,当新拉取到的数据大于配置的内存缓存区时,数据就会持久化到存储设备当中。 1.每个被监控的主机都可以通过专用的exporter 程序提供输出监控数据的接口,它会在目标...阅读全文

博文 2024-02-22 14:42:56 gugededeoe

C#+WPF模块化开发反应釜控制系统

![1.png](http://static.itsharecircle.com/240103/140f9fd119d2445ba6c54c1c5518872a.png) WPF(Windows Presentation Foundation)是微软推出的基于Windows 的用户界面框架,属于.NET Framework 3.0的一部分。它提供了统一的编程模型、语言和框架,真正做到了分离界面设计人员与开发人员的工作;同时它提供了全新的多媒体交互用户图形界面。 WPF(Windows Presentation Foundation)是由微软开发的桌面应用程序框架,用于创建现代化、高度交互和具有视觉吸引力的用户界面。它是 .NET Framework 的一部分,提供了一种基于 XAML(Ext...阅读全文

博文 2024-01-03 15:32:16 udbmaidns

一文读懂 Kubernetes 的 Limit 和 Request

作者:Carlos Arilla翻译:bot(才云)校对:星空下的文仔(才云)在生产环境中,如何设置 Kubernetes 的 Limit 和 Request 对于优化应用程序和集群性能至关重要。矛盾的是,分布式系统旨在解决应用程序之间的资源共享问题(例如 Kubernetes),但它们面临的挑战之一却是如何正确共享资源。在以前,应用程序通常被设计为独立运行,并可以使用现有的所有资源。但随着企业应用程序数量的急剧增长和对系统稳定、弹性要求的提升,新格局下,应用程序之间需要共享相同的资源,这使得资源合理配置成了一个硬性要求。命名空间配额众所周知,Kubernetes 是允许管理员在命名空间中指定资源 Request 和 Limit 的,这一特性对于资源管理限制非常有用。但它目前还存在一定局限:...阅读全文

博文 2023-09-20 19:48:24 知乎

分布式理论

# 分布式理论 - BASEBASE是“Basically Available, Soft state, Eventually consistent(基本可用、软状态、最终一致性)”的首字母缩写。其中的软状态和最终一致性这两种技巧擅于对付存在分区的场合,并因此提高了可用性。@pdai分布式理论 - BASE什么是BASECAP 与 BASE 关系CAP 与 ACID 关系# 什么是BASEeBay 的架构师 Dan Pritchett 源于对大规模分布式系统的实践总结,在 ACM 上发表文章提出 BASE 理论,BASE 理论是对 CAP 理论的延伸,核心思想是即使无法做到强一致性(Strong Consistency,CAP 的一致性就是强一致性),但应用可以采用适合的方式达到最终一致性(...阅读全文

博文 2023-11-23 14:11:14 BASE | Java 全栈知识体系

jvm监控指标 - 求其在我

# HELP jvm_gc_collection_seconds Time spent in a given JVM garbage collector in seconds.# TYPE jvm_gc_collection_seconds summary#这是一个Summary指标,与Histogram类似,可以对指标数据进行采样 # 并发收集器 CMS(Concurrent Mark-Sweep) 以牺牲吞吐量为代价来获得最短回收停顿时间的垃圾回收器对于要求服务器响应速度的应用上,这种垃圾回收器非常适合。CMS是用于对tenured generation的回收,也就是年老代的回收,目标是尽量减少应用的暂停时间,减少full gc发生的几率,利用和应用程序线程并发的垃圾回收线程来标记清除年...阅读全文

博文 2023-09-22 16:07:14 博客园

将个人PC转变为高效的云电脑:理论、实践与优化

本文分享自天翼云开发者社区《将个人PC转变为高效的云电脑:理论、实践与优化》,作者:不知不觉在数字化时代的今天,我们越来越依赖互联网和计算机技术进行工作和生活。然而,传统的个人电脑(PC)在使用过程中存在一些限制,例如硬件资源的利用率不高、数据安全难以保障等。为了解决这些问题,我们可以将个人PC转变为高效的云电脑,通过远程访问和共享的方式来提高资源利用率和数据安全性。本文将详细探讨这一主题,包括理论、实践和优化的方法。一、理解个人PC与云电脑个人PC是一种独立的计算机设备,通常由用户自行购买和维护。而云电脑是一种基于云计算技术的虚拟化平台,用户可以通过网络远程访问云服务器上的计算、存储等资源。通过将个人PC转变为云电脑,我们可以充分利用云计算的优势,提高资源利用率和数据安全性。二、个人PC变...阅读全文

WPF高级实战课程《知产代理数字化解决方案》下载

![1.png](http://static.itsharecircle.com/240123/1d72c61371203a3e2da89a98db643e4b.png) WPF概念: WPF即Windows Presentation Foundation,翻译为中文“Windows呈现基础”,是微软推出的基于Windows Vista的用户界面框架,属于.NET Framework 3.0的一部分。它提供了统一的编程模型、语言和框架,真正做到了分离界面设计人员与开发人员的工作;同时它提供了全新的多媒体交互用户图形界面。 WPF特点 1、统一的编程模型 WPF提供的编程模型统一普通控件、语音、视频、文档3D等技术,这些媒体类型能够统一协调工作,降低了我们的学习成本。 2、与分辨率无关 WPF...阅读全文

博文 2024-01-23 13:57:06 giadnbhaytgw

24章全-Qt 全流程实战企业级项目 - 云对象存储浏览器

![1.png](http://static.itsharecircle.com/240110/f02c8fb13dcc39d28e2d292d59c306b6.png) Qt向开发人员提供了可以轻松设计现代GUI和开发应用程序所必需的多种API。Qt可用于开发C++应用程序,也可使用Qt Quick进行开发。Qt Quick使用QML语言。QML是解释型语言,开发人员即使不熟悉C++知识,也可以用QML设计GUI。 Qt 版本说明 Qt 按照不同的版本发行,分为商业版和开源版 。 Qt 商业版为商业软件提供开发环境,它们提供传统商业软件发行版,并且提供在协议有效期内的免费升级和技术支待服务。而 Qt 开源版是为了开发自由而设计的开放源代码软件,它提供了和商业版本同样的功能,在 GNU 通用...阅读全文

博文 2024-01-10 15:21:37 giadnbhaytgw

Linux高性能IO网络模型对比分析:Reactor vs Proactor - 腾讯云开发者社区

1、前言 随着互联网的发展,面对海量用户高并发业务,传统的阻塞式的服务端架构模式已经无能为力。本文旨在为大家提供有用的高性能网络编程的I/O模型概览以及网络服务进程模型的比较,以揭开设计和实现高性能网络架构的神秘面纱。 2、关于作者 陈彩华(caison):主要从事服务端开发、需求分析、系统设计、优化重构工作,主要开发语言是 Java。 3、线程模型 上篇《高性能网络编程(五):一文读懂高性能网络编程中的I/O模型》介绍完服务器如何基于 I/O 模型管理连接,获取输入数据,下面将介绍基于进程/线程模型,服务器如何处理请求。 值得说明的是,具体选择线程还是进程,更多是与平台及编程语言相关。 例如 C 语言使用线程和进程都可以(例如 Nginx 使用进程,Memcached 使用线程),Java...阅读全文

博文 2023-02-02 03:59:47 腾讯云

【2024】kubernetes+DevOps云原生运维开发全栈架构师技术实战课程

【2024】kubernetes+DevOps云原生运维开发全栈架构师技术实战课程 给大家分享一套课程——【2024】kubernetes+DevOps云原生运维开发全栈架构师技术实战课程,附代码+PDF文档+软件下载。 Kubernetes是Google开源的一个容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理。在生产环境中部署一个应用程序时,通常要部署该应用的多个实例以便对应用请求进行负载均衡。 在Kubernetes中,我们可以创建多个容器,每个容器里面运行一个应用实例,然后通过内置的负载均衡策略,实现对这一组应用实例的管理、发现、访问,而这些细节都不需要运维人员去进行复杂的手工配置和处理。 kubelet是主要的节点代理,它会监视已分配给节点的pod,具体功能: 安装Po...阅读全文

博文 2024-03-04 15:09:24 xiaoshuai8888

HPC云化部署的优势和挑战

本文分享自天翼云开发者社区《HPC云化部署的优势和挑战》 作者:土豆炒肉丝HPC云化部署指的是将高性能计算(HPC)工作负载部署在云计算平台上,这种方式带来了一些明显的优势,但同时也面临一些挑战。以下是HPC云化部署的主要优势和挑战: 优势:1.灵活性和弹性:云计算平台提供灵活的资源调度和弹性伸缩功能,可以根据需要动态分配计算资源。这使得HPC应用能够更加高效地利用计算资源,根据实际需求进行资源扩展或收缩,从而降低成本。2.成本效益:传统HPC集群的建设和维护需要昂贵的硬件设备和专业技术团队。通过在云平台上进行部署,用户无需投资大量资金购买硬件设备,而是按需付费,只支付实际使用的资源,节省了大量成本。3.全球可访问性:云计算平台的服务通常分布在多个地理位置,用户可以从世界各地的终端设备访问这...阅读全文

NUMA架构介绍及优缺点分析

本文分享自天翼云开发者社区《NUMA架构介绍及优缺点分析》,作者:郁****航什么是NUMA架构1、概念NUMA(Non-Uniform Memory Access,非统一内存访问)架构是一种针对多处理器系统的内存组织方式。在这种架构中,处理器被分配到不同的节点,每个节点拥有自己的本地内存。处理器可以访问本地内存和其他节点的内存,但访问本地内存的速度要快于访问其他节点的内存。 2、设计原理NUMA架构的设计原理主要是为了解决多处理器系统中的内存访问瓶颈问题。随着处理器数量的增加,内存带宽需求也会相应提高。然而,在传统的统一内存访问(UMA)架构中,所有处理器共享同一块内存,导致内存访问延迟增加、内存带宽成为系统性能的瓶颈。NUMA架构通过将内存分配到各个节点,使处理器优先访问本地内存,降低内...阅读全文