云HIS系统源码,基层卫生健康云综合管理系统源码
该HIS系统基于云端部署,采用B/S架构与SaaS模式,专为二级医院设计,快速交付且易于维护。系统融合HIS与EMR,涵盖患者、费用、医嘱、电子病历等核心业务,形成一体化医护工作站。分为基层卫生健康云综合管理系统(供运营商、开发商和监管机构使用)和业务系统(支撑医院运转)。技术上使用Angular、Java、Spring系列框架、MySQL、Redis等。功能模块包括一卡通管理、划价收费、医生工作站、药房药库管理、出入院管理、护士站系统、治疗室管理、财务查询统计及后台维护系统,全面支持医院信息化运作。
通义灵码:AI重构编码范式,开发者如何迎接“人机共生”时代?
本文探讨了以通义灵码为代表的AI编码助手如何推动软件开发从“人驱动工具”向“人机协同创造”演进。文章分析了其技术突破,如意图理解、上下文感知和可解释性,并讨论了开发者价值链条的重构,包括需求抽象、架构设计与代码审查能力的提升。同时,文章展望了行业变革对开发者身份、云生态竞争及技术伦理的影响,强调在AI驱动的“寒武纪大爆发”前夜,唯有持续进化才能适应未来软件工程的“人机共生”文明。
中国AI编码工具崛起:技术突围、生态重构与开发者新范式
中国AI编码工具如通义灵码、百度Comate等,正从西方产品的主导中突围。通过大模型精调、中文友好型理解及云原生赋能,构建差异化优势。这些工具不仅提升效率,还推动中国软件产业从使用者向标准制定者转变。然而,技术原创性、生态碎片化和开发者信任危机仍是挑战。未来目标不是取代现有工具,而是定义适合中国开发者的智能编码新范式。
给Web开发者的HarmonyOS指南01-文本样式
本系列教程适合 HarmonyOS 初学者,为那些熟悉用 HTML 与 CSS 语法的 Web 前端开发者准备的。
给Web开发者的HarmonyOS指南02-布局样式
本系列教程适合鸿蒙 HarmonyOS 初学者,为那些熟悉用 HTML 与 CSS 语法的 Web 前端开发者准备的。
数据库的行级锁与表锁?
表锁: 不会出现死锁,发生锁的冲突几率高,并发性低。 存储引擎在进行SQL数据读写请求前,会对涉及到的表进行加锁。 其中锁分为共享读锁和独占写锁:读锁会阻塞写,写锁会阻塞读和写。 行级锁: 会出现死锁,发生锁的冲突几率低,并发性高。 InnoDB引擎支持行锁,与Oracle不同,MySQL的行锁是通过索引加载的,也就是说,行锁是加在索引响应的行上的,要是对应的SQL语句没有走索引,则会全表扫描,行锁则无法实现,取而代之的是表锁,此时其它事务无法对当前表进行更新或插入操作。 行级锁注意事项: 行级锁必须有索引才能实现,否则会自动锁全表,那就不是行锁了。 两个事务不能锁同一个索引。 in
什么是缓存穿透 ? 怎么解决 ?
缓存穿透是指查询一条数据库和缓存都没有的一条数据,就会一直查询数据库,对数据库的访问压力就会增大,缓存穿透的解决方案 有以下2种解决方案 : ● 缓存空对象:代码维护较简单,但是效果不好。 ● 布隆过滤器:代码维护复杂,效果很好
MYSQL支持的存储引擎有哪些, 有什么区别
MYSQL存储引擎有很多, 常用的就二种 : MyISAM和InnerDB , 者两种存储引擎的区别 ; ● MyISAM支持256TB的数据存储 , InnerDB只支持64TB的数据存储 ● MyISAM 不支持事务 , InnerDB支持事务 ● MyISAM 不支持外键 , InnerDB支持外键
什么叫覆盖索引
覆盖索引是指只需要在一棵索引树上就能获取SQL所需的所有列数据 , 因为无需回表查询效率更高 实现覆盖索引的常见方法是:将被查询的字段,建立到联合索引里去。 执行如下查询语句 : select name,age from user where name='Alice' 因为要查询 name和 age二个字段 , 那么我们可以建立组合索引 create index index_name_age on user(name,age) 那么索引存储结构如下 : 这种情况下, 执行select name,age from user where name='Alice' , 会先根据name='Ali
Redis的数据淘汰策略有哪些 ?
Redis 提供 8 种数据淘汰策略: 淘汰易失数据(具有过期时间的数据) 1. volatile-lru(least recently used):从已设置过期时间的数据集(server.db[i].expires)中挑选最近最少使用的数据淘汰 2. volatile-lfu(least frequently used):从已设置过期时间的数据集(server.db[i].expires)中挑选最不经常使用的数据淘汰 3. volatile-ttl:从已设置过期时间的数据集(server.db[i].expires)中挑选将要过期的数据淘汰 4. volatile-random:从已设置过期
Mysql的索引
MYSQL索引主要有 : 单列索引 , 组合索引和空间索引 , 用的比较多的就是单列索引和组合索引 , 空间索引我这边没有用到过 单列索引 : 在MYSQL数据库表的某一列上面创建的索引叫单列索引 , 单列索引又分为 ● 普通索引:MySQL中基本索引类型,没有什么限制,允许在定义索引的列中插入重复值和空值,纯粹为了查询数据更快一点。 ● 唯一索引:索引列中的值必须是唯一的,但是允许为空值 ● 主键索引:是一种特殊的唯一索引,不允许有空值 ● 全文索引: 只有在MyISAM引擎、InnoDB(5.6以后)上才能使⽤用,而且只能在CHAR,VARCHAR,TEXT类型字段上使⽤用全⽂文索引。
ConcurrentHashMap 底层具体实现
ConcurrentHashMap 是一种线程安全的高效Map集合 底层数据结构: ● JDK1.7的 ConcurrentHashMap 底层采用 分段的数组+链表 实现, ● JDK1.8 采用的数据结构跟HashMap1.8的结构一样,数组+链表/红黑二叉树。 JDK1.7 首先将数据分为一段一段的存储,然后给每一段数据配一把锁,当一个线程占用锁访问其中一个段 数据时,其他段的数据也能被其他线程访问。 在JDK1.7中,ConcurrentHashMap采用Segment + HashEntry的方式进行实现 一个 ConcurrentHashMap 里包含一个 Segment 数组。S
ArrayList 和 LinkedList 的区别是什么?
1. 数据结构实现:ArrayList 是动态数组的数据结构实现,而 LinkedList 是双向链表的数据结构实 现。 2. 随机访问效率:ArrayList 比 LinkedList 在随机访问的时候效率要高,因为 LinkedList 是线性的数 据存储方式,所以需要移动指针从前往后依次查找。 3. 增加和删除效率:在非首尾的增加和删除操作,LinkedList 要比 ArrayList 效率要高,因为 ArrayList 增删操作要影响数组内的其他数据的下标。 4. 内存空间占用:LinkedList 比 ArrayList 更占内存,因为 LinkedList 的节点除了存储数
加锁的方式有哪些 ?
使用synchronized关键字 使用Lock锁 synchronized和Lock有什么区别 ? 首先synchronized是Java内置关键字,在JVM层面,Lock是个Java类; synchronized 可以给类、方法、代码块加锁;而 lock 只能给代码块加锁。 synchronized 不需要手动获取锁和释放锁,使用简单,发生异常会自动释放锁,不会造成死锁; 而 lock 需要自己加锁和释放锁,如果使用不当没有 unLock()去释放锁就会造成死锁。 通过 Lock 可以知道有没有成功获取锁,而 synchronized 却无法办到。
== 和 equals 的区别是什么
== : 它的作用是判断两个对象的地址是不是相等。即,判断两个对象是不是同一个对象。(基本数 据类型 == 比较的是值,引用数据类型 == 比较的是内存地址) equals() : 它的作用也是判断两个对象是否相等。
MongoDB简介
MongoDB是一个开源、高性能、无模式的文档型数据库,当初的设计就是用于简化开发和方便扩展,是NoSQL数据库产品中的一种。是最像关系型数据库(MySQL)的非关系型数据库。 它支持的数据结构非常松散,是一种类似于 JSON 的格式叫BSON,所以它既可以存储比较复杂的数据类型,又相当的灵活。 MongoDB中的记录是一个文档,它是一个由字段和值对(field:value)组成的数据结构。MongoDB文档类似于JSON对象,即一个文档认为就是一个对象。字段的数据类型是字符型,它的值除了使用基本的一些类型外,还可以包括其他文档、普通数组和文档数组。
SimpleDateFormat不要定义为static
说明:如果是 JDK8 的应用,可以使用 Instant 代替 Date,LocalDateTime 代替 Calendar,DateTimeFormatter 代替 SimpleDateFormat,官方给出的解释:simple beautiful strong immutable thread-safe。