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
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态
案例
一款基于 SpringBoot2 + Vue3 + MySQL + Redis + ChatGLM + RxJava + SSE + Taro 的 AI智能问答。 用户可以基于 AI 快速并发布答题应用,支持检索、分享、在线答题并基于 AI 得到回答总结;管理员可以集中管理和审核应用。 前端 ● Vue3 ● Pinia 状态管理 ● Axios 请求库 ● Arco Design 组件库 ● 前端工程化 Eslint + Prettier + TypeScript ● 富文本编辑器 ● QRCode.js 二维码生成 ● OpenAPI 前端代码生成 后端 ● SpringBoot2 ● 存
2770vuespringbootredisweb
主要功能:纷享商城秒杀系统是一个专注于秒杀业务的商品交易平台,旨在提供高并发、高可用的秒杀服务,满足用户在限时抢购活动中的购物需求 用户量: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; 责任描述:
后端idea使用java开发 后台vscode使用vue开发管理端 前台微信开发者工具开发小程序客户端 项目模块前台有首页,分类,购物车,我的,收货地址,待支付,待发货,待收货,已完成,收藏,订单与后台管理端联动 后台有产品管理(产品,分类,分组,评论,规格),门店管理(自提点,运费,轮播图,热搜,公告),会员管理,订单管理,系统管理(地址,管理员角色,菜单,参数,系统日志)
框架技术:Springboot Mysql rabbitMq redis jetty maven 单体架构 前端技术:jsp layui 项目描述:该系统是为四川/辽宁/邮电校电信定制开发的动环监控系统,指针对各类机房中的动力设备及环境设备进行集中监控。 主要职责: 1. 对接硬件工程师,完成设备上云、使用jetty完成设备TPC通讯功能,设备数据上报rabbitMq,再处理分发数据供各平台使用。 2. 阅读门禁设备协议文档,完成门禁设备tcp连接,设备发送mqtt消息,完成门禁控制。 3. 四方数据、电信数据、1.0版本数据编写报表页面及业务逻辑。电信ftp数据定时取用业务存库。为四方提供f
1590css物联网
项目分为六个模块 1. 存款 2. 取款 3. 显示余额 4. 申请贷款 5. 还款 6. 退出 我负责全部的内容,从头到尾都是我一个人做的 大家好,我毕业于美国阿拉巴马大学工商管理专业,目前从事计算机行业,掌握的技能有JAVA以及python语言,学习能力强,态度非常认真,对计算机非常感兴趣,希望通过自己的业余时间挣到一点小收入
610java
当前共18317个项目

评论