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
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态
案例
1. 基于 微信小程序 + springboot + vue 技术构建 ,支持单店铺,多店铺入驻的商城平台。 2. 项目包含 微信小程序,管理后台。基于java后台语言,已功能闭环,且达到商用标准的一套项目体系。 3. 功能包括:首页商品搜索、首页轮播广告、公告通知、优惠券、弹出一级分类、团购专区、秒杀专区、活动专场、品牌入驻店铺、新品首发、人气推荐、重点类目呈现、一级分类导航、二级分类导航、购物车、微信支付对接、购物车商品管理、下单邮件通知、我的、用户设置、代理申请与推广二维码、佣金与明细、推广数据、订单管理、物流跟踪、我的服务、我的收藏、浏览足迹、拼团、地址管理、意见反馈、商品评论、秒杀。
随着移动互联网的发展和大学校园生活节奏的加快,传统的校园超市服务模式已难以满足学生对便捷、高效购物体验的需求。为此,我们设计并开发了一套校园超市外卖配送系统,旨在为在校师生提供便捷、快速、安全的商品配送服务。 该系统集商品浏览、下单、支付、订单管理及配送服务于一体,涵盖了学生端、超市管理端和配送员端三个角色。学生用户可通过微信小程序或APP便捷选购超市商品,并选择送货上门或自取服务;超市管理员则可实时管理商品信息、库存、订单等内容;配送员通过系统接收订单任务,完成校园内配送流程,确保商品及时送达。 系统采用前后端分离架构,前端基于 UniApp 技术开发,兼容多平台使用;后端采用 Java
网络货物运输平台是公司针对网货业务打造的平台,主要包括网页、小程序、APP三个入口。平台角色主要包括司机、货主、运营商三大角色,项目主要包括会员、权限、校验、财务、监管、数据中心、ETC几大核心模块。主要用于货主和司机之间的雇佣业务,运营商和司机、货主之间的撮合业务。 技术方案:SpringCloud、SpringBoot、Mybatis、Redission、Kafka、RocketMQ、ElasticSearch、Nacos、EasyExcel、MySQL、JUC、Maven、ELK,Git、TM
本项目提供免费PDF转word功能,目前市面上缺少免费类似工具,通过浏览器访问我们网站,即可简单高效实现PDF转word。 1.提供用户注册,登录功能,用户登录才能使用网站功能 2.文件上传后自动转换,转换完成,用户点击连接即可下载
项目描述:新材料全生命周期数据库项目主要针对超超临界火电核电新材料展开,鉴于当前数据孤岛困境,着力打造全寿命周期数据库平台。通过整合钢铁研究总院等多方数据,建设包含标准、研发等多类型数据库集群,并开发数据应用功能,推动材料产业数据管理与应用的进步。 主要技术栈:SpringBoot、MybatisPlus、Mysql、Redis、Git、Vue2 职责描述: 1. 负责开发前后端业务代码,确保系统功能的完整性和稳定性。 2. 主导前端页面的设计与修改工作,提升用户界面的友好性和操作便捷性。 3. 针对后端功能进行细致的bug调试与修复,优化系统性能。 4.负责前后端代码部署,确保项目内容技术更
当前共17673个项目

评论