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、Dubbo、Zookeeper、MybatisPlus、sqlserver、Redis、阿里云翻译、七牛云、钉钉机械人、Midjourney、Stable Diffusion。 项目描述:此项目的背景是基于23年的ai突然崛起,当时Midjourney只有网页版,不放方便用户操作,而我们公司就开发了一款手机端的光影绘画,其底层还是基于Midjourney和Stable Diffusion实现的,一个脚本程序从redis中拿到生成图片的咒语生成图片存取七牛云后将图片地址放入redis另外一个队列中,然后一个定时任务消费这个队列的数据将得到的图片地址入库,此项目中包
项目描述:该项目致力于分析和评估用户对于科创平台的贡献度。贡献度的评估从两方面出发:在系统活跃度方面,通过收集科创平台生成的日志,综合分析平台用户的功能使用频率、总使用次数、使用时间分布、连续登录天数等信息,判断用户对于科创平台的贡献度得分;在学术影响力方面,通过收集平台用户的论文、专利、科研项目、职称、任职等信息,衡量用户的科研影响力,评估对于科创平台的潜在贡献度。 所用技术:Spring Boot、Mybatis、MybatisPlus、MySQL、Redis、Swagger、Vue、ECharts 个人职责: 1、使用Spring Boot框架搭建后端服务,编写后端业务逻辑代码,与
1060vuemysqlspringbootredis
1、稿件和状态信息封装在json/xml文件中,素材是小图片(2M以内)转BASE64码封装在json/xml中,大视频、大图片和大文件(超过2M)独立传输,json/xml中只关联稿件(采用分布式ID,保证生成ID唯一性)。(百度分布式UID,Twitter SnowFlake雪花算法分布式ID) 2、通过Https协议进入信息外网DMZ,再由融媒体同步服务器通过SQL透传至内网数据库。独立传输的大文件、视频、大图片(涉及到图片处理放在文件服务中)临时存储在外网非结构化融合平台,外网系统数据库旁路连接,存储稿件数据副本,以便在发生异常时可以读取副本数据进行重试,此外也作为向内网同步数据的缓冲
1160docker其他
项目描述:该系统致力于解决用户在多个电商平台中查找优质商品的问题。通过爬取多个电商平台的商品数据并构建电商知识图谱,我们建立了一个多平台购物推荐网站。该网站展示了电商知识图谱中的商品数据,并为用户提供了个性化的购物推荐服务,帮助用户在众多平台中快速找到性价比更高的商品。 所用技术:Spring Boot、Mybatis、MybatisPlus、Neo4j、Redis、Swagger、Vue、Vant、Element UI、D3.js、Selenium 个人职责: 1、使用Selenium编写爬虫程序,从各大电商平台获取商品数据和商家信息,并对爬取到的数据进行清洗和处理,确保数据的准确性和
1290vuemysqlspringboot爬虫java
实现一个可拖拽的可视化内容编辑器【CMS】,可见即所得,编辑的内容以json的方式存到数据库。 展示端可以用H5或者小程序原生组件展示。可以快速配置出活动页面。
1180CMS小程序mysql前端
当前共17993个项目

评论