- 博客(57)
- 收藏
- 关注
转载 Spring Framework中常见的事务传播陷阱(译文)
最近看到Medium上一篇讨论Spring Framework中事务传播的文章,解释了几种常见的问题,解释的不错,这里直接翻译吧(意译为主,粗体和斜体是我自己加上的)。译文:这是我的第一篇文章,我打算给大家总结一下开发者在使用Spring事务时,常常会犯的和事务传播相关的错误。在这之前,我们先回忆一下Spring中事务是怎样传播的。我们先看下Ken Tousen做的...
2019-02-16 13:41:00
153
转载 JDK 8 - Method Reference 分析
Java SE 8 在 Java 语言层面上新增了 lambda expression 的功能,使得 Java 具备了函数式语言的能力 - 可以将函数作为方法参数传递,即 code as data。JDK 8 ( Oracle 对 Java SE 8 的实现 ) 新增了 java.util.stream , method reference , functional interfac...
2018-08-16 15:30:00
110
转载 JDK 9 & JDK 10 新特性
JDK 9 新增了不少特性,官方文档:https://docs.oracle.com/javase/9/whatsnew/toc.htm#JSNEW-GUID-527735CF-44E1-4144-919B-E7D7CC9CDD4D。Java SE 10 改变:https://docs.oracle.com/javase/10/language/toc.htm#JSLAN-GUID-...
2018-07-20 13:27:00
139
转载 JDK 8 新特性
JDK 8, Oracle's implementation of Java SE 8.JDK 8 是 Oracle 对 Java SE 8 规范的实现。本文分析 JDK 8 引入的新特性。官方文档:http://www.oracle.com/technetwork/java/javase/8-whats-new-2157071.html。1、Java progra...
2018-07-18 10:11:00
111
转载 Tomcat 8.5 架构分析
官方文档:Apache Tomcat 8 Architecture以下分析的是 Version 8.5。Tomcat 组件关系图根据 Architecture Overview 绘制:Server:表示整个应用,可以包含多个 Service,一般不用重写。Service:将多个 Connector 和一个 Engine 连接起来;一般不用重写。E...
2018-06-18 16:03:00
126
转载 悲观锁与乐观锁
悲观锁和乐观锁是两种并发控制方式。悲观锁:在整个数据处理中,将数据锁定。往往依靠数据库提供的锁机制。数据库的事务隔离级别:1. Read Uncommited2. Read Commited3. Repeatable Read( InnoDB 默认为 Repeatable read, 由于使用了 next-key lock,相当于 Serializable )...
2018-06-10 17:46:00
66
转载 Gradle: Can't load library: native-platform.dll
Eclipse 导入 Gradle project 时总是报错:Can't load library: native-platform.dll。解决方案:进入 Windows -> Preferences,如下设置即可解决问题。转载于:https://www.cnblogs.com/huangzejun/p/9121726.html...
2018-06-01 15:04:00
301
转载 NoSQL v.s. RDB
RDB 相对于 NoSQL 的劣势:1. 集中式单点架构2. 固定的数据模型: 可扩展性差,缺乏处理半结构化和非结构化数据的能力。3. 扩容成本高:处理海量数据时存在性能瓶颈,大数据时代的存储需求下,成本指数级增长。RDB:ACID,强一致性的关系模型,适用于交易(OLTP)。NoSQL:BASE,把可扩展性放在首位,高可用或一致性放在第二位。转载于:...
2018-05-28 15:23:00
152
转载 MySQL COUNT(*) & COUNT(1) & COUNT(col) 比较分析
在面试的时候我们会经常遇到这个问题:MySQL 中,COUNT(*)、COUNT(1)、COUNT(col) 有区别吗?有区别。接下来我们分析一下这三者有什么样的区别。一、SQL Syntax & Semantics从语义角度看,它们有不同的含义。COUNT(expr)返回查询到的行中 expr is not-NULL 的个数,返回类型为 BI...
2018-04-16 10:06:00
83
转载 MongoDB GridFS 存储大文件
我们经常会遇到这样的场景:上传/下载文件。有两种思路可以解决这个问题:(1)将文件存储在服务器的文件系统中;(2)将文件存储在数据库中。如果我们选择(2),那么我们可以使用MongoDB GridFS 用于存储大小超过 16MB 的文件(文档,压缩文件,音视频,软件)。一、MongoDB GridFS 介绍MongoDB GridFS 是一个分布式文件系统,...
2018-04-10 15:48:00
361
转载 聊聊和关系型数据库相关的一些概念
本文对关系型数据库的相关概念做些解析。关系型数据库(Relational Database)由 Edgar.F.Codd 教授于 1969 年提出,是使用遵循一阶逻辑的语言和结构来管理数据的模型。1970 年,Prof.Codd 提出第一范式(1NF,First Normal Form);1971 年,Prof.Codd 提出第二范式(2NF,Second Norm...
2018-04-02 09:26:00
106
转载 Spring-MongoDB 关键类的源码分析
本文分析的是 spring-data-mongodb-1.9.2.RELEASE.jar 和 mongodb-driver-core-3.2.2.jar。一、UML Class Diagram核心类是 MongoTemplate,下面这张 UML 类图涉及了主要的类,省略了次要的类。涉及的类: MongoTemplate,MongoOperations,MongoDb...
2018-03-30 17:05:00
344
转载 Studio 3T 如何使用 Query Builder 查询数据
Studio 3T 是一款对 MongoDB 进行数据操作的可视化工具。在 Studio 3T 中,我们可以借助 Query Builder 的 Drag & Drop 来构建查询条件。具体的 Query Builder 使用方式可以阅读 Studio 3T 官方的这篇文章。注意:在指定某个字段的值时,Ops 第一栏不要写:转载于:https://...
2018-03-30 13:16:00
2021
转载 MySQL error : Deadlock found when trying to get lock; try restarting transaction
在使用 MySQL 时,我们有时会遇到这样的报错:“Deadlock found when trying to get lock; try restarting transaction”。在 14.5.5.3How to Minimize and Handle Deadlocks 中有这样一句话:Deadlocks are not dangerous. Just try a...
2018-03-27 17:27:00
1011
转载 The java.util.concurrent Synchronizer Framework笔记
这篇笔记是关于 Doug Lea 的 The java.util.concurrent Synchronizer Framework 。原文地址:http://gee.cs.oswego.edu/dl/papers/aqs.pdf。1. JDK 1.5 引入 java.util.concurrent package(JSR 166)。这个 package 包含...
2018-03-25 15:42:00
176
转载 JDK 8 - Lambda Expression 的优点与限制
我们知道 JDK 8 新增了 Lambda Expression 这一特性。JDK 8 为什么要新增这个特性呢?这个特性给 JDK 8 带来了什么好处?它可以做什么?不可以做什么?在这篇文章,我打算简单聊聊这些话题。1. Lambda Expression 是什么?Lambda Expression,又名 Anonymous function,它起源于 ...
2018-03-16 15:39:00
113
转载 MongoDB Data Model 浅谈
MongoDB 对于数据的 schema 要求很灵活。与 MySQL 相比,collection 并不会强制文档的结构。(MySQL 在定义表时, 需要指定有哪些字段、类型、展示长度等)因此,插入数据到 MongoDB 非常灵活。同一个 collection 中可以有结构不同(字段不同)的文档(通常来说,文档结构还是相近的)。MongDB 适合半结构化/非结构化的数...
2018-01-14 14:19:00
431
转载 Java 泛型分析
Java 泛型Java Generics 是 JDK 1.5 引入的新特性,它提供了编译时的类型安全检测机制,避免了代码中进行显示的类型转换(cast),是对类型系统的一种增强。Java Generics 引入了类型参数(type parameter),将集合元素的类型作为了参数。Java 泛型的特点1、泛型其实是一种语法糖。(其他语法糖:自动装箱/拆箱,for...
2018-01-09 10:54:00
286
转载 DCL(双检锁)的失效:现实与初衷的背离
最近看了 Brian Goetz 写的一篇有关 DCL 的文章:Double-checked locking: Clever, but broken。(2001 年发表于 JavaWorld 上)这篇文章讲述了 DCL 设计的初衷,但是因为 JVM 的不同实现(没有严格遵循 JMM 规范)导致 DCL 在实际应用中失效。1. DCL 的设计初衷DCL 是为了支持 Laz...
2018-01-03 21:33:00
91
转载 Spring 自动注册及自动装配
Spring支持三种注册Bean及装配Bean的方式:显式地在Java代码中注册及装配显示地在Xml文件中注册及装配隐式地装配,即自动注册及装配这三种方式可以混合使用。选择哪种更多地是看个人品味。下文主要介绍第三种方式:自动扫描注册Bean及自动装配(Autowiring)Bean(在beans.xml中配置)。1. <context: ann...
2018-01-03 14:51:00
86
转载 Java 多线程笔记
资料来源于网络,仅供参考学习。1、A Java program ends when all its threads finish (more specifically, when all its non-daemon threads finish). If the initial thread (the one that executes the main() method) ...
2017-12-29 12:09:00
65
转载 Windows 7 下将 Tomcat Java 程序设置为 Windows Service
方法:Windows key + r -> Run dialogcmd -> consolecd apache-tomcat-[version]/binservice.bat install/remove [service_name] [/user username]service install/remove [service_name] [...
2017-12-29 12:07:00
61
转载 Java 注解
图片来源于网络,仅供参考学习。转载于:https://www.cnblogs.com/huangzejun/p/8143687.html
2017-12-29 11:40:00
81
转载 Java: What is the difference between <init> and <clinit>?
Stack Overflow 上的一个问题:Java: What is the difference between <init> and <clinit>?JVM Specification 8, 2.9.Special Methods 是这样描述这两个方法的:At the level of the Java Virtual Ma...
2017-12-29 11:28:00
348
转载 readAsDataURL(file) & readAsText(file, encoding)
readAsDataURL(file)会把文件内容转换为data类型的URL:data:text/plain;base64,b3JkZXItaWQJb3JkZXItaXRlbS1p...这种data类型的URL可以在浏览器地址栏中直接访问。readAsText(file, [encoding]): 将文件读取为文本,encoding缺省值为UTF-8....
2017-12-29 11:22:00
813
转载 MySQL: Integer & String types
TypeStorage(bytes)Minimum ValueMaximum ValueTINYINT1-128/0127/255SMALLINT2-23768/023767/65535MEDIUMINT3-8388608/08388607/16777215INT/INTEGER...
2017-12-29 10:42:00
73
转载 Java ArrayIndexOutOfBoundsException: Exception Hierarchy
转载于:https://www.cnblogs.com/huangzejun/p/8143265.html
2017-12-29 10:38:00
82
转载 JavaScript 中事件绑定的三种方式
以下是在 JS 中事件绑定的三种方式。1. HTML onclick attribute <button type="button" id="upload" onclick="upload_file();">原文:http://www.w3school.com.cn/jsref/jsref_events.asp2. jQuery .o...
2017-12-29 10:26:00
162
转载 Amazon email system中使用的字体
转载于:https://www.cnblogs.com/huangzejun/p/8143112.html
2017-12-29 10:19:00
205
转载 Sublime Text 2 Plugin Installation
For Package Control installation, see the Installation Guide.To install Emmet(ex Zen Coding), do the following:1. Press Ctrl+Shift+P to Open Command Palette;2. Input "install" to open "I...
2017-12-29 09:57:00
106
转载 Using F2 to Rename Open Files
Copy to your User keymap{ "keys": ["shift+f2"], "command": "rename_file", "args": { "paths": ["$file"] } }Create directory/file in your Packages folder: "...Packages/RenameFile/rename_file...
2017-12-29 09:57:00
82
转载 Java 浅析 Thread.join()
概要本文分为三部分对 Thread.join() 进行分析:1. join() 的示例和作用2. join() 源码分析3. 对网上其他分析 join() 的文章提出疑问1. join() 的示例和作用1.1 示例1 // 父线程2 public class Parent extends Thread {3 public void r...
2017-11-28 11:51:00
285
转载 JDK 8 - JVM 对类的初始化探讨
在《深入理解 Java 虚拟机》(第二版,周志明著)中,作者介绍了 JVM 必须初始化类(或接口)的五种情况,但是是针对 JDK 7 而言的。那么,在 JDK 8 中,这几种情况有没有变化呢?(我猜测应该会有扩展)接下来我们探讨一下 JDK 8 中 JVM 类的初始化这一部分内容。官方文档为 The Java® Virtual Machine Specification, J...
2017-10-10 09:35:00
78
转载 Automata
A deterministic finite automaton is represented formally by a 5-tuple (Q,Σ,δ,q0,F), where:Q is a finite set of states.Σ is a finite set of symbols, called the alphabet of the automaton.δ ...
2017-08-10 10:30:00
107
转载 The Hungarian Abhorrence Principle
原文:http://www.butunclebob.com/ArticleS.UncleBob.TheHungarianAbhorrencePrincipleThe Hungarian Abhorrence PrincipleWhen you are tempted to encode data structure in a variable name (e.g. Hun...
2017-05-20 10:08:00
56
转载 Spring 与 MyBatis 的整合
本文讨论 Spring 与 MyBatis 的整合。在 beans.xml 中我们定义了两个 bean: SqlSessionFactoryBean、SqlSessionTemplate。1、SqlSessionFactoryBeana、SqlSessionFactoryBean 是 FactoryBean,它在 Spring 容器中通过 getObject() (单例...
2017-04-19 17:22:00
55
转载 JDK 8 - java.util.HashMap 实现机制分析
官方文档对 HashMap 的定义:public class HashMap<K,V>extends AbstractMap<K,V>implements Map<K,V>, Cloneable, SerializableUML Class Diagram:HashMap 实现了 Map interfa...
2017-04-15 10:50:00
67
转载 面向对象设计原则汇总
本文除了SOLID五个原则,还加了迪米特法则、组合/聚合复用原则。即SOLID + LoD + CARP。1. 单一职责原则(SRP,Single Responsibility Principle)一个类应该只有一个职责。(一个类应该只有一个引起其变化的原因)2. 开闭原则(OCP,Open/Closed Principle)对扩展开放,...
2017-03-06 20:40:00
71
转载 Java Error : type parameters of <T>T cannot be determined during Maven Install
遇到了一个问题如下:Caused by the combination of generics and autoboxing.这是由于泛型和自动装箱联合使用引起的。可以查看以下两个回答:1.http://stackoverflow.com/questions/11747020/error-type-parameters-of-tt-cannot-be-det...
2017-02-25 10:27:00
90
转载 JDK 8 - java.util.HashSet 实现机制分析
JDK 8Class HashSet<E> Doc:public class HashSet<E>extends AbstractSet<E>implements Set<E>, Cloneable, Serializable1、实现了java.util.Set接口,内部由java.util.Map示例实现(...
2016-12-18 10:55:00
68
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人