首页
学习
活动
专区
工具
TVP
发布

朝雨忆轻尘

专栏成员
139
文章
277366
阅读量
48
订阅数
Java并发编程:Java中的锁和线程同步机制
乐观锁是一种乐观思想,即认为读多写少,遇到并发写的可能性低,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据,采取在写时先读出当前版本号,然后加锁操作(比较跟上一次的版本号,如果一样则更新),如果失败则要重复读-比较-写的操作。Java中的乐观锁基本都是通过CAS操作实现的,CAS是一种更新的原子操作,比较当前值跟传入值是否一样,一样则更新,否则失败。
朝雨忆轻尘
2019-09-25
8680
Java并发编程:Java实现多线程的几种方式
在Java中,多线程主要的实现方式有四种:继承Thread类、实现Runnable接口、实现Callable接口通过FutureTask包装器来创建Thread线程、使用ExecutorService、Callable、Future实现有返回结果的多线程。其中前两种方式线程执行完后都没有返回值,而后两种是带返回值的。除此之外,通过Timer启动定时任务,或者通过像Spring Task和quartz这样的第三方任务调度框架也可以开启多线程任务。
朝雨忆轻尘
2019-09-25
8.1K0
Tomcat笔记:Tomcat的执行流程解析
Bootstrap的main方法先new了一个自己的对象(Bootstrap),然后用该对象主要执行了四个方法:
朝雨忆轻尘
2019-06-19
9390
Spring Boot + Spring Cloud 构建微服务系统(二):服务消费和负载(Ribbon)
在上一篇教程中,我们是这样调用服务的,先通过 LoadBalancerClient 选取出对应的服务,然后使用 RestTemplate 进行远程调用。
朝雨忆轻尘
2019-06-19
6210
常用消息队列介绍和对比
消息队列是分布式应用间交换信息的重要组件,消息队列可驻留在内存或磁盘上, 队列可以存储消息直到它们被应用程序读走。
朝雨忆轻尘
2019-06-19
4.3K0
Redis笔记(六):Java中使用Redis
下载地址: http://central.maven.org/maven2/redis/clients/jedis/2.9.0/jedis-2.9.0.jar
朝雨忆轻尘
2019-06-19
5590
Redis笔记(三):Redis常用命令
启动 redis 客户端,打开终端并输入命令 redis-cli。该命令会连接本地的 redis 服务。
朝雨忆轻尘
2019-06-19
9560
Redis笔记(二):Redis数据类型
Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。
朝雨忆轻尘
2019-06-19
6010
Vue笔记:VS Code 常用快捷键
1、Auto Rename Tag 修改 html 标签,自动帮你完成尾部闭合标签的同步修改,和 webstorm 一样。
朝雨忆轻尘
2019-06-19
4.2K0
Vue笔记:使用 VS Code 断点调试
直接在 Chrome 的调试窗口中调试 Vue 代码有诸多不便, 好在 Visual Studio Code 中提供了 Debugger for Chrome 插件,能够通过配置直接在 VS Code 断点调试代码, 并且在 VS Code 的调试窗口看到 Chrome 中 console 相同的值,这篇文章就来介绍一下这个配置过程。
朝雨忆轻尘
2019-06-19
2.9K0
Java虚拟机(五):JVM调优命令
运用jvm自带的命令可以方便的在生产监控和打印堆栈的日志信息帮忙我们来定位问题!虽然jvm调优成熟的工具已经有很多:jconsole、大名鼎鼎的VisualVM,IBM的Memory Analyzer等等,但是在生产环境出现问题的时候,一方面工具的使用会有所限制,另一方面喜欢装X的我们,总喜欢在出现问题的时候在终端输入一些命令来解决。所有的工具几乎都是依赖于jdk的接口和底层的这些命令,研究这些命令的使用也让我们更能了解jvm构成和特性。
朝雨忆轻尘
2019-06-19
4890
Java虚拟机(四):JVM类加载机制
类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对象,用来封装类在方法区内的数据结构。类的加载的最终产品是位于堆区中的Class对象,Class对象封装了类在方法区内的数据结构,并且向Java程序员提供了访问方法区内的数据结构的接口。
朝雨忆轻尘
2019-06-19
2930
Java虚拟机(三):JVM垃圾回收机制
垃圾收集 Garbage Collection 通常被称为“GC”,它诞生于1960年 MIT 的 Lisp 语言,经过半个多世纪,目前已经十分成熟了。
朝雨忆轻尘
2019-06-19
2850
Spring Boot + Spring Cloud 实现权限管理系统 后端篇(四):集成 MyBatis 框架
Spring Boot对于MyBatis的支持需要引入mybatis-spring-boot-starter的pom文件。
朝雨忆轻尘
2019-06-19
6920
Java跨语言调用,使用JNA访问Java外部接口
先说JNI(Java Native Interface)吧,有过不同语言间通信经历的一般都知道,它允许Java代码和其他语言(尤其C/C++)写的代码进行交互,只要遵守调用约定即可。首先看下JNI调用C/C++的过程,注意写程序时自下而上,调用时自上而下。
朝雨忆轻尘
2019-06-18
4.4K0
Java集合框架
早在 Java 2 中之前,Java 就提供了特设类。比如:Dictionary, Vector, Stack, 和 Properties 这些类用来存储和操作对象组。
朝雨忆轻尘
2019-06-18
1K0
Spring Boot + Spring Cloud 实现权限管理系统 后端篇(八):MyBatis分页功能实现
使用Mybatis时,最头痛的就是写分页,需要先写一个查询count的select语句,然后再写一个真正分页查询的语句,当查询条件多了之后,会发现真不想花双倍的时间写 count 和 select,幸好我们有 pagehelper 分页插件,pagehelper 是一个强大实用的 MyBatis 分页插件,可以帮助我们快速的实现分页功能。那么,接下来我们就来一起体验下吧。
朝雨忆轻尘
2019-06-18
4880
Spring Boot + Spring Cloud 实现权限管理系统 后端篇(十)
通用操作是指一般的增删改查操作,逻辑大体都是一致的,所以统一抽象到CURD接口,需要用到CURD的表直接实现接口就可以了。
朝雨忆轻尘
2019-06-18
6430
Vue + Element UI 实现权限管理系统 前端篇(六):更换皮肤主题
首先安装「主题生成工具」,可以全局安装或者安装在当前项目下,推荐安装在项目里,方便别人 clone 项目时能直接安装依赖并启动。
朝雨忆轻尘
2019-06-18
1.4K0
Vue + Element UI 实现权限管理系统 前端篇(五)
国际化支持 1.安装依赖 执行以下命令,安装 i18n 依赖。 yarn add vue-i18n $ yarn add vue-i18n yarn add v1.9.4 warning package-lock.json found. Your project contains lock files generated by tools other than Yarn. It is advised not to mix package managers in order to avoid resoluti
朝雨忆轻尘
2019-06-18
1.2K0
点击加载更多
社区活动
【纪录片】中国数据库前世今生
穿越半个世纪,探寻中国数据库50年的发展历程
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档