自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 资源 (4)
  • 收藏
  • 关注

原创 互联网公司计算机网络热门面试题整理

1.体系结构OSI七层体系机构:物理层 数据链路层 网络层 运输层 会话层 表示层 应用层五层体系结构:物理层 数据链路层 网络层 传输层 应用层数据传输的基本单位:传输层(TCP(报文段)UDP(用户数据包))、网络层(IP数据报或分组)、数据链路层(帧)、物理层(比特)2.HTTP协议相关1)HTTP是不保存状态的协议:HTTP是一种不保存状态的协议,即无...

2018-07-07 22:03:24 5720

原创 Java中线程安全的加一(+1)操作的三种方式

1.锁分为乐观锁和悲观锁,悲观锁总是假设每次的临界区操作会产生冲突,如果多个线程同时需要访问临界区资源,就宁可牺牲性能让线程进行等待。而乐观锁,它会假设对资源的访问都是没有冲突的,所有的线程都可以在不停顿的状态下持续执行,如果遇到冲突,乐观锁采用的叫做比较交换(CAS Compare And Swap)来鉴别线程冲突,一旦检测到冲突产生,就尝试当前操作直到没有冲突为止 。2.锁的必要性:引...

2018-07-07 21:18:50 8679 2

原创 Java中的join方法原理详解

