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
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态
案例
主要模块:游戏设定、地图设计、角色设定、物品系统、战斗系统、任务系统、商城系统等。 功能:玩家可以探索各种地图、挑战不同的敌人、收集和使用各种物品、完成任务、购买游戏内物品等。 我负责的模块及技术栈: 负责的模块:战斗系统、服务器端的数据交互逻辑和实现等。 技术栈:Golang语言用于服务器端开发,0到1构建高可用、可扩展的系统,使用Redis等缓存技术来提高数据访问效率
1260教育redisdocker
60%为功能性代码,40%为用户图形和一些数据验证,全部代码不超过2000行,一个月个人完成,适用于教育管理,100%的代码为java代码开发!,体积小,实用性强 此项目为教师端和管理端合二为一,学生端单独登录
1080教育
提取遥感图像地物信息数据,结合业务需求生成分析报告,应用场景包括保险行业,农业,建筑业 主要技术利用实例分割算法提取卫星图片地物信息生成可用的分析数据,我负责整个平台的开发建设运维,包含数据管理,项目管理,算法服务 用到的技术包含springboot,mysql,geoserver,pytorch,vue3
朝夕鲜花网是一个鲜花在线订购的网站。 主要功能包括: 1.首页、鲜花列表页、鲜花详情页 2.搜索功能 3.登录功能 4.购物车功能 5.订单支付功能 6.个人中心 整个网站均由我负责开发。前端技术包括tailwind、vue3、element plus;后端由java实现,具体技术包括spring security、elastic search、mybatis等。 其中登录功能支持验证码和记住我;搜索功能由elastic search实现;而订单支付支持微信和支付宝,支付页面的实时通知采用websocket技术实现。
是基于互联网云架构的专业化能源管理开放信息平台,可以随时掌握能耗状况,发现节能机会,成为能源辅助决策的依据。我负责完成基于诊断修复工程和扫描工程业务逻辑的算法实现与优化。 技术特点:1. 系统结构复杂,结构主要体现为前端UI、后端服务及大数据计算三层,后端服务又具体拆分出算法、行业公共定义、基本公共方法、权限管理及云能效门户服务等多个解决方案,解决方案间以WebAPI方式协同工作;2. 基于MongoDB、Spark、Hadoop和Scala等技术的大数据解决方案。
当前共18318个项目

评论