待兔 待兔
4年前
ThreadLocal源码分析
最近在学多线程并发的知识,发现好像ThreadLoca还挺重要,决定看看源码以及查找各方资料来学习一下。ThreadLocal能够提供线程的局部变量,让每个线程都可以通过set/get来对这个局部变量进行操作,不会和其它线程的局部变量进行冲突,实现了线程的数据隔离。首先是ThreadLocal的结构:每个Thread维护一个ThreadLocalMap,这个
Easter79 Easter79
4年前
Springmvc+mybatis+Dubbo+ZooKeeper+Redis+KafKa
开发工具1.EclipseIDE:采用Maven项目管理,模块化。2.代码生成:通过界面方式简单配置,自动生成相应代码,目前包括三种生成方式(增删改查):单表、一对多、树结构。生成后的代码如果不需要注意美观程度,生成后即可用。技术选型(只列了一部分技术)1、后端服务框架:Dubbo、zookeeper、Rest服务缓存:redis
Wesley13 Wesley13
4年前
Java多线程之线程安全队列Queue
在Java多线程应用中,队列的使用率很高,多数生产消费模型的首选数据结构就是队列。Java提供的线程安全的Queue可以分为阻塞队列和非阻塞队列,其中阻塞队列的典型例子是BlockingQueue,非阻塞队列的典型例子是ConcurrentLinkedQueue,在实际应用中要根据实际需要选用阻塞队列或者非阻塞队列。注:什么叫线程安全?这个首先要明确。
Stella981 Stella981
4年前
Mongoose
Mongoosemodifiedat是一款自动更新字段变化时间并记录到数据库中的Mongoose插件,类似Mongoose自带的timestamps功能。使用场景让我们考虑一个场景,我们有个文章发布与展示的需求,数据模型如下。constschemanewmongoose.Sche
Easter79 Easter79
4年前
Spring整合Hibernate 之 save、saveorupdate、persist方法的区别
这三个方法,也就是save()、saveOrUpdate()和persist()都是用于将对象保存到数据库中的方法,但其中有些细微的差别。例如,save()只能INSERT记录,但是saveOrUpdate()可以进行记录的INSERT和UPDATE(https://www.oschina.net/action/GoToLink?urlhttp%3A%
Wesley13 Wesley13
4年前
MongoDB运行状态、性能监控,分析
mongostat详解!(https://static.oschina.net/uploads/space/2017/0411/000336_i2JV_2253738.png)mongostat是mongdb自带的状态检测工具,在命令行下使用。它会间隔固定时间获取mongodb的当前运行状态,并输出。如果你发现数据库突然变
Wesley13 Wesley13
4年前
MongoDB 分片的原理、搭建、应用
一、概念:     分片(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fdocs.mongodb.org%2Fmanual%2Fcore%2Fshardingintroduction%2F)(sharding)是指将数据库拆分,将其分散在不同的机器上的过程。将数据分散到不
小万哥 小万哥
2年前
深入了解 Python MongoDB 查询:find 和 find_one 方法完全解析
在MongoDB中,我们使用find()和findone()方法来在集合中查找数据,就像在MySQL数据库中使用SELECT语句来在表中查找数据一样查找单个文档要从MongoDB的集合中选择数据,我们可以使用findone()方法。findone()方法返
基于javaPoet的缓存key优化实践
作者:京东物流方志民一.背景在一次系统opsreview中,发现了一些服务配置了@Cacheable注解。@cacheable来源于springcache框架中,作用是使用aop的方式将数据库中的热数据缓存在redis/本地缓存中,代码如下:@Cachea