自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

程序员光剑

杭州某头部大厂资深程序员,AI大模型应用架构师。 主业写程序,佛系写博客,有灵感写诗。藏书数万册。 畅销书作者,代表作《ClickHouse入门实战与进阶》《Kotlin 极简教程》《Spring Boot开发实战》《Kotlin从入门到进阶实战》等。

  • 博客(36)
  • 资源 (6)
  • 收藏
  • 关注

原创 Java HotSpot(TM) 64-Bit Server VM warning: CodeCache is full. Compiler has been disabled

JVM JIT 生成已编译的代码并将其存储在称为 CodeCache 的内存区域中。大多数平台上 CodeCache 的默认最大大小为 48M。如果任何应用程序需要编译大量方法导致大量编译代码,则此 CodeCache 可能已满。当它变满时,编译器被禁用以停止任何进一步的方法编译,并记录如下消息:Java HotSpot(TM) 64-Bit Server VM warning: CodeCac...

2021-08-30 10:45:33 11388

原创 Spark Architecture 系统架构

Spark ArchitectureLet's have a look at Apache Spark architecture, including a high level overview and a brief description of some of the key software components.High level overviewAt the high leve...

2021-08-29 22:05:37 8614

原创 HBase vs Redis

HBase 对比 Redishttps://db-engines.com/en/system/HBase%3BRedis二者都属于NoSQL,但又有很大不同:HBase是一个分布式的、面向列的开源数据库,它是Apache的Hadooop项目的子项目。最初来源于Fay Chang所撰写的Google论文"Bigtable:一个结构化数据的;分布式存储系统"。一般和HDFS一起结合使用...

2021-08-29 21:03:13 8996

原创 什么是 Spark RDD ?

WHAT IS RDD ?RDD is the spark's core abstraction which is resilient distributed dataset.It is the immutable distributed collection of objects.RDD CreationRDD vs Dataframe vs Dataset...

2021-08-29 20:53:46 8282

原创 Hadoop vs Spark

Hadoop vs SparkBig Data Architecturehttps://www.youtube.com/watch?v=xDpvyu0w0C8

2021-08-29 14:20:16 8220

原创 What is Hadoop? SQL Comparison

2021-08-29 13:32:14 8483

原创 Spark RDD 极简教程

Spark 并行计算框架简介Spark 是什么?Spark is the most popular open-source distributed computing engine for big data analysis.Used by data engineers and data scientists alike in thousands of organizations ...

2021-08-28 10:02:41 8474

原创 YARN 简介

YARNYarn产生背景Yarn直接来自于MR1.0.MR1.0 问题:采用的是master slave结构,master是JobTracker。Slave是TaskTracker、JobTracker整个集群只有一个,构建调度和资源管理,两个功能。每个节点上,可以通过一个TaskTracker控制本节点的资源管理和任务管理。每个TaskTracker通过心跳机制周期性的向JobTracke...

2021-08-28 09:59:03 9509

原创 详解数仓中的数据分层:ODS、DWD、DWM、DWS、ADS

事实表的记录在不断地增长,比如电商的商品订单表,就是类似的情况,所以事实表的体积通常是远大于其他表。但是,实际情况下,我们所面临的数据状况很有可能是复杂性高、且层级混乱的,我们可能会做出一套表依赖结构混乱,且出现循环依赖的数据体系,比如下面的右图。该层是基于DWM上的基础数据,整合汇总成分析某一个主题域的数据服务层,一般是宽表,用于提供后续的业务查询,OLAP分析,数据分发等。该层是在DWD层的数据基础上,对数据做一些轻微的聚合操作,生成一些列的中间结果表,提升公共指标的复用性,减少重复加工的工作。

2021-08-27 15:39:07 20291 2

转载 Java 之父 James Gosling 最新访谈:JIT 很好,但不适合所有语言

计算机编程确实是一门艺术。James Gosling,“Java 之父”, 完成了 Java 的原始设计,并实现了 Java 最初版本的编译器和虚拟机。90年代初,James Goslin...

2021-08-27 10:10:00 14522

原创 使用 Swagger 的扩展组件Plugin 机制自定义API文档的生成

简史让我们先理一下springfox与swagger的关系。swagger是一个流行的API开发框架,这个框架以“开放API声明”(OpenAPI Specification,OAS)为基础,对整个API的开发周期都提供了相应的解决方案,是一个非常庞大的项目(包括设计、编码和测试,几乎支持所有语言)。OAS本身是一个API规范,它用于描述一整套API接口,包括一个接口是GET还是POST请求...

2021-08-27 01:04:23 10472

原创 ClickHouse SQL 语法极简教程

