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
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态
案例
本项目是一个b2c模式的电商平台,销售自营商品给客户,该项目分为后台商品管理系统和前台下单系统以 及app客户端,整体采用前后端分离的开模式。 后台系统主要模块包含:商品管理(分类、品牌、属性分组、规则参数、spu、上架等)、优惠营销(会员、积分、折扣 、优惠券等)、库存系统(仓库、spu库存、采购等)、订单系统、用户系统、客服系统、售后系统、数据统计等。 前台系统主要模块包含:登录中心、商品检索、购物车/收藏、订单中心、支付中心
东风DNA系列自用的工艺管理项目,便于管理冲压、焊装、涂装、总装四大工艺,整合工厂-工艺-车间-生 产线-工位-消耗点的线性管理,针对不同产线对实例化车型的零件选装配件颜色等进行一体化管理。
780redisspringclouddockerjava
云渲染项目是管理和调度装修设计相关渲染任务,充分利用GPU的算力。该项目包括任务管理,UE渲染服务管理,任务类型管理,优先级管理,接入统一登录鉴权等模块。 项目采用Springboot微服务框架,springcloud feign接口进行微服务间通信, spring gateway网管对外提供接口鉴权和路由调度,nacos注册中心和配置中心 ,redis缓存,分布式锁和任务队列,rocketmq异构环境间的解耦和异步通信,spring rest template https回调。 我是项目的架构师,项目的owner, 负责主要模块的开发工作, 和后续对接周边系统及接口设计工作。
760vuemysqlUE渲染服务
资产管理系统是一种**以实物管理为核心,利用计算机为操作平台,通过条形码等先进技术实现对固定资产全生命周期的监管和管理的系统**。 具体来说,资产管理系统的主要功能和特点包括: 1. **资产跟踪**:系统可以对资产从采购、入库、出库、调拨、借用到报废的全过程进行监控和管理,确保资产使用的透明性和可追溯性。 2. **流程管控**:通过规范的管理流程,系统提高了资产的利用率和管理效率,使得审批中的数据和业务流程能够快速自动化流转。 3. **账物相符**:系统能够实现账目与实物的一致性,通过盘点和统计报表等功能确保资产信息的准确性。 4. **折旧计算**:根据固定资产的实际情况和国内惯例
责任描述: 个人独立开发完成的一款Android Material Design风格的APP。 采用MVP模式搭建APP框架,UI层,数据层,管理层; 抽取Base类,抽取共同特征的View,presenter,entity等; 自定义擦除式的引导页,MD风格的侧滑以及Tab + fragment; 引入换肤lib完成动态换皮肤的功能; 网络层数据层采用OKhttp(6.0SDK删除了HTTPclient API)完成数据获取,在model中,UI实现对应presenter; 不同类型的文章采用枚举标示,在recylerview中实现多种item以及网络GIF和视频; 剩余功能包
当前共17786个项目

评论