E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
java深入
面试大厂无压力,github上大佬面试题年度总结,19年大厂面试题集合
年了,你怎么不总结下分享出来,现在研究研究,年后就可以找工作换工作加一笔ok,安排今天就给大家带来github上大佬面试题年度总结,让你面试大厂无压力从基础到进阶,通通安排Java基础知识点面试专题、
java
解夏啊
·
2019-12-05 17:51
面试
程序员
Android
今天带你们分析一下
java深入
源码级的面试题
今天双11剁手节,祝大家节日快乐今天和大家一起分析一下那些面试中可能会问到的
java深入
源码级的面试题对此很多面试中遇到的问题,花了15个小时整理成为了一份983页的PDF文档。(更多完整项目下载。
Android丶VG
·
2019-11-11 16:12
Android
Java
源码解析
Java深入
学习(6):Disruptor
Disruptor框架简介:并发框架,基于事件驱动,使用观察者模式底层采用环形数组,取模算法简单使用:/***声明一个Event:表示生产者和消费者之间传递的数据类型*/publicclassLongEvent{privateLongvalue;publicLonggetValue(){returnvalue;}publicvoidsetValue(Longvalue){this.value=va
一清
·
2019-10-13 14:00
Java深入
学习(5):锁
可重入锁:简单来说,支持重复加锁,有可重用性特征:锁可以传递,方法递归传递目的:避免了死锁现象代码:publicclassTestimplementsRunnable{@Overridepublicvoidrun(){method1();}publicsynchronizedvoidmethod1(){System.out.println("method1");method2();}publics
一清
·
2019-10-12 16:00
Java深入
学习(4):Future模式
Future模式:其实相当于是前端的Ajax比如我们使用多线程下载文件时候,每一个线程都会发送HTTP请求资源。而我如何知道,文件下载完毕呢?也就是说,主线程如何获得子线程的执行结果呢?创建多线程中的实现runnable接口方式和继承thread类,然后start方法都是直接执行代码的,无法知道执行的结果(主线程无法知道进度)。这里要说的是新方式:使用Callable接口和Future模式publ
一清
·
2019-10-05 17:00
Java深入
学习(3):线程池原理
线程池的特点:降低资源:通过重复利用已创建的线程降低线程创建和销毁的损耗提高效率:当任务到底时,不需要等待,立即执行方便管理:统一分配,调优和监控等线程池的创建方式:1.CachedThreadPool:创建一个可缓存线程池,灵活回收空闲线程publicclassThreadPoolDemo{publicstaticvoidmain(String[]args){ExecutorServicenew
一清
·
2019-10-05 17:00
Java深入
学习(2):并发队列
并发队列:在并发队列中,JDK有两套实现:ConcurrentLinkedQueue:非阻塞式队列BlockingQueue:阻塞式队列阻塞式队列非阻塞式队列的区别:阻塞式队列入列操作的时候,如果超出队列总数,这个时候会进行等待;在出列的时候,如果队列为空,也会等待非阻塞无论如何都不等待非阻塞效率更高,但是阻塞使用更广泛阻塞队列的优点是能够防止队列容器溢出,防止丢失非阻塞队列:publicclas
一清
·
2019-10-04 18:00
Java深入
学习(2):并发队列
并发队列:在并发队列中,JDK有两套实现:ConcurrentLinkedQueue:非阻塞式队列BlockingQueue:阻塞式队列阻塞式队列非阻塞式队列的区别:阻塞式队列入列操作的时候,如果超出队列总数,这个时候会进行等待;在出列的时候,如果队列为空,也会等待非阻塞无论如何都不等待非阻塞效率更高,但是阻塞使用更广泛阻塞队列的优点是能够防止队列容器溢出,防止丢失非阻塞队列:publicclas
一清
·
2019-10-04 18:00
Java深入
学习(1):多线程
多线程目的:在同一时刻有多条不同路径执行程序,提高程序运行效率多线程应用:数据库连接池,多线程文件下载等注意:在文件下载中使用多线程,无法提高速度在一个进程中,一定会有主线程从基础开始,多线程的使用方式:1.继承Thread类:(不推荐)publicclassThreadDemoextendsThread{@Overridepublicvoidrun(){//写入线程执行的代码}publicsta
一清
·
2019-10-04 13:00
Java设计模式之观察者模式(Observer模式)介绍
Java深入
到一定程度,就不可避免的碰到设计模式(designpattern)这一概念,了解设计模式,将使自己对java中的接口或抽象类应用有更深的理解。
·
2019-09-25 02:26
Java深入
JVM源码核心探秘Unsafe(含JNI完整使用流程)
一、介绍在Java中,sun.misc.Unsafe可以认为是用于JDK内部使用的工具类,它将一些需要使用native语言实现的功能通过java方法暴露出来,这些方法比较“危险”,因为它们可以直接修改内存中的值。通常情况下,我们并不能直接在程序中使用Unsafe,Unsafe的构造方法被私有化,语法层面上只能通过其提供的公共静态方法getUnsafe获取Unsafe实例:theUnsafe,the
黄智霖-blog
·
2019-09-22 14:24
jvm
Unsafe
对象内存布局
JNI
CAS
JAVA
JVM
JVM源码分析
Map集合的五种遍历方式及Treemap方法
Map集合:链接:Map集合的五种遍历方式及Treemap方法Set集合:链接:Java中遍历Set集合的三种方法TreeSet集合:链接:
Java深入
了解TreeSet,和迭代器遍历方法LIst集合:
Java成长记_Camel
·
2019-02-28 11:36
Java基础知识课程
Java中List集合的三种遍历方式(全网最详)
Map集合:链接:Map集合的五种遍历方式及Treemap方法Set集合:链接:Java中遍历Set集合的三种方法TreeSet集合:链接:
Java深入
了解TreeSet,和迭代器遍历方法LIst集合:
Java成长记_Camel
·
2019-01-25 23:14
Java基础知识课程
互联网@IT
java深入
理解jvm内存结构,读完之后,或许会让你对以前的一些问题豁然开朗
一、概念:参考图1(java的内存结构)1、Java堆(Heap)对于大多数应用来说,Java堆(JavaHeap)是Java虚拟机所管理的内存中最大的一块。Java堆是被所有线程共享的一块内存区域,在虚拟机启动时创建。此内存区域的唯一目的就是存放对象实例,几乎所有的对象实例都在这里分配内存。Java堆是垃圾收集器管理的主要区域,因此很多时候也被称做“GC堆”。如果从内存回收的角度看,由于现在收集
ontalk.club
·
2018-12-14 11:23
jvm内存结构
知识复习二章
java深入
源码级的面试题(有难度)哪些情况下的对象会被垃圾回收机制处理掉?1.引用计数器标记为0的对象2.对象到gcroots没有任何引用链3.那些属于软引用、弱引用、虚引用的对象。
金馆长说
·
2018-11-13 15:11
Java深入
解析笔记
关键字与标识符goto、const、true、false、nullgoto是Java里的保留字(不使用的关键字),在java里使用标签实现跳转:publicclassTest1{publicstaticvoidmain(String[]args){int[][]arr={{1,20,28},{26,50},{33,55,66,88}};intnumber=0;outer:for(inti=0;i<
孙朝阳
·
2018-11-06 13:49
java
深入解析
java
JAVA知识
Rx
java深入
理解之自己动手编写Rxjava
Demo的源码地址在mini-rxjava,有兴趣的可以下载源码来看.从观察者模式说起观察者模式,是我们在平时使用的比较多的一种设计模式.观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态上发生变化时,会通知所有观察者对象,使它们能够自动更新自己.它的特点是一个对象状态改变给其他对象通知的问题,而且要考虑到易用和低耦合,保证高度的协作。本文的重点不是在
JimmieYang
·
2018-11-06 13:57
java深入
理解ArrayList
1、ArrayList基础:底层是数组实现的。其实它就是动态数组。当数组长度未知时使用它是较好的选择。实现了Collection和List接口。它的继承关系如下:实现的接口如下:内部的参数:privatestaticfinalintDEFAULT_CAPACITY=10;//默认容量大小privatestaticfinalObject[]EMPTY_ELEMENTDATA={};//用于空实例的共
学无止境2018
·
2018-08-12 16:32
Java
SpringCloud实现原理图
以下是《
Java深入
微服务原理改造房产销售平台》课程讲到的部分原理附图,现在免费开放给大家,让大家轻松应对原理面试题。服务注册发现组件Eure
xueyepiaoling
·
2018-07-25 22:29
微服务
spring
cloud
技术博客汇总
关于我的博客大汇总整理目录介绍Java博客大汇总01.Java基础02.面向对象03.数据结构04.IO流知识05.Java多线程06.网络编程07.类的加载08.反射原理09.数据算法10.Java异常11.
Java
杨充211
·
2018-06-30 07:30
Java深入
理解IO NIO在文件复制过程中的应用
第一种,传统的IO模式privatestaticvoidcopyByIO(StringsrcPath,StringdstPath){byte[]buffer=newbyte[bufferSize];FileInputStreamfis=null;FileOutputStreamfos=null;try{fis=newFileInputStream(srcPath);fos=newFileOutpu
闭门车
·
2018-06-04 23:51
java
Java 深入理解hashcode()方法——Boolean
Java深入
理解hashcode()方法——Boolean环境:jdk1.8publicstaticvoidmain(String[]args){Booleanb2=true;Booleanb3=false
github_38838414
·
2018-05-29 22:00
java
hashcode
面试题解析
Java深入
学习(一)——构造器创建对象
1.构造器是创建对象的重要途径问题:构造器是创建Java对象的途径,是不是说构造器完全负责创建Java对象?答:不是的。构造器是创建Java对象的重要途径,通过new关键字调用构造器时,构造器也确实返回了该类的对象,但是这个对象并不是完全由构造器负责创建的。实际上,当程序员调用构造器时,系统会先为该对象分配内存空间,并为这个对象执行默认初始化,这个对象已经产生了——这些操作在构造器执行之前都完成了
爱听故事的人想会讲故事
·
2018-05-19 15:12
《
Java深入
解析-渗透java本质的36个话题》总结
浮点类型的种种悬疑浮点类型只是近似的存储,这很显而易见,因为在计算机内部是使用二进制来存储数值的,而对于0.3333之类的奇数小数就没办法存储,因此采用的是一种近似值的方式进行存储的,所以就会造成一个误差:下面代码将输出false,因为对于浮点数运算会存在误差:doublex=0.1,y=0.2,z=0.3;System.out.println(x+y==z);//真正的0.1+0.2等于0.30
19年,重新开始写
·
2018-05-19 12:59
java-web开发
java进阶
后端面试题
java面试宝典总结
100套最适合自学的实战开发教程视频(程序员都在学)
大咖助力全面升级Android面试BAT大牛亲授基于ElasticSearch的搜房网实战从天气项目看SpringCloud微服务治理Java企业级电商项目架构演进之路Tomcat集群与Redis分布式
Java
七月半夏
·
2018-05-02 13:25
学习资源
(二)
java深入
源码级的面试题
1.哪些情况下的对象会被垃圾回收机制处理掉?答:首先先回答定义:内存回收就是释放掉在内存中已经没用的对象如何判断对象没用的方法有四种:1>标记回收法先遍历对象图,然后将可以回收的对象进行记录,一般使用单线程工作,有可能会产生内存碎片,因为执行上述操作会将内存分为一块一块的碎片2>标记压缩回收法在第一种回收方法的情况下再多加一步,将所有的存活的对象压缩到内存的一段,这样就把内存的碎片整理合为一大块,
一生有你_b4f6
·
2018-04-10 13:20
java深入
源码级的面试题(有难度)
1,哪些情况下的对象会被垃圾回收机制处理掉?2,讲一下常见编码方式?3,utf-8编码中的中文占几个字节;int型几个字节?4,静态代理和动态代理的区别,什么场景使用?5,java的异常体系6,谈谈你对解析与分派的认识7,修改对象A的equals方法的签名,那么使用HashMap存放这个对象实例的时候,会调用哪个equals方法?8,java中实现多态的机制是什么?9,如何将一个java对象序列化
fajuary
·
2018-03-27 00:00
Android开发
BAT大厂面试题
答案并不是标准答案,有错的地方还请指正面试题目来中鸿洋大神的微信公众号分享:BAT大厂面试题(一)java面试题(1)java基础面试知识点(2)
java深入
源码级的面试题(有难度)(3)数据结构(4)
wuzuchang1994
·
2018-03-06 15:37
Android学习笔记
2018年Android开发读书清单与学习计划
17年读书清单疯狂JavaHeadFirst
Java深入
理解Java虚拟机HeadFirst设
bruce_lv
·
2018-01-05 16:07
规划
Android开发书单
Java深入
泛型
泛型:允许在定义类,接口,方法时使用类型形参,这个类型形参将在声明变量,创建对象,调用方法时动态指定(类型实参),Java5为集合框架的全部类和接口增加了泛型支持,可以在声明集合变量,创建集合对象时传入类型实参,就是我们经常看到的List和ArrayList。(1)定义泛型接口,类publicinterfaceListextendsCollection{Iteratoriterator();boo
雪舞飞影
·
2017-12-08 15:41
Java
【
Java深入
】创建对象的5种方式
1.java中创建对象的五种方式用new语句创建对象,这是最常见的创建对象的方法。运用反射手段,调用java.lang.Class或者java.lang.reflect.Constructor类的newInstance()实例方法。调用对象的clone()方法。通过I/O流(包括反序列化),注:前两种会调用构造函数,而后两种不会调用构造函数。2.使用new关键字最常见也是最简单的创建对象的方式。可
白夜行515
·
2017-07-31 17:44
Java
SE
【
Java深入
】ConcurrentHashMap源码剖析
一、ConcurrentHashMap概述1.底层实现ConcurrentHashMap与HashMap类似,基于数组+(链表/红黑树),但是为了实现并发,链表/红黑树增加了很多辅助的类,例如TreeBin,Traverser等对象内部类。2.为什么使用ConcurrentHashMap在多线程的情况下,使用HashMap可能会导致死循环,因为HashMap是非线程安全的,而使用线程安全的Hash
baiye_xing
·
2017-06-12 13:00
java
源码
Concurrent
【
Java深入
】LinkedList源码剖析
一、LinkedList概述1.底层实现LinkedList底层是基于双向链表实现的,JDK8和JDK7是这样,但在JDK6之前LinkedList的底层却是基于循环链表实现的。2.线程安全性LinkedList不是线程安全的,如果在多线程中使用,需要在外部作同步处理。3.与ArrayList的异同(1)LinkedList插入和删除操作更加高效,但随机访问速度慢;(2)LinkedList可以作
baiye_xing
·
2017-06-12 09:00
java
源码
LinkedList
【
Java深入
】ArrayList源码剖析(二)
类的方法(续)(16)add方法add(E)方法:添加新值到list末尾publicbooleanadd(Ee){ //确定ArrayList的容量大小(modCount++) ensureCapacityInternal(size+1); //添加e到ArrayList中,然后size自增1 elementData[size++]=e; returntrue; }注:size+1是为保证资源空间
baiye_xing
·
2017-05-16 17:00
java
源码
ArrayList
【
Java深入
】ArrayList源码剖析(二)
类的方法(续)(16)add方法add(E)方法:添加新值到list末尾publicbooleanadd(Ee){ //确定ArrayList的容量大小(modCount++) ensureCapacityInternal(size+1); //添加e到ArrayList中,然后size自增1 elementData[size++]=e; returntrue; }注:size+1是为保证资源空间
白夜行515
·
2017-05-16 00:00
Java
SE
【
Java深入
】序列化详解
1、定义Serialization(序列化)为了保存在内存中的各种对象的状态,并且可以把保存的对象状态再读出来,即将对象以一连串的字节描述;反序列化deserialization是一种将这些字节重建成一个对象的过程。2、需要实现序列化的几种情况(1)想把内存中的对象保存到一个文件中或者数据库中时候;(2)想用套接字在网络上传送对象的时候;(3)想通过RMI传输对象的时候;3、实现序列化的方式与反序
白夜行515
·
2017-05-13 14:53
Java
SE
【
Java深入
】序列化详解
1、定义Serialization(序列化)为了保存在内存中的各种对象的状态,并且可以把保存的对象状态再读出来,即将对象以一连串的字节描述;反序列化deserialization是一种将这些字节重建成一个对象的过程。2、需要实现序列化的几种情况(1)想把内存中的对象保存到一个文件中或者数据库中时候;(2)想用套接字在网络上传送对象的时候;(3)想通过RMI传输对象的时候;3、实现序列化的方式与反序
baiye_xing
·
2017-05-13 14:00
java
序列化
【
Java深入
】深拷贝与浅拷贝详解
1.拷贝的引入(1)引用拷贝创建一个指向对象的引用变量的拷贝。例1:Teacherteacher=newTeacher("Taylor",26);Teacherotherteacher=teacher;System.out.println(teacher);System.out.println(otherteacher);输出结果:
[email protected]
白夜行515
·
2017-05-13 11:43
Java
SE
读书计划
=====Java=====Java编程思想Java核心技术I、IIJava8函数式编程Effective
Java深入
理解Java虚拟机Java并发编程实践重构:改善既有代码的设计=====Spring
LuckyBug
·
2017-04-10 10:36
读书
JavaSE知识点18
java深入
了解JVM内存管理
1JVM内存分配1在讨论JVM内存管理之前,先来看一下Java程序具体执行的过程:2如上图所示,首先Java源代码文件(.java后缀)会被Java编译器编译为字节码文件(.class后缀),然后由JVM中的类加载器加载字节码文件,加载完毕之后,交由JVM执行引擎执行。3在整个程序执行过程中,JVM会用一段空间来存储程序执行期间需要用到的数据和相关信息,这段空间一般被称作为RuntimeDataA
paulpaullong
·
2017-04-04 20:15
Java深入
源码之LinkedList
一.LinkedList的整体架构:1.LinkedList是一个环形的双向循环链表,一个节点有向前与向后的指针且head节点不包含任何的数据。二.LinkedList的构造函数有两种:1.无参的构造函数:直接建立一个知识包含head头结点的空链表2.带有Collection[]参数的链表:先调用无参的构造函数去创建链表,然后将数组中的数据添加到链表中三.LinkedList的查找和删除:1、在查
Grit_ICPC
·
2017-04-03 09:09
JAVA
Java深入
源码之LinkedList
一.LinkedList的整体架构: 1.LinkedList是一个环形的双向循环链表,一个节点有向前与向后的指针且head节点不包含任何的数据。 二.LinkedList的构造函数有两种: 1.无参的构造函数:直接建立一个知识包含head头结点的空链表 2.带有Collection[]参数的链表:先调用无参的构造函数去创建链表,然后将数组中的数据添加到链表中 三.Lin
Grit_ICPC
·
2017-04-03 09:00
java
源码
java String 可变性的分析
//www.jb51.net/article/105448.htm这篇文章的作者有一系列关于
Java深入
学习的文章,很值得一看,个人觉得非常好,很有收获。
纯-真
·
2017-03-09 09:28
Java String 真的是不可变的吗
http://blog.csdn.net/zhangjg_blog/article/details/18319521这篇文章的作者有一系列关于
Java深入
学习的文章,很值得一看,个人觉得非常好,很有收获
Marksinoberg
·
2017-03-08 15:00
java
源码
String
String不可变
java深入
浅出解析异常机制
java中的异常处理的目的在于通过使用少量的代码,使得程序有着强大的鲁棒性,并且这种异常处理机制会让你变得非常自信:你的应用中没有你没处理过的错误。处理异常的相关手法看起来是这么的难懂,但是如果掌握的话,会让你的项目收益明显,效果也会是立竿见影。如果我们不使用异常处理,那么我们在程序中必须检查特定的错误,并且在程序的很多地方去处理他,这样会带来低效率和高耦合。这是我们不希望看到的。有了异常处理,我
QuinnNorris
·
2017-03-02 19:44
java
一周一篇Java概念
java深入
学习ConcurrentHashmap (JDK8)
原博文:http://blog.csdn.net/u010723709/article/details/48007881看了一些博文,总结下(JDK8源码):1、ConcurrentHashmap使用的是位桶+链表/红黑树实现,结构与hashmap一样,它摒弃了以前Segment(锁段)的概念,而用了一种新的方式实现,CAS算法实现,并且为了实现并发,加入了如treeBin等辅助类;treeBin
dongensi
·
2016-08-22 15:27
并发编程
java基础
java深入
学习Hashmap源码(JDK8)
关于JDK1.6、1.7、1.8三个版本,HaspMap的实现是有区别的,特别是1.8,对hashmap的结构进行了较大的变化。1.6整体采用的是位桶+链表的方式,而1.8使用的是位桶+链表+红黑树实现,链表的阈值是8,超过后就由链表变成红黑树,大大增加了查询的效率。[img]http://dl2.iteye.com/upload/attachment/0119/4417/ef91aa10-43f
dongensi
·
2016-08-18 17:20
java基础
Java观察者模式(Observer模式)
Java深入
到一定程度,就不可避免的碰到设计模式(designpattern)这一概念,了解设计模式,将使自己对java中的接口或抽象类应用有更深的理解。
softn
·
2016-05-30 06:00
JAVA深入
研究——Method的Invoke方法
在写代码的时候,发现Method可以调用子类的对象,但子类即使是改写了的Method,方法名一样,去调用父类的对象也会报错,虽然这是很符合多态的现象,也符合java的动态绑定规范,但还是想弄懂java是如何实现的,就学习了下Method的源代码。 Method的invoke方法 1.先检查 AccessibleObject的override属性是否为true。AccessibleObject是Me
Mr_Tim
·
2016-04-06 14:00
Java深入
解析读书笔记(一)
1.goto,const为java的两个保留关键字,无任何应用语法。因此从不使用。goto使用循环标签:if,breakout,here实现goto的功能。2.标识符:可由字母数字下划线,$,¥组成,首字符不能为数字,不能与关键字相同,不能和字面常量相同。注意:尽量不要使用$,作为标识符。3.关于一些特殊字符的转义:一些字符在java语言规定中有它自己的含义。例如:双引号""为定界符。如果想使用它
小土豆biubiubiu
·
2016-03-24 22:00
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他