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

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

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

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

2019-03-22 15:05:59

阅读数 246

评论数 0

J.U.C之AQS:AQS简介

Java的内置锁一直都是备受争议的,在JDK 1.6之前,synchronized这个重量级锁其性能一直都是较为低下,虽然在1.6后,进行大量的锁优化策略(分析synchronized的实现原理),但是与Lock相比synchronized还是存在一些缺陷的:虽然synchronized提供了便捷...

2019-02-15 14:58:05

阅读数 39

评论数 0

分析ThreadLocal

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

2019-02-14 15:01:09

阅读数 57

评论数 0

Java内存模型之总结

JMM规定了线程的工作内存和主内存的交互关系,以及线程之间的可见性和程序的执行顺序。一方面,要为程序员提供足够强的内存可见性保证;另一方面,对编译器和处理器的限制要尽可能地放松。JMM对程序员屏蔽了CPU以及OS内存的使用问题,能够使程序在不同的CPU和OS内存上都能够达到预期的效果。 Java...

2019-02-14 14:36:46

阅读数 26

评论数 0

Java内存模型之分析volatile

深入分析volatile的实现原理 中已经阐述了volatile的特性了: volatile可见性;对一个volatile的读,总可以看到对这个变量最终的写; volatile原子性;volatile对单个读/写具有原子性(32位Long、Double),但是复合操作除外,例如i+...

2019-02-14 14:18:59

阅读数 40

评论数 0

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

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

2019-02-14 11:28:21

阅读数 36

评论数 0

Java内存模型之重排序

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

2019-02-14 11:20:48

阅读数 38

评论数 0

Java内存模型之happens-before

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

2019-02-14 11:18:10

阅读数 41

评论数 0

volatile的实现原理

通过前面一章我们了解了synchronized是一个重量级的锁,虽然JVM对它做了很多优化,而下面介绍的volatile则是轻量级的synchronized。如果一个变量使用volatile,则它比使用synchronized的成本更加低,因为它不会引起线程上下文的切换和调度。Java语言规范对v...

2019-02-14 11:03:04

阅读数 33

评论数 0

synchronized的实现原理

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

2019-02-14 10:49:05

阅读数 28

评论数 0

Redis yum安装redis

Redis yum安装redis 一、直接用yum安装redis 1、yum安装redis //更新yum仓库 yum update  //安装redis yum install redis 2、yum卸载redis //卸载 yum remove redis 3、启动、关闭、重启redis...

2019-01-10 18:24:33

阅读数 76

评论数 0

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

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

2018-12-01 13:34:26

阅读数 60

评论数 0

elastic-job的原理

elastic-job是当当开源的一款非常好用的作业框架,在这之前,我们开发定时任务一般都是使用quartz或者spring-task(ScheduledExecutorService),无论是使用quartz还是spring-task,我们都会至少遇到两个痛点: 1.不敢轻易跟着应用服务多节点部...

2018-10-25 10:23:47

阅读数 64

评论数 0

Elastic-job入门

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

2018-10-25 10:20:35

阅读数 99

评论数 0

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

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

2018-09-05 11:37:48

阅读数 45

评论数 0

IntelliJ IDEA 最新激活码(截止到2018年10月14日)

IntelliJ IDEA 最新激活码(截止到2019年5月4日):点击获取!!! IntelliJ IDEA 注册码: EB101IWSWD-eyJsaWNlbnNlSWQiOiJFQjEwMUlXU1dEIiwibGljZW5zZWVOYW1lIjoibGFuIHl1IiwiYXNz...

2018-09-05 11:36:57

阅读数 236

评论数 0

Struts中private static final long serialVersionUID的作用

今天在看项目源码的时候发现struts的action里面有   private static final long serialVersionUID = -1672970955045193907L; 这样的一条语句。   中文搜索之后,全部都是 如果你修改了此类, 要修改此值。否则以前...

2018-09-05 11:12:45

阅读数 27

评论数 0

Intellij IDEA自动生成serialVersionUID配置

  完整操作流程:Setting->Editor->Inspections->Java->Serialization issues->Serializable class without...

2018-09-05 11:11:45

阅读数 78

评论数 0

BigDecimal 的那些坑事儿

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

2018-07-26 17:00:33

阅读数 558

评论数 0

在IDEA中实战Git

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

2018-07-23 16:39:54

阅读数 31

评论数 0

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