自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

我主要负责转载优秀的技术博文

我主要负责转载优秀的技术博文

  • 博客(206)
  • 收藏
  • 关注

原创 linxu 磁盘挂载

配置uuid和挂载的目录,然后重启,挂载目录依然生效。获取磁盘id,重启后挂载目录生效。修改/etc/fstab文件。1、获取设备磁盘基本信息。磁盘格式化为 ext4。

2023-07-18 16:56:25 221

原创 spring-cloud-alibaba-nacos 属性列表(config、discovery)

Configuration item key default value Description server address spring.cloud.nacos.config.server-addr DataId prefix spring.cloud.nacos.config.prefix spring.application.name Group spring.cloud.nacos.config.group ...

2021-01-19 00:42:45 1619

原创 spring-cloud-gateway属性列表

Name Default Description spring.cloud.gateway.default-filters List of filter definitions that are applied to every route. spring.cloud.gateway.discovery.locator.enabled false Flag that enables Dis.

2021-01-19 00:39:21 833

原创 mysql状态查看 QPS/TPS/缓存命中率查看

Reference:https://www.cnblogs.com/zping/p/5163670.html运行中的mysql状态查看对正在运行的mysql进行监控,其中一个方式就是查看mysql运行状态。(1)QPS(每秒Query量)QPS = Questions(or Queries) / secondsmysql > show global ...

2019-08-13 17:29:19 242

转载 Object 对象的方法有哪些?分别有什么作用?

1.clone方法保护方法,实现对象的浅复制,只有实现了Cloneable接口才可以调用该方法,否则抛出CloneNotSupportedException异常。主要是JAVA里除了8种基本类型传参数是值传递,其他的类对象传参数都是引用传递,我们有时候不希望在方法里讲参数改变,这是就需要在类中复写clone方法。2.getClass方法final方法,获得运行时类型。3.toS...

2019-03-22 15:05:59 2288

转载 J.U.C之AQS:AQS简介

Java的内置锁一直都是备受争议的,在JDK 1.6之前,synchronized这个重量级锁其性能一直都是较为低下,虽然在1.6后,进行大量的锁优化策略(分析synchronized的实现原理),但是与Lock相比synchronized还是存在一些缺陷的:虽然synchronized提供了便捷性的隐式获取锁释放锁机制(基于JVM机制),但是它却缺少了获取锁与释放锁的可操作性,可中断、超时获取锁...

2019-02-15 14:58:05 143

转载 分析ThreadLocal

ThreadLocal是什么?ThreadLocal是啥?以前面试别人时就喜欢问这个,有些伙伴喜欢把它和线程同步机制混为一谈,事实上ThreadLocal与线程同步无关。ThreadLocal虽然提供了一种解决多线程环境下成员变量的问题,但是它并不是解决多线程共享变量的问题。那么ThreadLocal到底是什么呢?API是这样介绍它的:This class provides thread-...

2019-02-14 15:01:09 157

转载 Java内存模型之总结

JMM规定了线程的工作内存和主内存的交互关系,以及线程之间的可见性和程序的执行顺序。一方面,要为程序员提供足够强的内存可见性保证;另一方面,对编译器和处理器的限制要尽可能地放松。JMM对程序员屏蔽了CPU以及OS内存的使用问题,能够使程序在不同的CPU和OS内存上都能够达到预期的效果。Java采用内存共享的模式来实现线程之间的通信。编译器和处理器可以对程序进行重排序优化处理,但是需要遵守一些规...

2019-02-14 14:36:46 125

转载 Java内存模型之分析volatile

深入分析volatile的实现原理 中已经阐述了volatile的特性了: volatile可见性;对一个volatile的读,总可以看到对这个变量最终的写; volatile原子性;volatile对单个读/写具有原子性(32位Long、Double),但是复合操作除外,例如i++; JVM底层采用“内存屏障”来实现volatile语义 下面LZ就通过happens...

2019-02-14 14:18:59 115

转载 Java内存模型之从JMM角度分析DCL