ClickHouse SQL 语法极简教程ClickHouse是一个用于联机分析(OLAP)的列式数据库管理系统(DBMS)。在传统的行式数据库系统中,数据按如下顺序存储:RowWatchIDJavaEnableTitleGoodEventEventTime#0893543506621Investor Relations12016-05-18 05:19:...

2021-08-24 11:45:50 10561

原创 Java 虚拟机圖文詳解: JVM 體系結構 ( The JVM Architecture )

What Is the JVM?A Virtual Machine is a software implementation of a physical machine. Java was...

2021-08-21 15:31:13 8940

原创 Java 虚拟机圖文詳解: JVM 體系結構 ( The JVM Architecture Explained )

What Is the JVM?A Virtual Machine is a software implementation of a physical machine. Java was developed with the concept of WORA (Write Once Run Anywhere), which runs on a VM. The compiler comp...

2021-08-21 13:57:02 8418

原创 Kotlin Coroutines 协程实现原理全解析

Hello Coroutines Worldpackage coroutines.demoimport kotlinx.coroutines.coroutineScopeimport kotlinx.coroutines.delayimport kotlinx.coroutines.launchsuspend fun main() = coroutineScope...

2021-08-21 00:51:49 8647

原创 JVM 架构 : 运行时数据区 & 内存结构

JVM : Java Virtual Machine 架构JVM Architecture Runtime Data Area/Memory StructureClassloaderClass loader is a subsystem in JVM, which is primarily responasible...

2021-08-19 00:46:42 8490

原创 Java 泛型之 JDK 的底层实现原理

