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
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态
案例
核⼼技术:SpringBoot、MyBatis、Guava、OKHttp3、OpenAI ⼤模型 项⽬架构:OpenAI-SDK 模型组件、DDD 应⽤服务 项⽬描述:此项⽬以应⽤OpenAI技术,对接⼤模型提供⽣成式服务。项⽬的架构设计实现以模块进⾏拆分,涵盖OpenAI-SDK、公众号 鉴权、商品下单⽀付等
1. 做微博数据爬取 2. 大数据分析,情感分析,针对评论做情感分析 3. 地图展示这个省市舆情情况 4. 定时任务定时爬取评论,以及话题数据 5. 用es存出话题数据,以及话题的评论, 6. 添加地图描点,权限管理等功能
该项目的底层搭建是使用的一些开源的项目信息,主要完成的结构内容为在项目中定义的设备类型,设备协议,设备信息,设备交互信息,数据存储,根据不同类型的设备进行页面的展示等,项目交互逻辑有,设备先进行定义设备类型和设备协议协议信息(同一类型的设备为同一种协议),创建需要绑定对应的设备类型,设备协议目前分为一下三大类:通知类,数据类,下发类,设备下发通过前端下发给服务器,服务器通过消息中间件确保消息下发给对应的设备信息(消息中间件会确保消息完成,如果消息在一定的时间内没有回应会进行重发/或返回给下发放告知下发失败进行手动处理,过期消息不在处理),参数类消息存储到对应的mongodb数据库中,像上报的通
1040vue物联网
随着社会的快速发展,人们的生活节奏随着国民经济的发展而加快,忙碌的生活使人 们花在制作餐食上的时间越来越少,学生党抑或是上班族,都更倾向于点外卖来解决三 餐问题[1]。而如今科技的发展和信息化的到来,让足不出户的人享受到美味美食的愿望 成为现实。然而,在这个信息化时代,有的人为了挣钱而蒙蔽了自己的良心,他们不顾 顾客的身体健康,在网络上散发着一些虚假的信息,例如有的美食采用的是地沟油却谎 称使用的都是可食用的健康油。因此,很多学生或者教师即使没有时间去食堂就餐,也 不敢上网点外卖。而为了解决这种情况,开发一个食堂外卖系统目前看来是有必要的。 毕竟食堂或餐饮服务提供商通常有一定的食品安全管理体系
系统做到如下要求: (1)能美观的展示客房信息。 (2)能够使用户快速便捷的进行客房的预订。 (3)能够撤销预定订单。 (4)能做到让用户查看评论,并给出自己的意见以提高酒店服务质量。 (5)能及时向用户推送活动信息。 后台管理员的主要功能模块如下: (1)预定订单处理:根据相应预定订单信息给客人办理入住或退房。 (2)修改密码:修改登录系统的密码,以此保障系统的安全性。 (3)管理普通管理员:超级管理员对普通管理员进行管理操作,添加或删除普通管理员。 (4)酒店活动公告管理:发布新的酒店活动公告或删除过时的酒店公告。 (5)客房信息管理:对酒店客房类别以及具体的客房信息进行管理。 (6)
当前共16812个项目

评论