祥先生
码龄13年
关注
提问 私信
  • 博客:64,298
    动态:13
    64,311
    总访问量
  • 25
    原创
  • 1,313,583
    排名
  • 49
    粉丝
  • 0
    铁粉

个人简介:名师指路不如自己去悟;自己不悟神仙也难救

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:河北省
  • 加入CSDN时间: 2012-05-14
博客简介:

Turnhead的专栏

查看详细资料
个人成就
  • 获得163次点赞
  • 内容获得24次评论
  • 获得260次收藏
创作历程
  • 7篇
    2020年
  • 11篇
    2019年
  • 5篇
    2018年
  • 1篇
    2015年
  • 3篇
    2014年
成就勋章
TA的专栏
  • js学习
    3篇
  • Java基础知识
    18篇
  • 面向对象设计
    1篇
  • tcp/ip
    2篇
  • 英语学习
    1篇
  • 计算机基础
    8篇
  • 算法题
    1篇
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

352人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

Lock vs Semaphore vs Condition Variable vs Monitor(中文)

在多线程(并发)程序中,多个线程会访问同一个共享内存,为了避免产生一些奇怪的结果,这些线程应该按照合适的顺序访问共享内存,这个过程称为同步(synchronization)。仅仅保持同步还不够,为了让同步更加高效,多个线程互相之间保持交流。1.Critical Section(CS)临界区(Critical section)是程序的一段代码块,临界区不能被多个线程在同一时间访问,临界区的访问是互斥的,某一时刻最多只有一个线程能进临界区。2.LockLock提供了一种互斥的方式,Lo...
原创
发布博客 2020.12.28 ·
1141 阅读 ·
0 点赞 ·
1 评论 ·
4 收藏

Lock vs Semaphore vs Condition Variable vs Monitor

目录1. Critical Section(CS)2. Lock3. Semaphore4. Condition variable5. Monitor6. SummaryIn mutil-threads (concurrent) programing, two or more threads have access to a shared memory, for avoiding confusing results, these threads should acces...
原创
发布博客 2020.12.25 ·
300 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

ThreadLocal原理的秘密

目录1. ThreadLocal描述2. 认识ThreadLocalMap3. 神奇的数字4.注意1. ThreadLocal描述ThreadLocal保证了每个线程都有自己独享的变量,不用考虑并发同步的问题。通常情况下,ThreadLocal类型的变量被建议声明为static,即使多个线程调用多次,该变量也只会初始化一次。ThreadLocal使用起来很简单、方便,但非常值得弄清ThreadLocal的实现原理。2. 认识ThreadLocalMap在ThreadLo.
原创
发布博客 2020.12.11 ·
277 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏

The secret of ThreadLocal

ThreadLocal variable guareente each thread has own variable without thinking about synchronization. Usually threadlocal is declared static to be initialized only once whenever thread access it. We can easily use threadlocal in programm, but it is worth t
原创
发布博客 2020.12.11 ·
156 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Producer-Consumer solution using wait(), notify(), park() and unpark()

1. IntroduceIn java, mutil-threads are used everywhere, applicationsnot only take advantages of mutil-threads improving efficiency, but also encounter some confusing problems especially when threads are not synchronized correctly. Fortunately, java prov.
原创
发布博客 2020.11.26 ·
192 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

A thread shoud not be controlled directly by other threads

目录1.Deprecated methods2.suspend() &resume()3.destroy()4.stop()1.Deprecated methodsIn mulitple-thread application, threads may communicate with each other to share(write, read or lock) common memory. But any thread usually shoudn't directly.
原创
发布博客 2020.11.12 ·
131 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

What is thread in java and how its methods behave

1. What is ThreadAs in oracle java specification, thread is one of two basic units of execution, the other is process. Process was present prior to thread, we can refer to one process as an application. When an application is running, the resources alloc
原创
发布博客 2020.11.10 ·
137 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

重识JVM(2) - JAVA内存模型

目录一、概念和误解二、疑问三、计算机的内存模型3.1. 内存顺序和程序顺序3.2. SC内存模型3.3. TSO内存模型3.4. 其他内存模型3.5.JAVA内存模型3.6. volatile实现原理一、概念和误解 java内存模型,英文全称为java memory model,简称JMM。网上大部分关于java内存模型的资料都是关于堆栈...
原创
发布博客 2019.12.20 ·
324 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

volatile官方文档解释

一、描述:官方文档中对volatile中描述中,写到:This means that changes to a volatile variable are always visible to other threads. What's more, it also means that when a thread reads a volatile variable, it sees not...
原创
发布博客 2019.10.29 ·
453 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

重识JVM(1)- 冯诺依曼体系

目录1. 引言 2. 简介3. 冯诺依曼体系4. CPU组成和工作流程 5. JVM组成和工作流程6. 总结7. 思考1. 引言 学习java这门语言,最先学到的除了一些基础的语法知识,还有关于jvm的一些东西,像堆栈、方法区、垃圾回收,站在巨人的肩膀上,我们只需要对jvm有个大概的了解就行了,可是仅靠书本和网络...
原创
发布博客 2019.08.08 ·
726 阅读 ·
3 点赞 ·
0 评论 ·
2 收藏

