
java
文章平均质量分 74
gwt0425
这个作者很懒,什么都没留下…
展开
-
DDD设计与实践(网络文章整理版)
前言 参考 阿里技术专家详解 DDD 系列- Domain Primitive 阿里技术专家详解DDD系列 第二弹 - 应用架构 阿里技术专家详解DDD系列 第三讲 - Repository模式 阿里盒马领域驱动设计实践 领域驱动设计在互联网业务开发中的实践 ...原创 2020-10-29 13:26:42 · 999 阅读 · 1 评论 -
Java Mark Word和锁
Mark Word简介 Mark Word在64位的虚拟机中也占64位,是每一个对象都有的一个值。这个区域记录了很多信息,并根据对象的锁状态能表达很多不同的意思。如下: 头2位为标志位:如上图所示,虚拟机根据这2位的判断该对象作为锁的状态,然后再去读之后若干位的数据并判断状态。 锁 三种机制的切换是根据竞争激烈程度进行的, 在几乎无竞争的条件下, 会使用偏向锁, 在轻度竞争的条件下, 会由偏向锁升级为轻量级锁, 在重度竞争的情况下, 会升级到重量级锁。 偏向锁:只有一个线程进入临界区; 轻量级锁:多个线程原创 2020-10-29 10:40:39 · 630 阅读 · 0 评论 -
Spring事务的一些学习
7种传播级别说明 事务传播行为类型 解释说明 Propagation_Required 表示被修饰的方法必须运行在事务中。如果当前方法没有事务,则就新建一个事务;如果已经存在一个事务中,就加入到这个事务中。此类型是最常见的默认选择。(如果被调用端发生异常,那么调用端和被调用端事务都将回滚) Propagation_Supports 表示被修饰的方法不需要事务上下文。如果当前方法存在事务,则支持当前事务执行;如果当前没有事务,就以非事务方式执行。 Propagation_Mandato原创 2020-10-23 10:28:32 · 129 阅读 · 0 评论 -
What is DDD?
What is DDD? 一种软件设计的方式 what is the difference? 从代码来看:拒绝贫血Entity类(即只有Setter/Getter的类),将行为内化到对象上。符合面向对象思想。 从系统设计来看,DDD的核心诉求就是将业务架构映射到系统架构上,在响应业务变化调整业务架构时,也随之变化系统架构。而微服务追求业务层面的复用,设计出来的系统架构和业务一致...转载 2018-02-16 15:00:47 · 247 阅读 · 0 评论 -
《Java9 高性能》阅读笔记
字符串拼接:在编译期,javac会自动生成一个StringBuilder-XX: +-OptimizeStringConcatint version = 9; String str = "I love" + " Java " + version + " high performance";// => 等价于 StringBuilder sb = new StringBuilder("I love J原创 2018-02-05 19:44:39 · 386 阅读 · 0 评论 -
HashMap源码阅读
核心方法put方法可以发现put方法是委托给putVal()方法的,值得注意的方法是hash(key)的实现。hash(key)相当简单, 它可以接受null作为key,这时hash值为0,而正常的hash值是h ^ (h >>> 16) public V put(K key, V value) { return putVal(hash(key), key, value, fa原创 2017-11-17 21:11:09 · 200 阅读 · 0 评论 -
HashMap的实现
HashMap与HashTable的区别 HashMap不是线程安全的,而HashTable是线程安全的,但是最好用ConcurrentHashMap代替。或Map m = Collections.synchronizeMap(hashMap) 两者的继承类也不同 HashTable的key和value都不可以是null, ConcurrentHashMap也一样。而HashMap可以有一个键(只能原创 2017-09-14 16:22:47 · 229 阅读 · 0 评论 -
ArrayList与LinkedList的区别
在AbstractSequentialList中已经定义了很多的处理方法,只要LinkedList实现public abstract ListIterator<E> listIterator(int index); //实现就可以直接调用add(),remove(),get(),set()等 ArrayList是实现了基于动态数组的数据结构,而LinkedList是基于链表的数据结构 对于随机访问g原创 2017-09-14 16:15:13 · 220 阅读 · 0 评论 -
Java-NIO
NIO , BIO的实现与区别 BIO方式:同步并阻塞,一个连接一个线程,适用于连接数目比较小且固定的架构,这种方式对服务器资源要求比较高,并发局限于应用中,JDK1.4以前的唯一选择,但程序直观简单易理解。 NIO方式:同步非阻塞,一个请求一个线程,适用于连接数目多且连接比较短(轻操作)的架构,比如聊天服务器,并发局限于应用中,编程比较复杂,JDK1.4开始支持。 AIO方式:异步非阻塞,一个有效原创 2017-09-14 14:41:08 · 368 阅读 · 0 评论 -
Java一些基础知识
JDK版本变化 Java5:自动装拆箱,枚举,可变参数(String…),泛型,for-each,注解 Java6:JDBC4.0,通用的注解 Java7:泛型实例化的自动推断,try-with-resouces Java8:default方法,lambda表达式,Stream类,function接口,日期API(Clock,Timezones,LocalTime,LocalDate),多重注解,函原创 2017-09-14 14:04:27 · 203 阅读 · 0 评论