java

MySQL老大难事务和锁,一次性讲清楚!

戏子无情 提交于 2021-02-18 14:09:39
点击上方蓝色“ java大数据修炼之道 ”, 选择“ 设为星标 ” 每晚九点: 技术干货 👉 必定奉上 本文来源:http://r6d.cn/acuaX 众所周知, 事务和锁 是mysql中非常重要功能,同时也是面试的重点和难点。本文会详细介绍 事务和锁 的相关概念及其实现原理,相信大家看完之后,一定会对 事务和锁 有更加深入的理解。 “ 本文主要内容是根据掘金小册《从根儿上理解 MySQL》整理而来。如想详细了解,建议购买掘金小册阅读。 ” 什么是事务 在维基百科中,对事务的定义是: 事务是数据库管理系统(DBMS)执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成 。 事务的四大特性 事务包含四大特性,即 原子性(Atomicity) 、 一致性(Consistency) 、 隔离性(Isolation)和持久性(Durability) (ACID)。 原子性(Atomicity) 原子性是指对数据库的一系列操作,要么全部成功,要么全部失败,不可能出现部分成功的情况 。以转账场景为例,一个账户的余额减少,另一个账户的余额增加,这两个操作一定是同时成功或者同时失败的。 一致性(Consistency) 一致性是指数据库的完整性约束没有被破坏,在事务执行前后都是合法的数据状态 。这里的一致可以表示数据库自身的约束没有被破坏,比如某些字段的唯一性约束、字段长度约束等等

.net必问的面试题系列之基本概念和语法

萝らか妹 提交于 2021-02-18 13:45:17
上个月离职了,这几天整理了一些常见的面试题,整理成一个系列给大家分享一下,机会是给有准备的人,面试造火箭,工作拧螺丝,不慌,共勉。 1.net必问的面试题系列之基本概念和语法 2.net必问的面试题系列之面向对象 3.net必问的面试题系列之设计模式 4.net必问的面试题系列之集合、异常、泛型 5.net必问的面试题系列之简单算法 6.net必问的面试题系列之数据库 7.net必问的面试题系列之web前端 .net打杂工程师的面试感想和总结 ###问题目录 1 字符串中string str=null和string str=""和string str=string.Empty的区别 2 byte b = 'a'; byte c = 1; byte d = 'ab'; byte e = '啊'; byte g = 256; 这些变量有些错误是错再哪里? 3 string和StringBuilder的区别,两者性能的比较 4 什么是扩展方法? 5 byte a =255;a+=5;a的值是多少? 6 什么是装箱和拆箱? 7 值类型和引用类型的区别 8 new关键字的作用 9 int?和int有什么区别 10 C#中的委托是什么? 11 用最有效的方法算出2乘以8等于几? 12 const和readonly有什么区别? 13.现有一个整数number

Java Compiler replacing StringBuilder with + concatenation

ぐ巨炮叔叔 提交于 2021-02-18 13:39:51
问题 Here's some simple Java code: String s = new StringBuilder().append("a").append("b").append("c").toString(); I compile it with JRE 1.6, and I observe the following in the decompiled class file: String s = "a" + "b" + "c"; I had the following questions: Why does the compiler choose '+' over StringBuilder? Do we have any official Java specification that justifies this behavior? Does it really make sense to use StringBuilder in such cases, where we know compiler is going to change it anyway? 回答1

Java Compiler replacing StringBuilder with + concatenation

梦想与她 提交于 2021-02-18 13:39:07
问题 Here's some simple Java code: String s = new StringBuilder().append("a").append("b").append("c").toString(); I compile it with JRE 1.6, and I observe the following in the decompiled class file: String s = "a" + "b" + "c"; I had the following questions: Why does the compiler choose '+' over StringBuilder? Do we have any official Java specification that justifies this behavior? Does it really make sense to use StringBuilder in such cases, where we know compiler is going to change it anyway? 回答1

趣图:MySQL = 没压岁钱了

