摘要:
概述 在ConcurrentSkipListMap里看到VarHandle,记录一下学习笔记。 VarHandle,变量句柄,是新的原子访问属性规范,JDK8以前都是通过sun.misc.Unsafe实现原子属性访问。见名知意,Unsafe是不安全API,理解不透彻使用不正确,会有意想不到的问题。从 阅读全文
摘要:
概述 所有异常都是继承自java.lang.Throwable类,Throwable有两个直接子类,Error和Exception。 Error用来表示程序底层或硬件有关的错误,这种错误和程序本身无关,如常见的NoClassDefFoundError。这种异常和程序本身无关,不需要检查,属于非受检异 阅读全文
摘要:
概述 SPI,Service Provider Interface,一种服务发现机制,指一些提供给你继承、扩展,完成自定义功能的类、接口或方法。 在SPI机制中,服务提供者为某个接口实现具体的类,而在运行时通过SPI机制,查找到对应的实现类,并将其加载进行使用。 JDK 6(参考java.util. 阅读全文
摘要:
概述 日志记录是应用程序运行中必不可少的一部分。具有良好格式和完备信息的日志,可以在程序出现问题时帮助开发人员迅速地定位错误的根源。日志所能提供的功能是多种多样的,包括记录程序运行时产生的错误信息、状态信息、调试信息和执行时间信息等。 System.out.println、System.err.pr 阅读全文
摘要:
概述 在Java开发中,我们会看到各种各样的对象(实体)类,包括: POJO:Plain Old Java Object,普通Java对象 VO:View Object,视图对象,返回给前端用于展示层,将某个页面(组件)的全部(或部分)数据封装到一个对象里,有些公司将其定义为**Resp对象,; V 阅读全文
摘要:
概述 G1首次出现是在JDK 6u14版本里作为体验版,JDK 7u4版本被正式推出,JDK 9中被设置为默认垃圾收集器(参考JEP 248)。 G1全称是Garbage First,目标:延迟可控的情况下,尽可能高的吞吐量。一款区域化分代式GC。 内存布局 G1是一个并行回收器,把堆内存分割为很多 阅读全文
摘要:
简介 Consul,HashiCorp公司推出的开源工具,用于实现分布式系统的服务发现与配置。与其他分布式服务注册与发现的方案,Consul的方案更一站式,内置服务注册与发现框架、分布一致性协议实现、健康检查、K/V存储、多数据中心方案,不再需要依赖其他工具(如ZooKeeper等)。使用Go语言编 阅读全文
摘要:
注:本文是《这就是推荐系统》的读书笔记。 概述 互联网公司想要增加活跃用户、增加收入,通常会想尽各种各样的方法、运作、策略等。有一套称作AARRR的运营方式广受欢迎: 步骤如下: 首先是获取用户(Acquisition),怎样使用一种比较高效的方式(App引流、网站跳转、百度或淘宝买广告曝光位)来获 阅读全文
摘要:
概述 AbstractQueuedSynchronizer,抽象队列同步器,简称AQS,用于构建同步器,抽象类,是JUC包下CountDownLatch、ReentrantLock、RenntrantReadWriteLock、Semaphore、ThreadPoolExecutor实现的基础。支持 阅读全文