AnnotatedType数组类型、参数化类型和 类型变量,或通配符类型.package java.lang.reflect;/** * {@code AnnotatedType} represents the potentially annotated use of a type in * the program currently running in this VM. The u...

2021-08-18 22:04:36 8578

原创 Java Class 对象模型的数据结构分析

Instances of the class Class represent classes and interfaces in a running Java application. An enum is a kind of class and an annotation is a kind of interface. Every array also belongs to a class th...

2021-08-17 14:06:18 8507

原创 使用 javap 命令查看 Java Class 文件的字节码内容

何为 Java 字节码?Java 虚拟机(JVM)是运行 Java 字节码的虚拟机。JVM 有针对不同系统的特定实现(Windows,Linux,macOS),目的是使用相同的字节码,它们都会给出相同的结果。什么是字节码?采用字节码的好处是什么?在 Java 中,JVM 可以理解的代码就叫做字节码(即扩展名为.class的文件),它不面向任何特定的处理器,只面向虚拟机。Java 语言通过字节码的方...

2021-08-14 13:26:03 8716

原创 Spring Boot 应用监控: Java获取 CPU,内存, JVM 内部运行状况代码

package com.bytedance.kunlun.system;import com.google.common.collect.Maps;import com.sun.management.OperatingSystemMXBean;import org.springframework.stereotype.Component;import oshi.SystemInfo;i...

2021-08-14 03:11:57 11626

原创 Maven 如何编译 java 和 kotlin 编码的混合项目

Maven 如何编译 java 和 kotlin 编码的混合项目一、前提应用程序同时使用java和kotlin两种开发语言,则必须在 Java 编译器之前调用 Kotlin 编译器。二、解决方案根据 maven 的方式,则需要在 maven-compiler-plugin 之前运行 kotlin-maven-plugin,因此我们要确保 pom.xml 文件中的 kotlin 插件位于 maven...

2021-08-14 01:26:35 9346

原创 Spring Boot 自定义配置key @ConfigurationProperties(prefix = "db.clickhouse")

方案1:使用@Value读取application.properties里的配置内容配置文件application.propertiesspring.application.name=springbootdemoserver.port=8080mail.username=application-duanmail.password=application-duan123456测试代码类i...

2021-08-13 22:32:12 8733

原创 Java String Format 使用实例

Always forgetting the Java String formatting specifiers? Or maybe you never took the time to learn. Here's a reference of the various flags you can use.Have you tried to read and understand Java’s Str...

2021-08-11 17:11:52 8567

原创 夏天只是西瓜做的一个梦

夏天只是西瓜做的一个梦我们工作、学习、创业、打工,底层逻辑都是相通的——这个逻辑就是“道理”。这个世界是残酷的,事情是难做的,我们需要认清真相,但更要继续热爱生活。要开阔胸怀,迟早都是一死,怎么都能过。秋天来了,风过林梢,蝉鸣渐消——宛如细线在空中浮动;秋天的冷雨漫过了山梁,漫过了筏子,也漫过了我们的脚。秋天来了,你在干嘛呢?...

2021-08-10 12:47:01 8390 1

原创 今日,立秋。秋季养生篇。

云天收夏色,木叶动秋声。立秋了。时到立秋年过半。自立秋日始,天高气爽,月明风清,气温逐渐下降,正如谚语所说:“立秋之日凉风至”,“早上立了秋,晚上凉飕飕”。当然,后面还有“秋老虎”,不多说。吴澄撰《月令七十二候集解》中提到,“秋,揪也,物于此而揪敛也”。由此可见,秋天不仅是天气转凉的季节,也是万物收敛聚集的季节,是丰收的季节。立秋三候一候凉风至立秋后,开始刮偏北风,...

2021-08-07 10:16:09 8778

原创 jvm 内存分配性能提升之——逃逸分析与tlab

柏拉图说过:思想永远是宇宙的统治者。只要思想不滑坡,办法总比困难多。Java从最开始被诟病速度慢,到现在执行速度直追C语言。这些运行时优化是必不可少的。还记得我们之前讲的逃逸分析是怎么回事吗?jvm 分配内存当类已经被加载完毕了,那么会执行第二步,也就是分配内存。我们都知道new对象一般情况来说生成的对象都是会存放在堆当中(当存在栈上分配时,逃逸对象会优先分配在栈当中),那么存放肯定是需...

2021-08-07 00:35:04 8557

转载 Kotlin 十周年:Kotlin 1.5稳定版发布——2021年第一个大版本更新有何亮点?

从2011年,JetBrains在 JVM 语言峰会上官宣了Kotlin 1.0 —— 一种用于 JVM 的新静态类型编程语言,到2021年,作为十周年首个大版本更新,Kotlin 发...

2021-08-06 21:06:02 8741

原创 Kotlin十周年:Kotlin 1.5稳定版发布——2021年第一个大版本更新有何亮点?

Kotlin十周年:Kotlin 1.5稳定版发布——2021年第一个大版本更新有何亮点?从2011年,JetBrains在 JVM 语言峰会上官宣了Kotlin 1.0 —— 一种用于 JVM 的新静态类型编程语言,到2021年,作为十周年首个大版本更新,Kotlin 发布了1.5版本。期待接下来的十年,Kotlin发展越来越好,给开发者们带来更多的福利,生态越来越繁荣,未来能有更多...

2021-08-06 20:59:12 8800

原创 中断和异常概念详解

1.什么是中断?中断CPU执行程序时,由于发生了某种随机的事件(外部或内部),引起CPU暂时中断正在运行的程序,转去执行一段特殊的服务程序(中断服务子程序或中断处理程序),以处理该事件,该事件处理完后又返回被中断的程序继续执行,这一过程称为中断。中断(interrupt)通常被定义为一个事件,该事件改变处理器执行的指令顺序。这样的事件与CPU芯片内外部硬件电路产生的电信号相对应。中断通常分...

2021-08-05 16:06:51 9562

原创 关于实用可满足性模理论(SMT)求解 Practical Satisfiability Modulo Theories (SMT) Solving...

Incomputer scienceandmathematical logic, thesatisfiability modulo theories(SMT) problem is adecision problemfor logical formulas with respect to combinations of backgroundtheoriesexpr...

2021-08-05 14:56:13 8685

原创 王献之碧玉小楷《洛神赋十三行》王献之小楷高清原石拓本对比图

洛...

2021-08-04 23:47:12 9018

原创 学字词——浇漓

浇漓[jiāo lí]释义1.亦作“浇醨”。浮薄不厚。多用于指社会风气。2.文风浮艳不实。3.酒味淡薄。亦借指薄酒。近义词浇薄“人心为风俗之本,未有人心浇漓而风俗朴厚者。”鲁迅《热风·随感录五十八》:“慷慨激昂的人说:‘世道浇漓,人心不古,国粹将亡,此吾所为仰天扼腕切齿三叹息者也!’”...

2021-08-03 21:58:03 8469

原创 排列组合公式 与24点编程游戏

排列组合公式此外,规定0! = 1.24点游戏编程问题问题描述你有 4 张写有 1 到 9 数字的牌。你需要判断是否能通过*,/,+,-,(,)的运算得到 24。示例 1:输入: [4, 1, 8, 7]输出: True解释: (8-4) * (7-1) = 24示例 2:输入: [1, 2, 1, 2]输出: False注意:除法运算符/表示实数除法,而不是整数除法。例...

2021-08-03 11:06:29 9425

原创 揭示宇宙的奥秘的公式: 标准模型 The Standard Model: The Most Successful Scientific Theory Ever...

2021-08-02 01:46:11 8770

原创 计算机软件设计中的抽象分层思想:操作系统,网络协议等

计算机中最重要的思想就是抽象,或者说是封装.抽象和分层是我们的强力武器,我们可以利用它们让我们的计算机系统更加强大,完成各种”不可能“。操作系统,应用软件设计,网络协议栈等等,都体现了分层思想。分层中,每个层次负责不同的功能。一般来讲,下层为上层提供服务,上层不要知道下层的具体实现细节,只需使用下层提供的服务。而层与层之间联系的桥梁就是“接口”(Interface)。OS调用硬件提供的api,软...

2021-08-01 23:59:30 8906

原创 OGNL (Object-Graph Navigation Language) 表达式 极简教程

OGNL 术语说明OGNL stands for Object-Graph Navigation Language; it is an expression language for getting and setting properties of Java objects, plus other extras such as list projection and selection and ...

2021-08-01 23:58:52 8829

ClickHouse 高性能、可扩展和低成本的OLAP数据库 陈光剑 20230912

ClickHouse 设计哲学 具体问题具体分析 use good algorithms in a good context; 深入细节 dig into details; 度量指标 measure everything; 贴近生产环境 be close to production; 基准测试 do benchmarks, more of them; 不断试验、实践never stop experimenting; 大规模测试 test at scale; 大胆创新 do weird stuff; have fun! It is a database: A database has both a storage engine and a query engine. ClickHouse can efficiently ingest data from various sources and its query engine provides low-latency query responses. It is an OLAP database: An On-Line Analytic

2023-09-14

Will AI Fix Work? 工作节奏超过了我们的跟上能力 人工智能有望创造一种全新的工作方式

The pace of work is outpacing our ability to keep up. AI is poised to create a whole new way of working. 工作节奏超过了我们的跟上能力。人工智能有望创造一种全新的工作方式。 微软工作趋势指数年度报告( Work Trend Index Annual Report ) Key findings: The data points to three urgent insights business leaders must know now as they look to quickly and responsibly adopt AI. 1. Digital debt is costing us innovation: 64% of people have struggled with finding time and energy to get their work done, and those workers are 3.5x more likely to say they

2023-05-17

THE AI INDEX REPORT 人工智能指数报告 Measuring trends in Artificial Inte

THE AI INDEX REPORT 人工智能指数报告 Measuring trends in Artificial Intelligence 衡量人工智能的趋势 TOP TAKEAWAYS 最重要的要点 Industry races ahead of academia. 工业界领先于学术界。 Until 2014, most significant machine learning models were released by academia. Since then, industry has taken over. In 2022, there were 32 significant industry-produced machine learning models compared to just three produced by academia. Building state-of-the-art AI systems increasingly requires large amounts of data, compute, and money, resources

2023-04-06

四大常用限流算法原理详解:计数器固定窗口、计数器滑动窗口、漏桶、令牌桶算法.pdf

四大常用限流算法原理详解:计数器固定窗口、计数器滑动窗口、漏桶、令牌桶算法.pdf

2021-05-28

Kotlin Coroutines by Tutorials (1st Edition)

Kotlin Coroutines by Tutorials (1st Edition)

2021-04-28

Principles of programming languages by Gilles Dowek (auth.) (z-lib.org).pdf

Principles of programming languages by Gilles Dowek (auth.) (z-lib.org).pdf

2021-04-28

A Brief History of Artificial Intelligence

A Brief History of Artificial Intelligence What It Is, Where We Are, and Where We Are Going by Michael Wooldridge (z-lib.org).pdf

2021-04-28

An introduction to functional programming through lambda calculus.PDF.zip

Author: Michaelson, Greg Functional programming is rooted in lambda calculus, which constitutes the world's smallest programming language. This well-respected text offers an accessible introduction to functional programming concepts and techniques for students of mathematics and computer science. The treatment is as nontechnical as possible, and it assumes no prior knowledge of mathematics or functional programming. Cogent examples illuminate the central ideas, and numerous exercises appear throughout the text, offering reinforcement of key concepts. All problems feature complete solutions.

2019-09-22

《Kotlin项目实战开发》第3章+类型系统与可空类型

《Kotlin项目实战开发》 第3章 类型系统与可空类型 跟Java、C和C ++ 一样, Kotlin也是“静态类型编程语言”。 通常,编程语言中的类型系统中定义了  如何将数值和表达式归为不同的类型  如何操作这些类型  这些类型之间如何互相作用 我们在编程语言中使用类型的目的是为了让编译器能够确定类型所关联的对象需要分配多少空间。 在每一个编程语言中,都有一个特定的类型系统。静态类型在编译时期时,就能可靠地发现类型错误。因此通常能增进最终程序的可靠性。 类型系统在各种语言之间有非常大的不同,主要的差异存在于编译时期的语法,以及运行时期的操作实现方式。 本章我们简单介绍一下Kotlin的类型系统。

2017-09-30

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除