- 博客(25)
- 收藏
- 关注
原创 Redis与MySQL双写一致性如何保证
Redis与MySQL双写一致性如何保证?这道题其实就是在问缓存和数据库在双写场景下,一致性是如何保证的?本文将跟大家一起来探讨如何回答这个问题。谈谈一致性一致性就是数据保持一致,在分布式系统中,可以理解为多个节点中数据的值是一致的。 强一致性:这种一致性级别是最符合用户直觉的,它要求系统写入什么,读出来的也会是什么,用户体验好,但实现起来往往对系统的性能影响大 弱一致性:这种一致性级别约束了系统在写入成功后,不承诺立即可以读到写入的值,也不承诺多久之后数据能够达到一致,但会尽可
2021-07-08 11:04:08
221
转载 集合各实现类的底层实现原理
ArrayList实现原理要点概括参考文献: http://zhangshixi.iteye.com/blog/674856l https://www.cnblogs.com/leesf456/p/5308358.htmlArrayList是List接口的可变数组非同步实现,并允许包括null在内的所有元素。底层使用数组实现该集合是可变长度数组,数组扩容时,会将老数组中的元素重新拷贝一份到新的数组...
2018-07-04 10:55:26
295
转载 String,StringBuffer与StringBuilder的区别??
String 字符串常量StringBuffer 字符串变量(线程安全)StringBuilder 字符串变量(非线程安全) 简要的说, String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象, 因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象,所以经常改变内容的字...
2018-05-30 22:43:47
247
转载 JAVA集合类汇总
一、集合与数组数组(可以存储基本数据类型)是用来存现对象的一种容器,但是数组的长度固定,不适合在对象数量未知的情况下使用。集合(只能存储对象,对象类型可以不一样)的长度可变,可在多数情况下使用。二、层次关系如图所示:图中,实线边框的是实现类,折线边框的是抽象类,而点线边框的是接口Collection接口是集合类的根接口,Java中没有提供这个接口的直接的实现类。但是却让其被继承产生了两个接口,就是...
2018-05-30 22:10:34
221
转载 intellij idea svn使用一 导入、更新、提交、解决冲突
大体上是转载,针对版本14有一些特殊的添加。查看svn的资源库:下面的多出了一个svn的窗口,在左边有加号可以添加一个svn的库输入svn的地址,我用的是本地的测试,所以地址为svn://127.0.0.1/newproject 根据服务不同这个地址也不一样 可能是http或着https添加上svn库的地址后,我们可以浏览库上的文件,当然也可以做一些操作,比如删除,查看历史记录等,这里在添加svn...
2018-04-20 10:57:28
317
原创 SpringBoot中使用 拦截器
在web开发的过程中,为了实现登录权限验证,我们往往需要添加一个拦截器在用户的的请求到达controller层的时候实现登录验证,那么SpringBoot如何添加拦截器呢?步骤如下:1.继承WebMvcConfigureAdapter类,覆盖其addInterceptors接口,注册我们自定义的拦截器:/** * * 注册拦截器 * Created by SYSTEM on 2017/...
2018-04-20 10:06:37
3758
转载 Spring Boot中的事务管理
什么是事务?我们在开发企业应用时,对于业务人员的一个操作实际是对数据读写的多步操作的结合。由于数据操作在顺序执行的过程中,任何一步操作都有可能发生异常,异常会导致后续操作无法完成,此时由于业务逻辑并未正确的完成,之前成功操作数据的并不可靠,需要在这种情况下进行回退。事务的作用就是为了保证用户的每一个操作都是可靠的,事务中的每一步操作都必须成功执行,只要有发生异常就回退到事务开始未进行操作的状态。事...
2018-04-20 09:25:56
336
转载 Spring Boot中使用@Async实现异步调用
什么是“异步调用”?“异步调用”对应的是“同步调用”,同步调用指程序按照定义顺序依次执行,每一行程序都必须等待上一行程序执行完成之后才能执行;异步调用指程序在顺序执行时,不等待异步调用的语句返回结果就执行后面的程序。同步调用下面通过一个简单示例来直观的理解什么是同步调用:定义Task类,创建三个处理函数分别模拟三个执行任务的操作,操作消耗时间随机取(10秒内)@Componentpublic c...
2018-04-19 16:54:58
187
原创 Spring Boot中使用@Scheduled创建定时任务
创建定时任务在Spring Boot中编写定时任务是非常简单的事,下面通过实例介绍如何在Spring Boot中创建定时任务,实现每过5秒输出一下当前时间。在Spring Boot的主类中加入@EnableScheduling注解,启用定时任务的配置@SpringBootApplication@EnableSchedulingpublic class Application { public...
2018-04-19 16:40:16
900
原创 常用的maven命令
Maven常用命令: 1. 创建Maven的普通java项目: mvn archetype:create -DgroupId=packageName -DartifactId=projectName 2. 创建Maven的Web项目: mvn archetype:create -DgroupId=packageName -DartifactId...
2018-04-19 11:43:51
381
转载 Assert断言机制
Assert(断言)的初步理解构思Web 应用在接受表单提交的数据后都需要对其进行合法性检查,如果表单数据不合法,请求将被驳回。类似的,当我们在编写类的方法时,也常常需要对方法入参进行合 法性检查,如果入参不符合要求,方法将通过抛出异常的方式拒绝后续处理。举一个例子:有一个根据文件名获取输入流的方法:InputStream getData(String file),为了使方法能够成功执行,必须保证...
2018-04-08 09:29:25
4455
原创 Intellij IDEA 自动清除无效 import 和 清除无效 import 的快捷键
快捷键:ctrl+alt+o自动清除的配置方法: 可以settings-general-auto import-java项,勾选optimize imports on the fly,在当前项目下会自动清除无效的import,而且这个是随时自动清除的。使用idea一次性清理所有java文件中多余导入未使用的包,首先ctrl+alt+s打开设置界面,红框中的位置打勾点击ok后关闭,然后ctrl + ...
2018-04-03 13:16:24
78440
4
转载 Intellij Idea 工具在java文件中如何避免 import .*包
Intellij Idea工具在java文件中怎么避免import java.utils.*这样的导入方式,不推崇导入*这样的做法!Editor->Code Style->Java->Imports Class count to use import with '*':设置500!Names count to use static import with '*':设置500!...
2018-04-03 12:38:55
1416
原创 IntelliJ IDEA编码设置
项目中为了避免乱码等问题应该使用UTF-8编码方式,其实把编码方式设置成UTF-8是创建完项目后就要做的事,按照如图所示进行设置:这里要将Transparent native-to-ascii conversion选项勾选,否则项目中properties文件中的中文会显示成Unicode编码值!如图所示:...
2018-04-03 12:36:58
552
转载 IntelliJ IDEA设置调试模式的Variables和Watches窗口的变量为Object模式
测试用例:public class Test { public static void main(String[] args) throws NoSuchAlgorithmException { Map<String, Integer> map = new HashMap<String, Integer>(); map.put("语文...
2018-04-03 12:35:04
12168
转载 @IntelliJ IDEA查找依赖关系,解决jar包冲突
使用Intellij idea,想看看它的maven依赖图,在打开的pom.xml文件上右键Diagrams--Show Dependencies,就可以看到了。对于pom.xml配置的依赖,idea默认不是立即更新的,需要运行Maven--Reimport才能生效。不过可以根据提示将Reimport操作设置为自动的。Intellij idea图显示是这样的在图里选中一个artifact,则所有依...
2018-04-03 12:21:45
29051
1
转载 @IDEA中多行注释及取消注释快捷键
1、一次性添加多行注释的快捷键首先选中要注释区域,然后ctrl+/ : 这个是多行代码分行注释,每行一个注释符号ctrl+shift+/ : 这个是多行代码注释在一个块里,只在开头和结尾有注释符号2、取消多行注释快捷键怎样添加快捷键的,用相同方法取消,如 ctrl+/ : 添加注释,则ctrl+/取消注释ctrl+shift+/ : 添加注释,则ctrl+shift+/取消注释...
2018-04-03 12:14:02
37171
5
转载 IntelliJ设置鼠标悬浮提示
测试代码;public interface MyInterface { /** * 我是接口方法的注释 * @param num1 我是接口方法入参的注释 * @return 我是接口方法返回值的注释 */ Integer add(Integer num1);}public class MyInterfaceImpl implements ...
2018-04-03 12:10:00
6971
1
转载 @如何快速通过json构建java bean对象
和第三方接口对接的时候,返回给我们的json字符串中参数字段可能有很多,所以如果我们手动去创建对应的java bean会花费不少时间,可用通过json自动生成java bean的工具,这里简单的介绍一下Intellij IDEA中的插件GsonFormat。1、什么是GsonFormat将json数据格式转换为java bean对象的插件。2、快捷键 Ctrl+ALT+S,或settings --...
2018-04-03 12:02:23
1396
转载 @Maven pom.xml标配
下面的配置在每一个maven项目的固定配置<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:sche...
2018-04-03 11:50:46
133
转载 SpringBoot热部署
一、开启idea自动make功能 1、CTRL + SHIFT + A--> 查找make project automatically --> 选中 2、CTRL + SHIFT + A--> 查找Registry --> 找到并勾选compiler.automake.allow.when.app.running 最后重启idea 二、使用spring-boot-1.3开始...
2018-04-03 10:01:03
146
原创 MySQL 事务
MySQL 事务MySQL 事务主要用于处理操作量大,复杂度高的数据。比如说,在人员管理系统中,你删除一个人员,你即需要删除人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等等,这样,这些数据库操作语句就构成一个事务!在MySQL中只有使用了Innodb数据库引擎的数据库或表才支持事务事务处理可以用来维护数据库的完整性,保证成批的SQL语句要么全部执行,要么全部不执行
2017-12-28 18:05:10
245
原创 MySQL 正则表达式
MySQL 正则表达式在前面的章节我们已经了解到MySQL可以通过 LIKE ...% 来进行模糊匹配。MySQL 同样也支持其他正则表达式的匹配, MySQL中使用 REGEXP 操作符来进行正则表达式匹配。如果您了解PHP或Perl,那么操作起来就非常简单,因为MySQL的正则表达式匹配与这些脚本的类似。下表中的正则模式可应用于 REGEXP 操作符中。模式 描述^ 匹
2017-12-28 18:00:08
167
转载 Xshell使用教程及WinSCP使用教程
http://blog.youkuaiyun.com/u013131533/article/details/50341207在学习Linux之前,首先得下载安装两个软件工具,下载地址如下 WinSCP下载地址: http://pan.baidu.com/s/1eQMBPjc Xshell下载地址: http://pan.baidu.com/s/1qXpxF9E 注:如果链接不可用,可留言找
2017-12-27 17:15:33
1799
转载 Java中@Override的作用
@Override是伪代码,表示重写(当然不写也可以),不过写上有如下好处: 1、可以当注释用,方便阅读;2、编译器可以给你验证@Override下面的方法名是否是你父类中所有的,如果没有则报错。例如,你如果没写@Override,而你下面的方法名又写错了,这时你的编译器是可以编译通过的,因为编译器以为这个方法是你的子类中自己增加的方法。举例:在重写父类的onCreate时,在方法
2017-12-27 16:12:02
456
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人