使用maven创建项目,配置私服、发布等,并发布到sonatype oss nexus仓库。
Sonatype Nexus一个著名的开发仓库管理系统,有2.x和3.x两大版本,目前以3.x为主,其中3.x支持更多的仓库,例如常用的: maven2、go、apt(ubuntu debain)、docker、npm、yum(在docker之前,可以将java的war打包成rpm文件进行安装),还有一些笔者没用过如: bower、cocoapods、gitlfs、helm、nuget、p2、pypi、r、raw、rubygems等等。如果在低内存的设备上运行并只使用maven2的仓库管理,强烈建议使用2.x
Synchronized 在1.5以前是重量级锁,当遇到synchronzed时,其他线程需要等待并进入blocked状态。 在1.6以后,经过大量的测试发现加锁的地方经常被一个线程访问。所以对synchronized进行了锁的粒度优化,...
Spring SpringBoot小的细节总结记录 spring mvc 采用SPI技术,注入Spring的Servlet类,具体是实现了javax.servlet.ServletContainerInitializer接口...
限流器 我们项目是新闻类的站点,每天需要限制各种爬虫,保证服务在可承受范围内,需要保护后台服务正常。需要使用限流器。 固定 滑动 令牌桶 一 固定窗口: 当前请求是否在最后一次请求时间点+设置的窗口的时间范围内,然后累计请求次数,判断是否...
当前jvm配置 -XX:+PrintFlagsInitial 查看初始 docker JAVA_OPTS 1-XX:+AlwaysPreTouch 2 JAVA进程启动的时候,虽然我们可以为JVM指定合适的内存大小,但是这些内存操作系统并...
定义自定义注解 1@Retention(RetentionPolicy.RUNTIME) 2@Target(ElementType.PARAMETER) 3public @interface Logined { 4}...
Java 基础技能 包括以下大致内容 Object类的常用方法 常用反射方法 常用字段处理 枚举处理 泛型的获取 基本类型的判断 1. isAssignableFrom()与instanceof isAssignableFrom() 描...
一、Java基础类型 名字 默认值 占用空间 最大值 最小值 byte 0 8位 127(2^7-1) -128(-2^7) chat ‘u0000’ 16 位 Unicode 字符 \uffff (65535) \u0000 (0)...
调用时机 clinit在jvm第一次加载class时调用,init在实例创建出来的时候调用 clinit在jvm第一次加载class文件时调用,包括静态变量初始化语句和静态块的执行 init在实例创建出来的时候调用,包括调用new操作符;...
Java的内存优化之Reference,SoftReference、WeakReference、StrongReference 引用对象类型定义 首先,引用对象在Java定义中有三种类型,从弱到强依次为:软引用、弱引用与虚引用,三种级别也各...
HttpClient 工具类 1package cn.linuxcrypt.utils; 2 3import org.apache.http.*; 4import...
概述 Deque是Queue的子接口,我们知道Queue是一种队列形式,而Deque则是双向队列,它支持从两个端点方向检索和插入元素,因此Deque既可以支持LIFO形式也可以支持LIFO形式.Deque接口是一种比Stack...
Java 8中的常用函数式接口
我们都知道普通的事务中有原子性,一致性,隔离性,持久性。而分布式事务中也有这些属性。 分布式事务 随着分布式计算的发展,事务在分布式中也得到了广泛的应用。 在单机数据库中,我们很容易能够实现满足ACID特性的事务处理系统,但在分布式数据库...
CAS(Compare and Swap) 是利用底层硬件平台特性,实现原子性操作的算法,Java 1.5 以后 JUC(java.util.concurrent) 实现主要以此为基础;找了不少资料以下记录一下个人对于 CAS 的理解(部...
Java 动态跟踪工具介绍 BTrace Greys-anatomy Greys介绍 jvm-sandbox
一、概念和特征 直接内存并非 JVMS 定义的标准 Java 运行时内存。 JDK1.4 加入了新的 NIO 机制,目的是防止 Java 堆 和 Native 堆之间往复的数据复制带来的性能损耗,此后 NIO 可以使用 Native 的方...