LeetCode算法题-镜面反射(Mirror Reflection)

1. 题目:有一个四面墙都有镜子的特殊正方形房间。除了西南角之外,其他三个角都有接收器,编号为0, 1, 2。方形房间的墙长度为p,有一束射线从西南角照射到东面的墙上,到墙角0的距离为q。请找出射线遇到的第一个接收器的编号(可以保证射线最终会遇到一个接收器)。例如:输入:p = 2, q = 1输出:2解释:当射线第一次反射到左边墙上的时候,会遇到接收器2。注意:1...
原创
发布博客 2019.07.02 ·
1351 阅读 ·
6 点赞 ·
0 评论 ·
2 收藏

计算机为什么要用补码

目录1. 补码诞生的背景2. 原码、反码、补码2.1 原码2.2 反码2.3 补码3. 加减法3.1普通算术加减法3.2模N加减法4. 总结1. 补码诞生的背景 不论是在生活中还是虚拟网络中,人们总是习惯与10进制数字打交道,很容易理解10进制的加减乘除运算,但是我们知道计算机无法直接理解10进制,只能识别高低电平,一般人为设定0为低电平...
原创
发布博客 2019.06.12 ·
16757 阅读 ·
126 点赞 ·
18 评论 ·
309 收藏

java泛型探秘(二):泛型擦除

目录一.泛型擦除是什么二. 为什么要擦除三. 擦除造成的限制1. 特殊的rawType2. 不支持原始类型3. 不能用占位符创建实例或数组4. 不能创建泛型数组一.泛型擦除是什么java泛型是编译期的泛型,不是运行时的泛型java语言是跨平台的,每个平台都有对应的JVM(java虚拟机),编写的java源码不能直接在JVM中运行,能在...
原创
发布博客 2019.04.19 ·
1390 阅读 ·
4 点赞 ·
0 评论 ·
11 收藏

java泛型探秘(一):泛型是什么

目录一. 泛型基本概念二. java泛型是什么&为什么使用泛型三. java泛型的继承关系一. 泛型基本概念在维基百科上泛型是用这样一句话定义的:Generic programming is a style of computer programming in which algorithms are written in terms of types to...
原创
发布博客 2019.04.03 ·
368 阅读 ·
2 点赞 ·
0 评论 ·
4 收藏

英语五大基本句型

目录1. 引言 2. 英语基本句型2.1.主谓2.2. 主系表2.3. 主谓宾2.4. 主谓双宾2.5. 主谓宾宾补3. 注意事项3.1. 主谓宾宾补和主谓宾(主补)3.2. 相同形式句子不同句型3.3. 相同动词不同句型4. 总结1. 引言 平时看代码英文注释时,通常都是一些很短的句子,很容易...
原创
发布博客 2019.02.15 ·
10761 阅读 ·
8 点赞 ·
0 评论 ·
22 收藏

java编译时常量-翻译

一、原文地址:http://www.zoopable.com/compile-time-constants-in-java/二、原文翻译在本教程中,我们将会基本了解java编程语言中的编译时常量。这不是编译时常量的详细教程,但是对于大部分人来说足够了。我们将会知道什么是编译时常量,还有它们怎么样特殊。首先,我们来看下编译时常量的一般规则。必须声明为fianl 必须是java...
翻译
发布博客 2019.01.23 ·
606 阅读 ·
2 点赞 ·
1 评论 ·
0 收藏

Nested Classes(嵌套类) - Java™ Tutorials 翻译

一、原文地址:https://docs.oracle.com/javase/tutorial/java/javaOO/nested.html二、原文翻译:1、嵌套类 java编程语言允许在另一个类内部定义一个类。这样的类被叫做嵌套类,这里举例说明:/** 外部类 **/public class OuterClass { /** 嵌套类 **/ ...
翻译
发布博客 2019.01.17 ·
444 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

List接口英文注释翻译

一个有序的容器(也被称为序列)。接口使用者可以精确控制列表中每个元素的插入位置。用户可以通过整数索引(列表中的位置)访问元素,还能查找列表中的元素。 不像集合,列表通常允许重复元素。更正式点的说法是,列表通常允许满足e1.equals(e2)这样的e1和e2元素对,另外如果允许空元素通常也会允许多个空元素。有人想通过当使用者尝试插入重复元素时抛出运行时异常的方式...
原创
发布博客 2019.01.03 ·
633 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

为什么Collection接口的remove方法参数类型是Object而不是类型参数(泛型)

在jdk1.2版本之后的Collection接口被泛型化了,add方法的参数类型为泛型,remove方法的参数类型依然为Object,既然add添加元素时严格限制类型,保证了列表元素结构不被破坏,remove删除却放宽了类型限制,有点不合常理,查阅资料,了解到这样做的原因既有逻辑上的考虑,也有技术上的妥协,可能当时没有更好的解决办法。一、从remove方法含义上看 ...
原创
发布博客 2018.10.30 ·
1407 阅读 ·
3 点赞 ·
0 评论 ·
4 收藏
加载更多