DCL,即Double Check Lock,中卫双重检查锁定。其实DCL很多人在单例模式中用过,LZ面试人的时候也要他们写过,但是有很多人都会写错。他们为什么会写错呢?其错误根源在哪里?有什么解决方案?下面就随LZ一起来分析问题分析我们先看单例模式里面的懒汉式:public class Singleton {    private static Singleton singlet...

2019-02-14 11:28:21 141

转载 Java内存模型之重排序

在执行程序时,为了提供性能,处理器和编译器常常会对指令进行重排序,但是不能随意重排序,不是你想怎么排序就怎么排序,它需要满足以下两个条件: 在单线程环境下不能改变程序运行的结果; 存在数据依赖关系的不允许重排序 如果看过LZ上篇博客的就会知道,其实这两点可以归结于一点:无法通过happens-before原则推导出来的,JMM允许任意的排序。as-if-serial语义...

2019-02-14 11:20:48 101

转载 Java内存模型之happens-before

在上篇博客LZ提到过由于存在线程本地内存和主内存的原因,再加上重排序,会导致多线程环境下存在可见性的问题。那么我们正确使用同步、锁的情况下,线程A修改了变量a何时对线程B可见?我们无法就所有场景来规定某个线程修改的变量何时对其他线程可见,但是我们可以指定某些规则,这规则就是happens-before,从JDK 5 开始,JMM就使用happens-before的概念来阐述多线程之间的内存...

2019-02-14 11:18:10 108

转载 volatile的实现原理

通过前面一章我们了解了synchronized是一个重量级的锁,虽然JVM对它做了很多优化,而下面介绍的volatile则是轻量级的synchronized。如果一个变量使用volatile,则它比使用synchronized的成本更加低,因为它不会引起线程上下文的切换和调度。Java语言规范对volatile的定义如下:Java编程语言允许线程访问共享变量,为了确保共享变量能被准确和一致地...

2019-02-14 11:03:04 138

转载 synchronized的实现原理

下面跟随LZ一起来探索synchronized的实现机制、Java是如何对它进行了优化、锁优化机制、锁的存储结构和升级过程;实现原理synchronized可以保证方法或者代码块在运行时,同一时刻只有一个方法可以进入到临界区,同时它还可以保证共享变量的内存可见性Java中每一个对象都可以作为锁,这是synchronized实现同步的基础: 普通同步方法,锁是当前实例对象 ...

2019-02-14 10:49:05 103

转载 Redis yum安装redis

Redis yum安装redis一、直接用yum安装redis1、yum安装redis//更新yum仓库yum update //安装redisyum install redis2、yum卸载redis//卸载yum remove redis3、启动、关闭、重启redis服务器service redis start //启动service redis stop //...

2019-01-10 18:24:33 581

转载 【Java入门提高篇】Day25 史上最详细的HashMap红黑树解析

当当当当当当当,好久不见,最近又是换工作,又是换房子,忙的不可开交,断更了一小段时间,最重要的一篇迟迟出不来,每次都犹抱琵琶半遮面,想要把它用通俗易懂的方式进行说明,确实有一定的难度,可愁煞我也,但自己挖的坑,哭着也要把它补上。请允许我当一回标题党。  好了,言归正传,本篇主要内容便是介绍HashMap的男二号——TreeNode(男一号还是给Node吧,毕竟是TreeNode的爷爷,而且普通...

2018-12-01 13:34:26 171

转载 elastic-job的原理

elastic-job是当当开源的一款非常好用的作业框架,在这之前,我们开发定时任务一般都是使用quartz或者spring-task(ScheduledExecutorService),无论是使用quartz还是spring-task,我们都会至少遇到两个痛点:1.不敢轻易跟着应用服务多节点部署,可能会重复多次执行而引发系统逻辑的错误。2.quartz的集群仅仅只是用来HA,节点数量的增加并...

2018-10-25 10:23:47 164

转载 Elastic-job入门

Elastic-Job是一个分布式的定时任务框架 基于成熟的定时任务作业框架Quartz cron表达式执行定时任务 相对于Quartz它增加了任务分片。这样能有效的防止单节点部署项目带来的种种不便入门案例 本案例基于Springmvc 和 maven 如果你在本地测试需要首先自己安装好zookeeper因为注册中心是zookeeper 采用测试用例测试的时候 需要两台不同ip的机器去启动...

2018-10-25 10:20:35 332

转载 详述 hosts 文件的作用及修改 hosts 文件的方法

1 什么是hosts文件?  hosts是一个没有扩展名的系统文件,其基本作用就是将一些常用的网址域名与其对应的 IP 地址建立一个关联“ 数据库 ”。当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从hosts文件中寻找对应的 IP 地址,一旦找到,系统就会立即打开对应网页,如果没有找到,则系统会将网址提交 DNS 域名解析服务器进行 IP 地址的解析。2 hosts文件的作用...

2018-09-05 11:37:48 149

转载 Struts中private static final long serialVersionUID的作用

今天在看项目源码的时候发现struts的action里面有 private static final long serialVersionUID = -1672970955045193907L;这样的一条语句。 中文搜索之后,全部都是如果你修改了此类, 要修改此值。否则以前用老版本的类序列化的类恢复时会出错。为了在反序列化时,确保类版本的兼容性,最好在每个要序列化的类中加入...

2018-09-05 11:12:45 131

转载 Intellij IDEA自动生成serialVersionUID配置

 完整操作流程:Setting->Editor->Inspections->Java->Serialization issues->Serializable class without ‘serialVersionUID’(选择勾上)配置完成后,如果你的Class实现了Serializable接口,那么将光标停留在类名上,然后按Alt+Enter就会提示自动创...

2018-09-05 11:11:45 206

转载 BigDecimal 的那些坑事儿

最近查看rebate数据时,发现一个bug,主要现象是,当扣款支付宝的账号款项时,返回的是数字的金额为元,而数据库把金额存储为分,这中间要做元与分的转化,这个转化规则很简单,就是*100的,所以一开始代码很简单,如下。   Float f = Float.valueOf(s); f =f*100; Long result = f.longValue(); ...

2018-07-26 17:00:33 1120

转载 在IDEA中实战Git

工作中多人使用版本控制软件协作开发,常见的应用场景归纳如下:假设小组中有两个人,组长小张,组员小袁场景一:小张创建项目并提交到远程Git仓库场景二:小袁从远程Git仓库上获取项目源码场景三:小袁修改了部分源码,提交到远程仓库场景四:小张从远程仓库获取小袁的提交场景五:小袁接受了一个新功能的任务,创建了一个分支并在分支上开发场景六:小袁把分支提交到远程Git仓库场景七...

2018-07-23 16:39:54 98

转载 IntelliJ远程调试教程

概述对于分布式系统的调试不知道大家有什么好的方法。对于我来说,在知道远程调试这个方法之前就是在代码中打各种log,然后重新部署,上线,调试,这样比较费时。今天咱们来了解了解Java远程调试这个牛逼的功能,本文以Intellij IDEA为例讲解怎么使用远程调试。以Thrift入门教程这篇文章中使用的程序作为例子。这个程序由Thrift服务端和客户端组成。描述一下远程调试需要解决的问题:服务端程序运...

2018-07-10 17:10:31 122

转载 JUnit4中@AfterClass @BeforeClass @after @before的区别对比

JUnit4使用Java5中的注解(annotation),以下是JUnit4常用的几个annotation: @Before:初始化方法   对于每一个测试方法都要执行一次(注意与BeforeClass区别,后者是对于所有方法执行一次)@After:释放资源  对于每一个测试方法都要执行一次(注意与AfterClass区别,后者是对于所有方法执行一次)@Test:测试方法,在这里可以测试期望异常...

2018-06-27 11:52:57 162

原创 IDEA 中文乱码的解决

事件描述/:由于IDEA全部勾选为utf-8由于标红处勾选,所以为自动转码为UTF-8.但是本地文件用编辑器打开\u989D\u5EA6\u6700\u5927\u503C\u9650\u5236中文还是如此类的格式所以解决方案为不勾选,文件显示中文是提交,这样在git上看到的还是中文...

2018-06-11 12:16:14 1724

原创 Notepad++文本比较插件:Compare(重要的是免费)

1、首先下载一个3M不到的Notepad++编程软件。 2、Compare插件的安装很简单方法1:在Notepad++的“插件”菜单中选择“Plugin Manager”-》“show Plugin Manager”,然后再“Available”选项卡内找到“Compare”插件,打勾,按Install。理论上就自动下载安装完毕了。方法2:下载该“ComparePlugin.dll”文件后,复制到...

2018-06-11 12:11:14 2096

原创 Spring中获取request的几种方法,及其线程安全性分析

前言本文将介绍在Spring MVC开发的web系统中,获取request对象的几种方法,并讨论其线程安全性。原创不易,如果觉得文章对你有帮助,欢迎点赞、评论。文章有疏漏之处,欢迎批评指正。欢迎转载,转载请注明原文链接:http://www.cnblogs.com/kismetv/p/8757260.html目录概述如何测试线程安全性方法1:Controller中加参数方法2:自动注入方法3:基类...

2018-06-08 11:47:50 128

原创 Log4j2配置

1、概述        log4j是Apache提供的一个日志实现,可以用于我们项目中的日志记录,有log4j1和log4j2两个版本,本文使用log4j2这个版本。SLF4J(Simple logging facade for Java)不是一个真正的日志实现,而是一个抽象层,相当于一个统一的接口,它允许你在后台使用任意一个日志类库。我们使用SLF4J提供的接口进行日志记录的编程,当我们需要更换...

2018-06-08 11:38:11 159

转载 HandlerInterceptor拦截器使用总结

简介SpringMVC的处理器拦截器,类似于Servlet开发中的过滤器Filter,用于对请求进行拦截和处理。常见应用场景1、权限检查:如检测请求是否具有登录权限,如果没有直接返回到登陆页面。 2、性能监控:用请求处理前和请求处理后的时间差计算整个请求响应完成所消耗的时间。 3、日志记录:可以记录请求信息的日志,以便进行信息监控、信息统计等。使用方法1、配置文件<mvc:intercept...

2018-06-08 11:24:43 577

转载 解析Json之MappingJackson2HttpMessageConverter使用方法

众所周知,用Spring cloud构建微服务架构时,后台接收controller通常用@RestController注解。@Restcontroller是@Controller和@ResponseBody的结合体。这样就将后台返回的Java对象转换为Json字符串传递给前台,但是当数据库字段为date类型时,@ResponseBody注解在转换日期类型时会默认把日期转换为时间戳(例如: date...

2018-06-08 11:17:03 8018 1

原创 Object

package java.lang;public class Object { private static native void registerNatives(); static { registerNatives(); } public final native Class<?> getClass(); publ...

2018-05-24 17:58:49 106

原创 ArrayList

package java.util;import sun.misc.SharedSecrets;import java.util.*;import java.util.List;import java.util.function.Consumer;import java.util.function.Predicate;import java.util.function.UnaryO...

2018-05-24 16:53:40 119

原创 AbstractList

package java.util;import java.util.*;import java.util.List;public abstract class AbstractList<E> extends AbstractCollection<E> implements List<E> { protected AbstractList()...

2018-05-24 16:42:11 353

原创 AbstractCollection

package java.util;import java.util.Arrays;import java.util.Collection;import java.util.Iterator;import java.util.Objects;public abstract class AbstractCollection<E> implements Collection...

2018-05-24 16:29:55 163

原创 Map

package map;import java.io.Serializable;import java.util.*;import java.util.function.BiConsumer;import java.util.function.BiFunction;import java.util.function.Function;public interface Map<...

2018-05-24 16:25:55 114

原创 Set

package set;import java.util.*;public interface Set<E> extends Collection<E> { // Query Operations int size(); boolean isEmpty(); boolean contains(Object o); I...

2018-05-24 16:17:06 134

原创 List

package list;import java.util.*;import java.util.function.UnaryOperator;public interface List<E> extends Collection<E> { // Query Operations int size(); boolean isEmpty...

2018-05-24 16:13:08 103

原创 Collection

package java.util;import java.util.*;import java.util.Iterator;import java.util.function.Predicate;import java.util.stream.Stream;import java.util.stream.StreamSupport;public interface Collec...

2018-05-24 16:09:38 154

原创 Iterable

package java.lang;import java.util.Iterator;import java.util.Objects;import java.util.Spliterator;import java.util.Spliterators;import java.util.function.Consumer;public interface Iterable<...

2018-05-24 16:05:34 1122

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除