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
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态
案例
整个平台基于 MQTT 协议消息的流转,使用了 EMQX 作为 MQTTBroker 进行消息的发布和消费,使用 mysql,redis, TDengine 进行消息的存储,使用了 kafka 进行消息的复制和转发。后台基于 springcloud 进行 开发,前端使用 elementUI 进行开发
小马阅卷”是一款专为 K12(小学、初中、高中)学校设计的答题卡扫描阅卷软件,适用于月考、期中考试、期末考试等多种考试场景,提供单校版本和多校联考版本。融合了 AI 智能识别技术、桌面软件技术、Web 技术、高速扫描仪技术以及微信小程序技术,搭建的现代化的智能阅卷平台。 涉及技术:1.阿里云服务产品,云服务器技术、oss对象存储技术。2.opencv图像识别技术,用于识别答题卡。3.客户端连接技术,适配市场上大部分扫描仪协议。4.同时支持微信小程序与pc端。
190教育vue
目标:构建餐饮连锁店的线上菜单系统,提供餐饮菜单配置,菜单生成及线上菜单服务。 1)多品牌支持 2)灵活配置及快速菜单生成。 3)能满足品牌的快速扩店需求。 4)能沟计算品牌未来15天内的菜单并进行预览服务。 5)线上服务快速稳定。 6)目前主要针对咖啡行业进行服务。 7)目前还不是产品形态,在不断完善中。
支持私有化部署的教培行业教务管理系统,专为教培行业提供云化管理解决方案,是一套纯springboot+mysql微服务项目。系统在功能上注重教务管理,具有排课、消课和在线购课等核心业务功能;系统采用稳定的微服务架构开发,运行流畅,易于部署扩展,支持私有化部署。应用端包括PC管理端、老师手机端、学生手机端,手机端支持微信公众号版+微信小程序。
550教育vueMysql
基于园区业务,深度挖掘流程与系统的关键结合点,发挥互联网的优势,系统主要实现园区的资产管理,企业服务及档案管理,园区的活动及商城的搭建。 智慧园区是用信息技术为手段、智慧应用为支撑,全面整合园区内外的资源,使园区管理服务等更高效便捷,实现基础设施网络化、管理信息化、功能服务精准化和产业发展智能化, 全面提升园区信息化管理水平。打造城市代言,智慧城市缩影、打造产业基地,谋求跨越发展、传感网、物联网等战略性新兴技术的示范应用;向规模化、集群化、现代化升级、资源集中化,成本优势,规模优势,产业链协同、物流配套畅通。
当前共17568个项目

评论