爱⌒轻易说出口 提交于 2021-02-18 13:18:10
程序员的成长之路 互联网/程序员/技术/资料共享 关注 阅读本文大概需要 2.8 分钟。 辛丑牛年来了,祝大家新春快乐 MySQL = 没压岁钱了 ↓↓↓ 我是真的没有压岁钱收了 还能收的盆友都收到多少呀?来说说呗 <END> 推荐阅读: 微信昵称加「福」字,最新官方攻略来了! 微信官宣:5000W个微信红包封面,可以秀一波了!! 5T技术资源大放送!包括但不限于:C/C++,Linux,Python,Java,PHP,人工智能,单片机,树莓派,等等。在公众号内回复「 2048 」,即可免费获取!! 微信扫描二维码,关注我的公众号 朕已阅 本文分享自微信公众号 - 程序员的成长之路(cxydczzl)。 如有侵权,请联系 support@oschina.cn 删除。 本文参与“ OSC源创计划 ”,欢迎正在阅读的你也加入,一起分享。 来源: oschina 链接: https://my.oschina.net/u/4581745/blog/4953799

Intellij IDEA code coverage doesn't work

你离开我真会死。 提交于 2021-02-18 12:56:05
问题 When I'm trying to run my JUnit tests with coverage I receive the following error FATAL ERROR in native method: processing of -javaagent failed java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at sun.instrument

intellij idea中解决java.lang.VerifyError: Expecting a stackmap frame at branch target的方法

一个人想着一个人 提交于 2021-02-18 12:54:52
【实习第三周,被生活逼成了全栈hhhh从开发写到测试】 报错如下: 经过查找各类资料博客,针对不同的情况有不同的解决办法: 1. java源代码是用jdk1.6下开发的,后来环境上替换安装了jdk1.7编译运行。运行报错。 我的错误不属于这种情况,因为我是jdk1.8下开发并编译的,但这里还是提一下这种解决办法: jdk设置参数:-XX:-UseSplitVerifier 2. 这是我的情况,即在jdk1.8下开发并编译,还是出现这样的错误,此时应该把jdk参数设置为:-noverify 关于该如何设置在intellij中配置vm参数: 在上面的tool bar中,看到自己的项目,点击那个三角选择:“Edit configuration” 把VM option改成“-noverify” 来源: oschina 链接: https://my.oschina.net/u/4381341/blog/3927510

Eclipse RCP AspectJ configure

孤街醉人 提交于 2021-02-18 12:36:12
问题 I am trying to add AspectJ in my Eclipse RCP/RAP application. I did step by step as these guys say: link here (except creating a new platform, I added the libraries by my self in my platform). But the problem is that it is still not working... I get this error: osgi> !SESSION 2012-03-18 02:16:54.354 ----------------------------------------------- eclipse.buildId=unknown java.version=1.7.0_02 java.vendor=Oracle Corporation BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US Command

Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin

浪尽此生 提交于 2021-02-18 12:35:07
问题 I'm trying compile using mvn install but I'm getting this error: [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.0.2:compile (default-compile) on project test: Compilation failure: Compilation failure: pom.xml file: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId

Java并发编程:Lock

风流意气都作罢 提交于 2021-02-18 12:31:33
Java并发编程:Lock   在上一篇文章中我们讲到了如何使用关键字synchronized来实现同步访问。本文我们继续来探讨这个问题,从Java 5之后,在java.util.concurrent.locks包下提供了另外一种方式来实现同步访问,那就是Lock。   也许有朋友会问,既然都可以通过synchronized来实现同步访问了,那么为什么还需要提供Lock?这个问题将在下面进行阐述。本文先从synchronized的缺陷讲起,然后再讲述java.util.concurrent.locks包下常用的有哪些类和接口,最后讨论以下一些关于锁的概念方面的东西   以下是本文目录大纲:   一.synchronized的缺陷   二.java.util.concurrent.locks包下常用的类   三.锁的相关概念介绍   若有不正之处请多多谅解,并欢迎批评指正。   请尊重作者劳动成果,转载请标明原文链接:   http://www.cnblogs.com/dolphin0520/p/3923167.html 一.synchronized的缺陷   synchronized是java中的一个关键字,也就是说是Java语言内置的特性。那么为什么会出现Lock呢?   在上面一篇文章中,我们了解到如果一个代码块被synchronized修饰了,当一个线程获取了对应的锁