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
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态
案例
料通邦小程序是开发的集行情、资讯、供求货源、厂家互动为一体的小程序,前端用户端使用微信小程序,通过uniapp进行搭建,前端管理端是Umi 后端是Springboot3,主要用于金属行情资讯发布,货源采购资讯发布、企业黄页:展示生产资质、产能、主营产品,支持在线询价、收藏关注。跨平台效率:uniapp 实现前端一次开发多端部署,降低维护成本。全保障:后端 JWT 认证 + 接口加密,敏感数据权限控制。
160vue小程序android废料回收小程序
方案介绍: 灯控、电子锁、电子秤、血压计、体温计、血糖仪、手表、手环、单车、房车、拉力计等软硬件方案(以上没提及的可以根据你的需求定制) 终端平台: 安卓、苹果、鸿蒙、小程序 通讯形式: 蓝牙、WI-FI 软件功能: 请联系客服了解 方案价格: 报价是软件基础功能报价,不包含硬件方案报价(具体以最终确定的需求报价为准)
200iosandroid智能穿戴
本方案主要面向医院行业客户端软件的授权管理所用的,能够满足甲方在医院端进行行业客户端软件部署时的授权管理需求。 本方案包括云端授权管理系统、本地离线授权用客户端软件等构件组成,能够满足部分内网用户的授权需求,也可以进行在线云端时时授权,保障软件授权安全。 该系统支持在线授权、离线授权、授权记录查询等功能,适用于医疗机构、企业等需要严格软件授权的场景。
业务背景 使用了原生微信小程序写的进销存小程序。操作简易方便满足小商户的使用,并且能够导出销售单据,商户自行使用打印机打印。节省了商户的手动输入耗时。使用了worklet的自定义路由功能,实现了类似ios的页中页效果。 功能介绍 主要是进货、库存、销售,3个核心模块。还有供应商、客户、商品、库存管理模块。附带销售的单据打印功能:生成销售单据,在网页端可登录后下载打印。这也是使用者的重点需求。 主要路径很简单:进货、库存、销售 项目实现 技术栈:前端使用微信小程序+Tdesign框架。服务端使用springboot搭建单体架构,添加鉴权、异常处理等基础功能设计。部署使用github acti
面向用户:刚出学校寻求前辈指引的大学生、已经有工作经验的同专业同学校的前辈 软件特点:为两个用户群体,提供付费的咨询辅导平台。通过社交聊天的方式,一对一的提供解答和帮助服务。可以文字,可以语音,可以视频 技术栈:微信小程序作为前端,具备音视频通话、支付等功能。JAVA 作为后端,使用了springboot 技术栈
当前共18220个项目

评论