Java
就不告絮你
这个作者很懒,什么都没留下…
展开
-
Java高并发面试之volatile与synchronized
在深入理解使用Volatile与Synchronized时,应该先理解明白Java内存模型 (Java Memory Model,JMM) Java内存模型(Java Memory Model,JMM) Java内存(JMM)模型是在硬件内存模型基础上更高层的抽象,它屏蔽了各种硬件和操作系统对内存访问的差异性,从而实现让Java程序在各种平台下都能达到一致的并发效果。 JMM的内部工作机制 主内存:存储共享的变量值(实例变量和类变量,不包含局部变量,因为局部变量是线程私有的,因此不存在竞争问题) 工作原创 2020-09-07 10:40:05 · 114 阅读 · 0 评论 -
再见:深拷贝、浅拷贝问题!
对象拷贝在我们日常写代码的时候基本上是刚性需求,经常遇到,只不过很多人天天忙于写业务,忽视了一些细节问题和理解,有时候这方面一旦出了问题,就不太容易排查了。所以本篇好好梳理一下。注:本文已收录于Github开源项目:github.com/hansonwang99/JavaCollection ,里面有详细自学编程学习路线、面试题和面经、编程资料及系列技术文章等,资源持续更新中...值类型 vs 引用类型...转载 2020-08-28 10:15:44 · 157 阅读 · 0 评论 -
深入解析Java对象深拷贝的方法
前言 在项目中偶尔会遇到关于深拷贝的问题,比如点餐列表中的点一个饮料,它有多种规格(常温、冰),这样放到购物车列表中就可能出现2个相同id的饮料。 如下图所示,其中我要对百事可乐进行拷贝一份,然后各修改它的属性值为常温/加冰。 一、浅拷贝与深拷贝的区别 在Java语言中需要拷贝一个对象时,有两种类型:浅拷贝与深拷贝。...原创 2020-08-20 10:59:09 · 1475 阅读 · 0 评论 -
Flutter自定义Widget之炫酷粒子时钟效果
周末发表了一篇文章《这个项目也太屌了吧》,给大家推荐了一个炫酷的Flutter粒子时钟项目,不过没有将具体实现思路和代码,所幸,作者自己写了一篇博客将这个项目的背景、实现思路、和所遇到的问题,我觉得对非常有用,因此翻译出来,整理给大家!原文题目《我是如何创建粒子时钟,并赢得了#FlutterClock挑战的》。 背景 Google在2019年11月18日发起了The Flutter Clock Challenge挑战活动,内容很简单:使用Flutter UI工具包设计时钟。Google专家小组将根据四个主要转载 2020-08-20 10:48:01 · 441 阅读 · 0 评论