自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 java 并发之 volatile

实例:两个线程同时执行的情况下,执行i++ 操作,i初始化为1,得到的结果并非为3,而是2.过程为:线程1和2 同时从主存中获取i 的值并写入缓存,在分别执行+1 操作,之后再分别写入主存,这时出现了最终主存的值为2的情况。这个是因为线程内操作对其他线程不可见,解决缓存一致性的方案有: 通过在总线加LOCK#锁的方式; 通过缓存一致性协议。 但是方案1的缺点是总线加锁会...

2019-08-25 16:31:18 226

转载 Java并发之ThreadLoacal

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

2019-08-12 17:15:52 359

原创 java集合类之HashMap

HashMap 是编码中常用的集合类之一,同时也是面试中常问的知识点,今天就跟踪源码(JAVA8)详细的介绍下:特点:1、实现了Map 接口,存储的数据结构是数组+链表的形式,java8之后为了提升效率,当链表长度达到一定阈值8时且数组长度大于最小转化容量64时,改为红黑树进行存储,当元素大于负载因子*容量时进行扩容,扩容为之前容量的2倍。2、HashMap 是无序存储,有序列表如Li...

2019-06-27 23:29:11 278 1

原创 Set如何保证不重复

java集合类中,Set与其他集合类的区别之一就是保证元素的不重复性,无序,原理是什么呢?本文以HashSet 为例,具体说明:首先是HasHSet 的构造方法: public HashSet() { map = new HashMap<>(); }可以看到,hashSet 实际上就是封装了HashMap,其他的构造方法也是分别调用hashMap的...

2019-06-27 15:32:21 1768

原创 快速失败 (fail-fast) 和安全失败 (fail-safe)

在上篇文章中有写到ArrayList 和Vector,期间在Add 方法中有出现modCount 变量,这个变量继承与AbstractList,解释为记录list 修改的次数,对于其理解不是太深入,因此特意记录一下。1、快速失败:是指在多线程访问情况下,使用迭代器遍历集合数据时,其他线程对集合有进行了修改,此时则会抛出Concurrent Modification Exception异常...

2019-06-25 21:46:27 277 1

原创 java 集合类之ArrayList、LinkedList 和Vector

今天和朋友聊天,谈到java中的集合类问题,对于其中的用法和特点有些遗忘的地方,再次梳理和记录下。首先是常用的ArrayList 和Vector。(java 8),狭义(不包含Map)集合类UML 图:联系和区别:ArrayList 和Vector 都继承了AbstractList,而和LinkedList 同时实现了List 接口,因此具有List的一些特点,比如底层都是用数组来存...

2019-06-25 16:22:04 161

转载 Python end 关键字

关键字end可以用于将结果输出到同一行,或者在输出的末尾添加不同的字符,实例如下:a, b = 0, 1while b < 1000: print(b, end=',') a, b = b, a+b1 2 3 4执行以上程序,输出结果为:<span style="color:#008000">1,1,2,3,5,8,13,21,34,55...

2018-05-06 13:31:12 393 1

原创 Python 中的运算符

Python算术运算符以下假设变量a为10,变量b为21:运算符 描述 实例+ 加 - 两个对象相加 a + b 输出结果 31- 减 - 得到负数或是一个数减去另一个数 a - b 输出结果 -11* 乘 - 两个数相乘或是返回一个被重复若干次的字符串 a * b 输出结果 210/ 除 - x 除以 y b / a 输出结果 2.1% 取模 - 返回除法的余数 b % a 输出...

2018-05-06 13:01:16 338

原创 python 中的if...else、while

if 语句:if 条件1: 执行语句elif 条件2: 执行语句else 条件3: 执行语句Python 中用elif代替了else if,所以if语句的关键字为:if – elif – else注意:1、每个条件后面要使用冒号 :,表示接下来是满足条件后要执行的语句块。2、使用缩进来划分语句块,相同缩进数的语句在一起组成一个语句块。3、在Py...

2018-05-06 12:03:00 356

原创 Python 3中的注释 和字符串与int 转换

单行注释:#多行注释:3个单引号''' 或者3个多引号"""#!/usr/bin/python3 '''这是多行注释,用三个单引号这是多行注释,用三个单引号 这是多行注释,用三个单引号'''print("Hello, World!") '''这是多行注释,用三个单引号这是多行注释,用三个单引号 这是多行注释,用三个单引号'''print("Hello, World...

2018-05-06 11:42:40 3673

原创 Python全栈开发1

为什么学习Python? 1、我入门是学习java的,而且我还有一件"java是最好的语言"的长袖,但是2年的工作经验让我离codeing 渐行渐远。 2、Youtube,CIA,NASA反正好多知名的公司都用python 开发。 3、Python 能干什么? web开发,网络编程、科学运算、GUI图形开发、运维自动化...

2018-05-06 11:37:48 319

原创 Python2和Python3 编码问题

Python 2上面 如果需要支持utf -8 编码,需要在编写是头部加上那个 #coding:utf-8 或者 #!-*- coding:utf-8 -*-;

2018-05-06 11:34:19 239

空空如也

空空如也

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

TA关注的人

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