1.synchronized中的对象锁是线程的实例我们可以使用同步语句块的方式对需要同步的代码进行包裹。Object obj = new Object();synchronized(obj){   obj.wait();    //线程在这里等待}此时线程会在obj.wait()处等待,如果想继续执行,此时需要别的线程通过notify、notifyAll唤醒或者中断。但是如果o...

2018-07-04 16:17:46 10232 15

转载 JAVA多线程和并发基础面试问答

转自:http://ifeve.com/java-multi-threading-concurrency-interview-questions-with-answers/Java多线程面试问题1. 进程和线程之间有什么不同?一个进程是一个独立(self contained)的运行环境,它可以被看作一个程序或者一个应用。而线程是在进程中执行的一个任务。Java运行环境是一个包含了不同的...

2018-07-23 15:09:06 161

转载 Java多线程面试题及解答

转自:http://ifeve.com/15-java-faq/Java 线程面试问题在任何Java面试当中多线程和并发方面的问题都是必不可少的一部分。如果你想获得任何股票投资银行的前台资讯职位,那么你应该准备很多关于多线程的问题。在投资银行业务中多线程和并发是一个非常受欢迎的话题,特别是电子交易发展方面相关的。他们会问面试者很多令人混淆的Java线程问题。面试官只是想确信面试者有足够的J...

2018-07-23 15:08:19 245

转载 线程池整理

内容来自博客:https://www.cnblogs.com/dolphin0520/p/3932921.html#!comments1.使用线程池的原因:使用线程池的两个原因:1)Java线程的创建和销毁需要一定的开销,如果为每一个任务创建一个线程来执行,这些线程的创建和销毁将消耗大量的计算资源。2)Java线程被意义映射到本地操作系统线程,Java线程启动时会创建一个本地操作系...

2018-07-22 21:16:47 214

原创 HashMap笔记

HashMap中中的Node类:static class Node<K,V> implements Map.Entry<K,V> { final int hash; //hash值,与长度减1相与,用来定位数组索引位置 final K key; //键 V value; //值 ...

2018-07-21 16:23:59 331

原创 并发—ThreadLocal笔记

使用示例:public class Test { public static class MyRunnable implements Runnable { private ThreadLocal&lt;Integer&gt; threadLocal = new ThreadLocal&lt;&gt;(); @Override pub...

2018-07-19 15:35:24 866

转载 ConcurrentHashMap源码整理

转自https://blog.csdn.net/justloveyou_/article/details/72783008,这是我的阅读笔记,自己做了部分修改。1.ConcurrentHash的介绍:通过段(Segment)将ConcurrentHashMap划分为不同的部分,ConcurrentHashMap就可以使用不同的锁来控制对哈希表的不同部分的修改,从而允许多个修改操作并发进行,...

2018-07-18 16:52:52 681

转载 Java面试题整理

转自https://www.jianshu.com/p/a07d1d4004b0项目介绍大部分情况,这是一场面试的开门题,面试官问这个问题,主要是考察你的概述能力和全局视野。有的人经常抱怨自己每天在堆业务,但没有成长。事实上,很多情况下确实在堆业务,但并不是没有成长的。并非做中间件或者技术架构才是成长,例如我们的需求分析能力,沟通协作能力,产品思维能力,抽象建模能力等都是一个非常重要的硬实力。好的...

2018-07-15 15:39:18 401

转载 AtomicInteger 中 incrementAndGet与getAndIncrement 两个方法的区别

通过查看JDK的API知道:intincrementAndGet()           以原子方式将当前值加 1。 intgetAndIncrement()           以原子方式将当前值加 1。字面解释都一样。再进行源代码查看:public final int getAndIncrement() { for (;;) { int current = get(); ...

2018-07-13 15:13:21 3584

转载 Fork/Join框架介绍

转自https://blog.csdn.net/TimHeath/article/details/71307834Fork/Join框架介绍Fork/Join框架是Java 7提供了的一个用于并行执行任务的框架, 大概是怎样子的呢,就是一个把大任务分割成若干个小任务,最终把每个小任务结果汇总起来得到大任务结果的框架。有点像是归并排序。下面的图就能很好地体现出来工作窃取模式(work-stealin...

2018-07-10 16:23:28 401

原创 高效读取CopyOnWriteArrayList

1.使用场景:读操作远远大于写操作,比如有些系统级别的信息,往往需要加载或者修改很少的次数,但是会被系统内的所有模块频繁的访问。特点:这种链表,读取完全不用加锁,写入也不会阻塞读取,只有写入和写入之间需要进行同步等待。缺点:1)占用内存,每次执行写操作都要将原容器拷贝一份,数据量大时,对内存压力较大,可能会引起频繁GC          2)无法保证实时性,Vector对于读写操作都同步,保证了读...

2018-07-07 14:52:02 1000

原创 Java阻塞队列学习小结

博客:https://blog.csdn.net/suifeng3051/article/details/48807423https://blog.csdn.net/chenchaofuck1/article/details/51660119https://blog.csdn.net/suifeng3051/article/details/48807423PriorityBlockingQueue...

2018-07-06 19:36:19 413 1

原创 CountDownLatch、Semaphone学习

学习博客笔记https://www.cnblogs.com/dolphin0520/p/3920397.html1.CountDownLatch(倒计数器)作用:latch(门闩),门闩的含义:把门锁起来,不让里面的线程跑出来,因此,这个工具通常用来控制线程等待,它可以让某个线程等待直到倒计时结束,再开始执行。CountDownLatch的构造函数接收一个整数N作为参数,即当前这个计数...

2018-07-06 14:50:41 1865

原创 第12章内存模型和线程的知识点记录 13章线程安全与锁优化知识点记录

1.课本362页:Java虚拟机规范试图定义一种Java内存模型(JMM)来屏蔽掉各种硬件和操作系统的内存访问差异,以实现让Java程序在各种平台都能达到一致的内存访问效果。2:课本363页:Java内存模型规定了所有的变量都存储在主内存中,每条线程都有自己的工作内存。线程的工作内存保存了被该线程使用到的变量的主内存副本拷贝。3.课本366页:volatile关键字的两种特征:第一:可见性:保证此...

2018-07-02 22:36:40 168

转载 Java并发编程:volatile关键字解析

转自海子的博客:https://www.cnblogs.com/dolphin0520/p/3920373.htmlJava并发编程:volatile关键字解析   volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。  volatile关键...

2018-07-02 16:08:07 117 1

原创 Java第二章小结

参考博客学习https://blog.csdn.net/chenkaibsw/article/details/808124531.程序计数器它是当前所执行的字节码的行号指示器,字节码解释器工作时就是通过改变计数器的值来选择下一条需要执行的字节码指令、分支、跳转、循环等基本功能都要依赖它来实现。每一个线程都有一个独立的程序计数器,各线程间的计数器互补影响。2.Java虚拟机栈该区域也...

2018-07-01 14:39:44 688

数据结构与 算法分析Java语言描述

数据结构与算法分析Java语言描述的课本源码,数据结构与算法分析Java语言描述的课本源码

2018-04-05

空空如也

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

TA关注的人

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