Java
啊困兽犹斗
这个作者很懒,什么都没留下…
展开
-
ThreadLocal面试六连问,你能Hold住吗?
转载:https://www.toutiao.com/a6764905475558343180/?tt_from=weixin&utm_campaign=client_share&wxshare_count=1×tamp=1575175708&app=news_article&utm_source=weixin&utm_medium=...转载 2020-03-03 17:19:11 · 396 阅读 · 0 评论 -
高并发编程系列:ConcurrentHashMap的实现原理(JDK1.7和JDK1.8)
转载:https://www.cnblogs.com/lijiasnong/p/9963808.htmlHashMap、CurrentHashMap 的实现原理基本都是BAT面试必考内容,阿里P8架构师谈:深入探讨HashMap的底层结构、原理、扩容机制深入谈过hashmap的实现原理以及在JDK 1.8的实现区别,今天主要谈CurrentHashMap的实现原理,以及在JDK1.7和1...转载 2020-01-11 16:49:30 · 154 阅读 · 0 评论 -
Java内存管理-JVM内存模型以及JDK7和JDK8内存模型对比总结(三)
转载:https://www.jianshu.com/p/5b3717ff06ce知识地图:一、概述Java的内存管理采用[自动内存管理]机制,因为这个自动管理机制,Java程序员就不需要去写释放内存的代码,而且不容易出现内存泄漏问题(比C/C++程序员少一些烦恼)。但是由于内存的申请和释放都交给了Java虚拟机,一旦出现内存泄漏和溢出问题时,在不了解Java虚拟机内存结构和自动管...转载 2019-12-14 16:08:10 · 149 阅读 · 0 评论 -
Java常量池理解与总结
转载:链接:https://www.jianshu.com/p/c7f47de2ee80一.相关概念 什么是常量 用final修饰的成员变量表示常量,值一旦给定就无法改变! final修饰的变量有三种:静态变量、实例变量和局部变量,分别表示三种类型的常量。 Class文件中的常量池 在Class文件结构中,最头的4个字节用于存储魔数Magic Number,用于确定一个文...转载 2019-12-14 15:22:13 · 585 阅读 · 0 评论 -
String类为什么是final的?
转载:https://www.jianshu.com/p/9c7f5daac283https://www.cnblogs.com/hellowhy/p/6536590.html答:1.为了实现字符串池 2.为了线程安全 3.为了实现String可以创建HashCode不可变性 首先你要理解final的用途,在分析String为什么要用final...转载 2019-06-02 12:07:25 · 109 阅读 · 0 评论 -
String、StringBuffer和StringBuilder的区别
转载:https://www.jianshu.com/p/8c724dd28fa4String 字符串常量StringBuffer 字符串变量(线程安全)StringBuilder 字符串变量(非线程安全)概念:1、用来处理字符串常用的类有3种:String、StringBuffer和StringBuilder2、三者之间的区别:都是final类,都不允许被继承;Str...转载 2019-05-28 17:31:53 · 138 阅读 · 0 评论 -
JDK动态代理和cglib动态代理
转载:https://www.jianshu.com/p/1712ef4f2717回顾一下JDK动态代理和cglib动态代理,转自我的BLOG:http://zeusjava.com/2015/10/13/jdk-dynamic-agent-and-cglib/闲言少叙,先来说一下什么是代理模式,我们去一个新的地方总是要先找地方住,但是我们人生地不熟的掌握的资源不多,这时候一...转载 2019-05-22 16:54:13 · 129 阅读 · 0 评论 -
Java动态代理
转载:https://juejin.im/post/5ad3e6b36fb9a028ba1fee6a转载:https://www.cnblogs.com/xiaoluo501395377/p/3383130.html一、概述1. 什么是代理我们大家都知道微商代理,简单地说就是代替厂家卖商品,厂家“委托”代理为其销售商品。关于微商代理,首先我们从他们那里买东西时通常不知道背后的厂家究...转载 2019-05-22 16:02:17 · 100 阅读 · 0 评论 -
反射机制问答点
先讲反射机制,反射就是程序运行期间JVM会对任意一个类洞悉它的属性和方法,对任意一个对象都能够访问它的属性和方法。依靠此机制,可以动态的创建一个类的对象和调用对象的方法。其次就是反射相关的API,只讲一些常用的,比如获取一个Class对象。Class.forName(完整类名)。通过Class对象获取类的构造方法,class.getConstructor。根据class对象获取类的方法,...转载 2019-05-26 11:54:40 · 107 阅读 · 0 评论 -
CMS垃圾收集器与G1收集器及对应参数
转载:https://blog.csdn.net/rlnLo2pNEfx9c/article/details/797223841、CMS收集器CMS收集器是一种以获取最短回收停顿时间为目标的收集器。基于“标记-清除”算法实现,它的运作过程如下:1)初始标记2)并发标记3)重新标记4)并发清除初始标记、从新标记这两个步骤仍然需要“stoptheworld”,初...转载 2019-05-26 11:39:29 · 736 阅读 · 0 评论 -
CMS垃圾收集器
转载:https://juejin.im/post/5c7262a15188252f30484351CMS是老年代垃圾收集器,在收集过程中可以与用户线程并发操作。它可以与Serial收集器和Parallel New收集器搭配使用。CMS牺牲了系统的吞吐量来追求收集速度,适合追求垃圾收集速度的服务器上。可以通过JVM启动参数:-XX:+UseConcMarkSweepGC来开启CMS。CMS...转载 2019-05-26 11:20:40 · 165 阅读 · 0 评论 -
通过单例模式理解synchronized,volatile
转载:https://www.jianshu.com/p/5b2f063d9f68synchronized 关键字synchronized关键字是用来控制线程同步的,就是在多线程的环境下,控制synchronized代码段不被多个线程同时执行。是一种阻塞性的锁,synchronized既可以加在一段代码上,也可以加在方法上。synchronized(this)及非static的synch...转载 2019-05-15 10:31:18 · 202 阅读 · 0 评论 -
java 8大happen-before原则超全面详解
转载:https://www.jianshu.com/p/1508eedba54d再来重复下八大原则:单线程happen-before原则:在同一个线程中,书写在前面的操作happen-before后面的操作。 锁的happen-before原则:同一个锁的unlock操作happen-before此锁的lock操作。 volatile的happen-before原则:对一个volat...转载 2019-06-02 12:32:25 · 210 阅读 · 0 评论 -
JDK8系列之LongAdder解析
转载:https://www.jianshu.com/p/ec045c38ef0c海涛_meteor关注0.52018.08.15 00:55字数 1095阅读 3815评论 2喜欢 5前言最近公司的项目在陆续升级jdk8,正好想起之前有人问我的jdk8中新增的LongAdder类和AtomicLong的区别,就忍不住想探究一番。源码解析首先看一下类的定义...转载 2019-07-15 12:13:39 · 221 阅读 · 0 评论 -
TreeSet和HashSet的区别
转载:https://blog.csdn.net/a3060858469/article/details/798834742018年04月10日 16:38:41更好的自己520阅读数 294版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/a3060858469/article/details/79883474Hash(哈希)属...转载 2019-07-15 16:48:19 · 110 阅读 · 0 评论 -
Android模块开发之SPI
转载:https://www.jianshu.com/p/deeb39ccdc53Java提供的SPI全名就是Service Provider Interface,下面是一段官方的解释,,其实就是为某个接口寻找服务的机制,有点类似IOC的思想,将装配的控制权移交给ServiceLoader。SPI在平时我们用到的会比较少,但是在Android模块开发中就会比较有用,不同的模块可以基于接口编程,...转载 2019-08-27 22:49:12 · 343 阅读 · 0 评论 -
java创建线程的三种方式及其对比
转载:https://blog.csdn.net/longshengguoji/article/details/411261192014年11月14日 22:14:15longshengguoji阅读数 124036Java中创建线程主要有三种方式:一、继承Thread类创建线程类(1)定义Thread类的子类,并重写该类的run方法,该run方法的方法体就代表了线程要完成的任...转载 2019-07-26 09:19:55 · 95 阅读 · 0 评论 -
Java transient关键字使用小记
转载:https://www.cnblogs.com/lanxuezaipiao/p/3369962.html哎,虽然自己最熟的是Java,但很多Java基础知识都不知道,比如transient关键字以前都没用到过,所以不知道它的作用是什么,今天做笔试题时发现有一题是关于这个的,于是花个时间整理下transient关键字的使用,涨下姿势~~~好了,废话不多说,下面开始:1...转载 2019-08-02 21:37:24 · 122 阅读 · 0 评论 -
这几道Java集合框架面试题在面试中几乎必问
本文是“最最最常见Java面试题总结”系列第三周的文章。 主要内容:Arraylist 与 LinkedList 异同 ArrayList 与 Vector 区别 HashMap的底层实现 HashMap 和 Hashtable 的区别 HashMap 的长度为什么是2的幂次方 HashSet 和 HashMap 区别 ConcurrentHashMap 和 Hashtab...转载 2019-07-11 16:13:14 · 120 阅读 · 0 评论 -
HashMap 和 HashTable 区别
转载:https://www.jianshu.com/p/5c34133ed372rawer关注0.12017.01.13 15:15*字数 293阅读 5202评论 1喜欢 3HashMap 不是线程安全的HashMap 是 map 接口的实现类,是将键映射到值的对象,其中键和值都是对象,并且不能包含重复键,但可以包含重复值。HashMap 允许 null key 和...转载 2019-07-11 15:45:43 · 141 阅读 · 0 评论 -
题目:Java反射机制的用途和缺点
转载:https://www.jianshu.com/p/0590a098a8b9尚硅谷教育关注2018.08.21 10:57字数 774阅读 169评论 1喜欢 01.反射的用途 Uses of ReflectionReflection is commonly used by programs which require the ability to examine or...转载 2019-07-15 18:09:34 · 266 阅读 · 0 评论 -
java流1----InputStream、OutputStream、Reader、Writer
转载:https://www.cnblogs.com/Hadley-pu/p/Stream_1.html字节流和字符流顾名思义,字节流就是操作的是字节,字符流操作的就是字符。其中字节流又可以分为字节输入流(InputStream)和字节输出流(OutputStream)。同样的字符流也可以分为字符输入流(Reader)和字符输出流(Writer)。字节输入流的用法和字符输入流的用...转载 2019-07-15 17:59:30 · 161 阅读 · 0 评论 -
Java 浅拷贝和深拷贝的理解和实现方式
转载:https://www.cnblogs.com/shakinghead/p/7651502.htmlJava中的对象拷贝(Object Copy)指的是将一个对象的所有属性(成员变量)拷贝到另一个有着相同类类型的对象中去。举例说明:比如,对象A和对象B都属于类S,具有属性a和b。那么对对象A进行拷贝操作赋值给对象B就是:B.a=A.a; B.b=A.b;在程序中拷贝对象是很常见的,...转载 2019-07-15 17:45:35 · 124 阅读 · 0 评论 -
彻底让你明白 Integer 类和 int 基本数据类型的区别
转载:https://blog.csdn.net/teacher_lee_zzsxt/article/details/792305012018年02月01日 16:46:33郑州尚学堂李老师阅读数:10139浅谈 Integer 类目录1、Integer 类简介 2、Integer 类和 int 的区别 3、Integer 的自动拆箱和装箱 ①、自动装箱 ...转载 2019-03-20 19:40:56 · 618 阅读 · 1 评论 -
对JVM中可能出现内存溢出(OOM)情况的整理
转载:https://blog.csdn.net/hounanjsj/article/details/546124442017年01月19日 09:01:15hounanhouyong阅读数:4479前一段时间看了一本书《深入理解java虚拟机》,对JVM有了一定的认识...这篇文章主要是对java程序运行在JVM上可能产生内存溢出(OOM)的情况进行整理...在这...转载 2019-03-20 19:03:21 · 430 阅读 · 0 评论 -
HTTP与HTTPS的区别
转载:https://www.cnblogs.com/wudaoyongchang/p/6253451.html超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,HTTP协议不适合传输一些敏感信息,比如:信用卡号、密码等支付信息...转载 2019-03-14 20:17:24 · 183 阅读 · 0 评论 -
理解OAuth 2.0
转载:http://www.ruanyifeng.com/blog/2014/05/oauth_2_0.htmlOAuth是一个关于授权(authorization)的开放网络标准,在全世界得到广泛应用,目前的版本是2.0版。本文对OAuth 2.0的设计思路和运行流程,做一个简明通俗的解释,主要参考材料为RFC 6749。一、应用场景为了理解OAuth的适用场合,让我举一个假...转载 2018-11-01 19:59:39 · 87 阅读 · 0 评论 -
JDK动态代理和cglib动态代理
转载:https://www.jianshu.com/p/1712ef4f2717回顾一下JDK动态代理和cglib动态代理,转自我的BLOG:http://zeusjava.com/2015/10/13/jdk-dynamic-agent-and-cglib/闲言少叙,先来说一下什么是代理模式,我们去一个新的地方总是要先找地方住,但是我们人生地不熟的掌握的资源不多,这时候一般会找...转载 2018-11-03 17:03:15 · 148 阅读 · 0 评论 -
使用Hystrix实现自动降级与依赖隔离[微服务]
转载:https://www.jianshu.com/p/138f92aa83dc这篇文章是记录了自己的一次集成Hystrix的经验,原本写在公司内部wiki里,所以里面有一些内容为了避免重复,直接引用了其他同事的wiki,而发布到外网,这部分就不能直接引用了,因此可能不会太完整,后续会补充进去。1.背景目前对于一些非核心操作,如增减库存后保存操作日志 发送异步消息时(具体业务流...转载 2018-10-31 21:02:57 · 146 阅读 · 0 评论 -
分布式ID生成策略(1)_snowflake算法
转载:最近在研究分布式ID的生成方法,发现Twitter的snowflake算法挺有意思,因此亲自动手用Java进行了实现。 snowflake算法的原理就是用64位整数来表示主键,其结构如下图:1 bit符号位:设计者不喜欢负数主键?方便使用负数标识不正确的ID?41 bit毫秒时间:2^41 / (365 * 24 * 3600 * 1000) ≈ 69年10 bit机...转载 2018-11-07 19:54:38 · 150 阅读 · 0 评论 -
彻头彻尾的理解ConcurrentMap
转载:https://blog.csdn.net/justloveyou_/article/details/72783008摘要: ConcurrentHashMap是J.U.C(java.util.concurrent包)的重要成员,它是HashMap的一个线程安全的、支持高效并发的版本。在默认理想状态下,ConcurrentHashMap可以支持16个线程执行并发写操作及任意数量线程...转载 2018-11-07 19:53:13 · 246 阅读 · 0 评论 -
深入理解Java并发之synchronized实现原理
转载:版权申明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权) http://blog.csdn.net/javazejian/article/details/72828483 出自【zejian的博客】关联文章:深入理解Java类型信息(Class对象)与反射机制深入理解Java枚举类型(enum)深入理解Java注解类型(@Annotation)深入理解J...转载 2018-11-07 19:53:53 · 119 阅读 · 0 评论 -
Spring线程池ThreadPoolTaskExecutor配置及详情
转载:1. ThreadPoolTaskExecutor配置 1 <!-- spring thread pool executor --> 2 <bean id="taskExecutor" class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor"...转载 2018-11-07 19:56:21 · 360 阅读 · 0 评论 -
Java并发编程:CountDownLatch、CyclicBarrier和 Semaphore
转载:在java 1.5中,提供了一些非常有用的辅助类来帮助我们进行并发编程,比如CountDownLatch,CyclicBarrier和Semaphore,今天我们就来学习一下这三个辅助类的用法。以下是本文目录大纲:一.CountDownLatch用法二.CyclicBarrier用法三.Semaphore用法一.CountDownLatch用法CountDownL...转载 2018-11-07 19:55:18 · 110 阅读 · 0 评论 -
Java 并发编程:线程池的使用
转载:https://www.cnblogs.com/dolphin0520/p/3932921.html Java并发编程:线程池的使用 在前面的文章中,我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题: 如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时...转载 2018-11-07 19:52:02 · 154 阅读 · 0 评论 -
Executors与ThreadPoolExecutor(阿里发布的 Java开发手册中强制线程池不允许使用 Executors 去创建)
转载:https://blog.csdn.net/fly910905/article/details/81584675最近阿里发布的 Java开发手册中强制线程池不允许使用 Executors 去创建,而是通过 ThreadPoolExecutor 的方式,这样的处理方式让写的同学更加明确线程池的运行规则,规避资源耗尽的风险Executors利用工厂模式向我们提供了4种线程池实现方式,但是...转载 2018-11-07 19:55:34 · 274 阅读 · 0 评论 -
Java8 Stream 的并发
转发:https://blog.csdn.net/nianhua120/article/details/53406583先看一下下面的程序public class Main{ public static void main(String[] args){ long startTime=System.currentTimeMillis(); //获取开始时间 Lon...转载 2018-11-06 21:05:14 · 2338 阅读 · 0 评论 -
JVM内存模型
转载:https://blog.csdn.net/u012152619/article/details/46968883https://blog.csdn.net/zhangjg_blog/article/details/24271275栈区:线程隔离的堆区:线程共享的方法区:线程共享的JVM定义了若干个程序执行期间使用的数据区域。这个区域里的一些数据在JVM启动的时候创...转载 2018-11-10 12:16:56 · 149 阅读 · 0 评论 -
扒一扒ReentrantLock以及AQS实现原理
转载:http://www.importnew.com/24006.html2017/03/25 | 分类:基础技术|3 条评论| 标签:AQS,REENTRANTLOCK分享到:原文出处:Float_Luuu提到JAVA加锁,我们通常会想到synchronized关键字或者是Java Concurrent Util(后面简称JCU)包下面的Lock,今天就来扒一扒L...转载 2019-03-13 22:08:34 · 496 阅读 · 0 评论 -
理解Java7和8里面HashMap+ConcurrentHashMap的扩容策略
转载:https://blog.csdn.net/u010454030/article/details/824584132018年09月06日 11:25:56葬月魔帝阅读数:974前言理解HashMap和ConcurrentHashMap的重点在于:(1)理解HashMap的数据结构的设计和实现思路(2)在(1)的基础上,理解ConcurrentHashMap的并发安全的...转载 2019-03-13 22:00:21 · 955 阅读 · 0 评论