Clojure

开源公司:甲骨文公司

作品详情

中文名
clojure
展开
特 点
函数式编程语言引入
展开
风格
Clojure是一种LISP风格的语言
展开
性 质
当今最主流的运算平台JVM
展开
释 义
JVM的字节码进行运算
展开
特色
支持不可变的数据结构
展开

1基本内容

  

概述

Clojure是一种LISP风格的语言,运行在JVM上。Clojure的一大特色就是其并发机制,它支持不可变的数据结构(Clojure是来自于可持久化的数据结构)。Clojure还有一个特色是软件事务存储(Software Transactional Memory,STM),其支持用事务代替锁和互斥器来更新共享内存。STM还是一个有争议的技术,还需要更好的证明自己,一个简单的办法就是访问一个JVM上的实现。

作为当今最主流的运算平台JVM,把函数式编程语言引入JVM也是很多人尝试的方向,Clojure就是其中之一。Clojure是一个在JVM平台运行的动态函数式编程语言,其语法解决于LISP语言,在JVM平台运行的时候,会被编译为JVM的字节码进行运算。  

特点

Clojure保持了函数式语言的主要特点,例如immutable state,Full Lisp-style macro support,persistent data structures等等,并且还能够非常方便的调用Java类库的API,和Java类库进行良好的整合。

2编程举例

Hello world:

(println "Hello, world!")

定义一个函数:

(defn square [x] (* x x))

使用Java Swing库的 GUI Hello World:

(javax.swing.JOptionPane/showMessageDialog nil "Hello World")

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态
案例
本系统采用B/S模式,选择Java语言开发、使用Spring Boot和SSM框架,利用MySQL进行数据的储存和数据库管理,主要实现了登录、首页菜单管理、基础资料管理、超市进货、超市销售、商品报损报溢、商品销售统计分析、系统管理等功能。
项目分为布雷和扫雷,使用随机数布置雷放在内存中,在外加上一层视图,视图与雷分开存储,每次扫雷是,将检查周围的雷的数量,若数量为零,将周围自动排除。主要难点为自动排除时边界的影响,以及胜利数的存储和统计方式。
用户注册模块: 邮箱验证、 密码登录、 验证码登录、 该作品主要展示: 1)Java 语言的基本语法,包括变量、数据类型、控制流(如 if-else, 循环等)、面向对象编程(类、对象、继承、多态、封装、接口等)。 2)Maven 在 Java 生态中广泛使用的构建和依赖管理工具,如何管理项目依赖、构建和打包应用的过程。
一款基于 SpringBoot2 + Vue3 + MySQL + Redis + ChatGLM + RxJava + SSE + Taro 的 AI智能问答。 用户可以基于 AI 快速并发布答题应用,支持检索、分享、在线答题并基于 AI 得到回答总结;管理员可以集中管理和审核应用。 前端 ● Vue3 ● Pinia 状态管理 ● Axios 请求库 ● Arco Design 组件库 ● 前端工程化 Eslint + Prettier + TypeScript ● 富文本编辑器 ● QRCode.js 二维码生成 ● OpenAPI 前端代码生成 后端 ● SpringBoot2 ● 存
2520vuespringbootredisweb
主要功能:纷享商城秒杀系统是一个专注于秒杀业务的商品交易平台,旨在提供高并发、高可用的秒杀服务,满足用户在限时抢购活动中的购物需求 用户量:105w注册用户、300w的订单数据 性能指标:qps峰值1120、平常120,日活2000 上线的情况:上线半年。 技术栈: 1.数据库(关系型数据库 or Nosql): a.MySQL; b.Redis、Elasticsearch; 2.MQ: a.RocketMQ; 3.SpringBoot + Dubbo: a.注册中心:Zookeeper; b.限流降级:Sentinel; c.分布式事务:Seata; 责任描述:
当前共17952个项目

评论