8 GarfieldEr007

尚未进行身份认证

暂无相关描述

等级
TA的排名 24

JDK1.8 十大新特性详解

友情提示:本文将用带注释的简单代码来描述新特性,文字少,但是代码较多接口的默认方法Java8允许我们给接口添加一个非抽象的方法实现,只需要使用default关键字即可,这个特征又叫做扩展方法,示例如下:interfaceFormula{doublecalculate(inta);defaultdoublesqrt(inta){...

2019-08-13 09:14:44

Awesome Java 资料

AcuratedlistofawesomeJavaframeworks,librariesandsoftware.ContentsProjects BeanMapping Build BytecodeManipulation Caching CLI ClusterManagement CodeAnalysis CodeCovera...

2019-08-10 09:17:29

深入理解 Java 虚拟机 学习笔记

第二章Java内存区域与内存溢出异常内存区域--from姜志明对象创建加载类 若已经在内存中则跳过。 类加载完以后就可以确定对象所需的空间大小//TODOwhy? 分配内存 根据GC回收算法的不同,分配方式略有区别。 标记整理算法,使用空闲列表 带压缩的算法,使用指针碰撞(已分配和未分配内存间由指针分隔) ...

2019-07-22 22:26:06

《深入理解Java虚拟机》笔记6——高效并发

第五部分高效并发第十二章Java内存模型与线程并发处理的广泛应用是使得Amdahl定律代替摩尔定律成为计算机性能发展源动力的根本原因,也是人类“压榨”计算机运算能力的最有力武器。12.1概述多任务处理在现代计算机操作系统中几乎已是一项必备的功能了; 除了充分利用计算机处理器的能力外,一个服务端同时对多个客户端提供服务则是另一个更具体的并发应用场景; 服务端是Java语言最...

2019-07-22 22:23:37

《深入理解Java虚拟机》笔记5——类加载机制与字节码执行引擎

第七章虚拟机类加载机制7.1概述虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。 在Java语言里面,类型的加载、连接和初始化过程都是在程序运行期间完成,这虽然增量一些性能开销,但是会为Java应用程序提供高度的灵活性。7.2类加载的时机类的整个生命周期:加载、验证、准备...

2019-07-22 22:22:29

《深入理解Java虚拟机》笔记4——类文件结构

代码编译的结果从本地机器码转变为字节码,是存储格式发展的一小步,却是编程语言发展的一大步。由于最近十年内虚拟机以及大量建立在虚拟机之上的程序语言如雨后春笋般出现并蓬勃发展,将我们编写的程序编译成二进制本地机器码(NativeCode)已不再是唯一的选择,越来越多的程序语言选择了操作系统和机器指令集无关的、平台中立的格式作为程序编译后的存储格式。无关性的基石Java刚诞生的宣传口号:一...

2019-07-22 22:21:13

《深入理解Java虚拟机》笔记3——7种垃圾收集器

如果说收集算法是内存回收的方法论,那么垃圾收集器就是内存回收的具体实现。**Java虚拟机规范中对垃圾收集器应该如何实现并没有任何规定,因此不同的厂商、版本的虚拟机所提供的垃圾收集器都可能会有很大差别,并且一般都会提供参数供用户根据自己的应用特点和要求组合出各个年代所使用的收集器。接下来讨论的收集器基于JDK1.7Update14之后的HotSpot虚拟机(在此版本中正式提供了商用的G1收集...

2019-07-22 22:19:00

《深入理解java虚拟机》笔记2——GC算法与内存分配策略

说起垃圾收集(GarbageCollection,GC),想必大家都不陌生,它是JVM实现里非常重要的一环,JVM成熟的内存动态分配与回收技术使Java(当然还有其他运行在JVM上的语言,如Scala等)程序员在提升开发效率上获得了惊人的便利。理解GC,对于理解JVM和Java语言有着非常重要的作用。并且当我们需要排查各种内存溢出、内存泄漏问题时,当垃圾收集称为系统达到更高并发量的瓶颈时,只有...

2019-07-22 22:18:07

《深入理解java虚拟机》笔记1——Java内存区域与Java对象

运行时数据区域JVM载执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,有些区域则是依赖用户线程的启动和结束而建立和销毁。具体如下图所示:(其中程序计数器、Java虚拟机栈、本地方法栈为线程私有;Java堆、方法区位线程共享的内存区域。)程序计数器(ProgramCounterRe...

2019-07-22 22:17:14

JVM核心知识体系

1.问题 1、如何理解类文件结构布局? 2、如何应用类加载器的工作原理进行将应用辗转腾挪? 3、热部署与热替换有何区别,如何隔离类冲突? 4、JVM如何管理内存,有何内存淘汰机制? 5、JVM执行引擎的工作机制是什么? 6、JVM调优应该遵循什么原则,使用什么工具? 7、JPDA架构是什么,如何应用代码热替换? 8、JVM...

2019-07-22 22:15:53

深入理解 Java 内存模型 JMM

前提《深入理解Java内存模型》程晓明著,该书在以前看过一遍,现在学的东西越多,感觉那块越重要,于是又再细看一遍,于是便有了下面的读书笔记总结。全书页数虽不多,内容讲得挺深的。细看的话,也是挺花时间的,看完收获绝对挺大的。也建议Java开发者都去看看。里面主要有Java内存模型的基础、重排序、顺序一致性、Volatile关键字、锁、final。本文参考书中内容。基础并发编...

2019-07-22 22:12:55

聊聊分布式事务,再说说解决方案

分布式事务是企业集成中的一个技术难点,也是每一个分布式系统架构中都会涉及到的一个东西,特别是在微服务架构中,几乎可以说是无法避免,本文就分布式事务来简单聊一下。数据库事务在说分布式事务之前,我们先从数据库事务说起。数据库事务可能大家都很熟悉,在开发过程中也会经常使用到。但是即使如此,可能对于一些细节问题,很多人仍然不清楚。比如很多人都知道数据库事务的几个特性:原子性(Atomicity...

2019-07-21 16:28:52

微服务架构下分布式事务解决方案——阿里GTS

1微服务的发展微服务倡导将复杂的单体应用拆分为若干个功能简单、松耦合的服务,这样可以降低开发难度、增强扩展性、便于敏捷开发。当前被越来越多的开发者推崇,很多互联网行业巨头、开源社区等都开始了微服务的讨论和实践。Hailo有160个不同服务构成,NetFlix有大约600个服务。国内方面,阿里巴巴、腾讯、360、京东、58同城等很多互联网公司都进行了微服务化实践。当前微服务的开发框架也非常多,...

2019-07-21 16:27:02

分布式事务:分布式事务原理概述

1、什么是分布式事务分布式事务就是指事务的资源分别位于不同的分布式系统的不同节点之上的事务;2、分布式事务产生的原因2.1、数据库分库分表在单库单表场景下,当业务数据量达到单库单表的极限时,就需要考虑分库分表,将之前的单库单表拆分成多库多表;分库分表之后,原来在单个数据库上的事务操作,可能就变成跨多个数据库的操作,此时就需要使用分布式事务;2.2、业务服务化业务服务化即...

2019-07-21 16:22:18

分布式事务的四种解决方案

简述分布式事务指事务的操作位于不同的节点上,需要保证事务的AICD特性。例如在下单场景下,库存和订单如果不在同一个节点上,就涉及分布式事务。解决方案在分布式系统中,要实现分布式事务,无外乎那几种解决方案。一、两阶段提交(2PC)两阶段提交(Two-phaseCommit,2PC),通过引入协调者(Coordinator)来协调参与者的行为,并最终决定这些参与者是否要真...

2019-07-21 16:18:26

分布式事务五种方案

支付重构考虑支付重构的时候,自然想到原本属于一个本地事务中的处理,现在要跨应用了要怎么处理。拿充值订单举个栗子吧,假设:原本订单模块和账户模块是放在一起的,现在需要做服务拆分,拆分成订单服务,账户服务。原本收到充值回调后,可以将修改订单状态和增加金币放在一个mysql事务中完成的,但是呢,因为服务拆分了,就面临着需要协调2个服务才能完成这个事务所以就带出来,我们今天要分享和讨论的...

2019-07-21 16:17:08

分布式事务 常见方法

不知道你是否遇到过这样的情况,去小卖铺买东西,付了钱,但是店主因为处理了一些其他事,居然忘记你付了钱,又叫你重新付。又或者在网上购物明明已经扣款,但是却告诉我没有发生交易。这一系列情况都是因为没有事务导致的。这说明了事务在生活中的一些重要性。有了事务,你去小卖铺买东西,那就是一手交钱一手交货。有了事务,你去网上购物,扣款即产生订单交易。事务的具体定义事务提供一种机制将一个活动涉及的...

2019-07-21 16:14:00

java finalize方法总结、GC执行finalize的过程

注:本文的目的并不是鼓励使用finalize方法,而是大致理清其作用、问题以及GC执行finalize的过程。1.finalize的作用finalize()是Object的protected方法,子类可以覆盖该方法以实现资源清理工作,GC在回收对象之前调用该方法。 finalize()与C++中的析构函数不是对应的。C++中的析构函数调用的时机是确定的(对象离开作用域或...

2019-07-17 12:52:23

Algorithms, 4th Edition 算法4精华笔记,通俗理解,算法收集与强化

JVM是java程序员永远的考题,算法是所有程序员永久的考题。这应该是很多人的共识,不管是谁,学习的路上我们时常遇到迷茫阶段,抓住最根本的东西你永远不会觉得迷失。年假之前,我就规定自己要完成多少多少的任务,要做一些些有意义的事情,读书,练习,输出一些有价值的文字和笔记正是这一理念的实现,这样不仅让自己的经历更漂亮一点,也能帮助很多其他人!《算法(第4版)》是一本晦涩的书,特别是中文版...

2019-07-17 11:39:53

CVPR 2019 Papers

http://openaccess.thecvf.com/CVPR2019.py

2019-07-15 22:13:17

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。