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,支持用户个性资料、好友聊天、随机匹配聊天、用户画像匹配聊天、私人聊天室创建维护。后端使用springboot、netty,前端使用uniapp,部署于阿里云服务器
●项目描述:包括系统管理后台和微信小程序端两部分。管理后台供员工使用,可对菜品、分类、套餐、订单、员工等进行维护和管理,展示和分析运营数据。微信小程序供消费者使用,可浏览套餐、菜品、添加到购物车、下单、催单等 ●项目工具:SpringBoot、Mybatis、MySQL、Redis、Maven、Git、nginx、Vue、微信开发工具 ●项目亮点:1.使用Redis缓存菜品和套餐数据,缓解高并发下频繁查询数据导致的性能下降问题 2.自定义拦截器进行JWT校验,通过ThreadLocal保存用户信息,在请求的线程内,随时获取用户id并实现线程隔离,多个用户不会相互影响,使用完后删除val
●项目描述:该论坛旨在帮助广大计科学生交流学习,有用户注册、帖子发布、分类、查看、评论、点赞、以及管理员功能,管理员设立各大板块,用户在板块中发布帖子,他人评论、点赞。管理员定时审查用户发布内容,必要时进行删帖和封号 ●项目架构:整合SSM,采用了MVC三层架构设计,使用MySQL储存数据,jsp构建页面,于Tomcat服务器部署运行 ●个人工作:1.数据库读写:使用了Mybatis框架和dbcp数据库连接池连接数据库,提高了数据库链接的性能 2.Spring框架的配置:编写Spring核心配置文件,分别对dao层和service层配置,并无缝集成Mybatis框架
本系统面向监狱、拘留所等人员密集且门禁管理严格的场所,解决如下问题: 1、在紧急情况下(火灾、地震等)一键打开需要区域的门禁,打开逃生通道 2、使用无线局域网通信,解决现有门禁系统没有备份、线路在灾害中易损坏的问题 3、一键警戒功能,在越狱等警情发生时快速锁死门禁。 本方案相比市场现有门禁系统的特点: 1、 无线局域网组网,减少布线施工,减少灾害影响 2、门禁权限自定义,可以快速定义全局、区域门禁权限 3、手持无线终端,可以快速响应 4、基于lora的无线保密通信,避免外界干扰 产品方案组成: 1、系统软件 2、无线信号收发基站 3、无线门禁终端 4、手持无线门禁终端
基于Java开发的卡牌游戏 游戏玩法:初始牌堆是一副完整扑克牌去掉大小王。每个玩家起5张牌。然后玩家依次从自己手牌遗弃一张,从牌堆抽一张交换。率先凑齐任意一个花色数值相加等于21的获胜。JQK的值都算10,A的值可当1或11(相当于赖子) 项目实现:实现游戏玩法,实现电脑玩家自动决策换牌 技术:Java Socket、Java Swing、多线程、序列化
当前共16806个项目

评论