- 并发-多线程,线程池。在保证效率的情况下不要轻易使用多线程。多线程不可控,黑盒运行。Guava 异步回调可以根据实际场景适当的运用。JVM 内存模型和运行机制(类加载机制)需要加强。
- Redis 缓存的使用,能够进行缓存的数据结构设计。String,List,Queue,HashMap,Set。
- 缓存设计,根据不同的应用场景设计不同的缓存方案。String 数据结构和 HashMap 数据结构需要区分,很多场景既能使用 String,又能使用 HashMap。这种情况使用 String 往往会产生大量的 Key 值,使用 HashMap 又不便于扩展,取值复杂。需要合理选择。
- 缓存淘汰策略,当大量读写数据库和缓存时,采取合理的缓存淘汰策略能够避免脏数据的产生,也能减少缓存 miss。在多线程读写数据库 Save Or Update 时,处理不当会造成主键重复异常等,缓存会产生脏数据,采用先淘汰缓存后更新数据库。(先淘汰后更新,PubSub 更新,事务隔离前淘汰等。)
- 数据库事务,数据库事务机制能够保证数据的准确性,操作的原子性。但事务运用的不当时,会造成代码运行速度下降,系统负担加大。目前 Web 项目中,数据库事务机制大多由 Spring 管理,Spring Aop 对事务的切入点不对会造成大片的代码段锁死。
- RPC 框架,模块之间相互通信框架。是对 HTTP 的一种封装和优化。目前常用 RPC 有:Dubbo,Hessian。采用 RPC 框架可以使各个层之间解耦合(或者最大限度地松耦合)。
- MongoDb,一种非关系型(NOSQL)数据库。集合,文档的概念,对于存储 json 非常方便。
- NodeJs
-
Java
3187 引用 • 8213 回帖
Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。
-
Spring
944 引用 • 1459 回帖 • 18 关注
Spring 是一个开源框架,是于 2003 年兴起的一个轻量级的 Java 开发框架,由 Rod Johnson 在其著作《Expert One-On-One J2EE Development and Design》中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 JavaEE 应用程序开发提供集成的框架。
-
多线程
11 引用 • 26 回帖
-
Redis
286 引用 • 248 回帖 • 62 关注
Redis 是一个开源的使用 ANSI C 语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API。从 2010 年 3 月 15 日起,Redis 的开发工作由 VMware 主持。从 2013 年 5 月开始,Redis 的开发由 Pivotal 赞助。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于