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
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态
案例
为了方便患者就医问题,可以实现线上报备流程,防止患者不熟悉流程从而浪费时间精力,患者可以通过视频提示流程完成报备步骤,之后通过数字人形式根据提示完成备诊答疑流程方便患者在实际就医时进行针对性问题。项目架构采用MVP,个人负责部分为专家备诊模块使用阿里云SDK完成视频切换等待和小冰SDK数字人模拟对话推拉流问题使患者与数字人模拟对话场景
预案演进系统。功能分为:预案创建、流程图绘制、预案审核、预案发布、预案启动执行、预案执行评估等。 本人主要负责详细方案设计,表结构设计,微服务后端架构选定Spring Cloud alibaba。也参与了少量的前后端功能开发。
820mysql微服务web应用
技术栈:SpringBoot + SpringCloud微服务 + Docker 功能:系统能够根据管理员预设的题目用例对用户提交的代码进行执行和评测;系统中自主实现的代码 沙箱可作为独立服务供其他开发者调用。 亮点:1)自主设计判题机模块的架构,定义了代码沙箱的抽象调用接口和多种实现类(比如远程/第三 方代码沙箱),并通过静态工厂模式 +Spring 配置化的方式实现了对多种代码沙箱的灵活调用;2)为 保证沙箱宿主机的稳定性,选用Docker隔离用户代码,使用Docker Java库创建容器隔离执行代码, 从而实现了更安全的代码沙箱。
• 软件环境: PHP + MySQL + Uniapp + Vue + TypeScript • 开发人员: 2 人 • 后端:负责重写用户系统和与喜闻用户同步的工作,将其嵌入到喜闻中。 • 前端:负责调用喜闻接口、处理多个 token 管理机制、多域名请求封装、基础工具封装和页面封装 等工作。 • 技术点描述: – 多 token 管理机制:处理多个 token 的管理,确保安全可靠地调用喜闻接口。 – 多域名请求封装:封装多个域名请求,以便与喜闻进行通信。 – 基础工具封装:负责开发和维护基础工具,提高开发效率和代码质量。 – 页面封装:封装页面组件,提高页面复用性和开发效率
软件环境: Spring Boot + MySQL + Redis + RabbitMQ + Uniapp + Vue + JavaScript + Spring Security + ElementUI • 开发人员: 3 人 • 项目描述:喜闻商城是一个由 Uniapp 打包为安卓和 H5 项目,目前在海外运营。该项目的核心模 块包括:交易模块、用户模块、区块链模块、商城模块、后台管理模块和定时任务模块。 • 责任描述: – 后端:实现了商品支付系统、商品分红处理、商城虚拟币系统、区块链数据提供和登录系统。 – 前端:负责页面组件封装、处理平台兼容性、接口域名检测、封装长记录缓存、错误信
当前共17969个项目

评论