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
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态
案例
项目背景:这是一款拍照工具类的app,app内有几百种各式各样的姿势类型,用户可以选择指定类型,按照类型标定好的姿势进行拍照,解决拍照时不知道怎么拍照或者拍照难看的问题。 项目选用了flutter进行双端开发,解决了一套代码多平台使用问题,项目中使用了camera进行拍照功能,利用flutter_image_gallery_saver进行图片保存到本地相册,使用in_app_purchase完成app内购模块的实现。
项目背景:一款全民品质购物APP,其主要能力是通过公司对产品质量的严格筛选,然后通过短视频的方式对产品进行二次宣导。 项目职责: 我在此项目中担任客户端负责人的角色,主要工作职责是负责i0S、Android端和前端的开发进度推进疑难问题的解决,跨部门之间的技术沟通;对项目框架的持续优化,App 性能的调优,线上业务问题以及崩溃问题的定位和解决,新技术从技术调研到方案落地等工作。 主要成绩: 1.客户端设备绑定模块的重构。 2.项目整体框架的搭建和优化。 3.安卓端隐私权限整改,以及问题查找,使之满足工信部的隐私安全检查。 4.安卓端技术优化
170androidAndroid
业务背景:这是一款对乐器学习市场方面的探索项目以及对工程师在flutter技术方面的一个知识锻炼。 业务目标:对音乐教培市场进行一个探视和flutter技术的一个训练,为日后公司在其他项目方面做好用flutter作为开放语言打好坚实基础,充实技术知识和锻炼学习能力。 主要成绩: 1.项目是用了getx来管理页面数据状态和路由管理,也对项目进行了多语言的国际化实现,目前支持10国语言; 2.在项目中使用了dio进行http请求,对dio进行了二次封装,统一了各种事件的异常处理,对其进行解耦; 3.在项目中使用了channel进行与原生之间的调用;
200flutteriosandroidAndroid
广告投放管理后台基于ruoyi-vue-pro框架进行二次开发,各服务通过dubbo+zookeeper进行通讯,消息队列采用rocketmq,缓存中间件采用redis,数据dao层采用mybatis-plus,安全认证框架采用spring-security 主要功能模块:数据分析、投放广告、基础数据、素材管理等模块 需求场景:为实现在各广告平台,如:百度、快手、小红书平台,通过广告投放员进行广告投放,并统计数据消耗及使用情况。
硬件环境:Window 技术应用:springboot+layui+jsp、svg 责任描述: 1.部分数据库表的设计。 2.读取信号灯推送数据并进行业务接口开发。 3.前后端业务功能开发。 项目概述: 全部重新构建旧平台前端和对应信号机业务接口,模仿重新编写海信路口管理平台由C/S架构转移到B/S架构平台,包括路口绘制、实时信号推送读取、信号灯相位配置、调度计划等等功能
当前共17568个项目

评论