Sorry, your browser cannot access this site
This page requires browser support (enable) JavaScript
Learn more >

为什么建议初始化容量真正的容量是多少为什么是2的次幂
Java

何为控制反转以前对于有依赖关系的类,比如类A依赖类B,那么使用时一般是要在A里面new个B,如果使用spring,则将控制权交给IoC容器,让IoC容器负责bean的创建以及依赖关系的调解(即依赖注入)。 何为依赖注入为一个对象获取它所依赖的对象的引用(在此之前,肯定要把这个bean注入到spring容器中)。 如何依赖注入 通过setter 通过构造方法 通过接口 何为面向切面编程

问题重现: 使用spring mvc实现一个简单的登录功能,前后端分离,使用nginx反向代理实现跨域请求 这个问题困扰了我一天多,从最开始检查nginx配置到检查表单提交再到查看http请求头再到检查后端spring相关配置以及注解的问题,最后终于找到问题。整个过程中除了415当然还蹦出了其他各种错误,如400,405,500,不过415错误一直断断续续贯穿始终。下面来复盘一下整个过程。...

不知道到大家在操作Java集合类的时候有没有遇到过ConcurrentModificationException异常,反正我是遇到过,今天就来聊一下这个异常的缘起缘灭。 fail fast上述异常都是由这个叫做fail fast的机制导致的,fail fast是Java集合类的一种异常检测机制,当多个线程并发修改一个集合类的结构时,就有可能触发上述异常。我们以ArrayList为例来探究一下...
Java

前提需要: 编译器及相关工具:gcc编译器,make工具 由于命令apt-get install gcc gcc-c++报错Couldn't find any package by regex 'gcc-c+, 所以我们可以直接装apt-get -y install build-essential 模块依赖性: pcre库(正则表达式匹配的库),zlib库(压缩用的)...

本文主要讨论两个问题:何时类加载?如何类加载? 何为类加载类加载时机类加载的过程序:java文件被编译成.class文件放在磁盘中 加载阶段: 根据类的全限定名将字节码加载到内存,加载到内存哪里呢?方法区! 可以认为,.class文件是类的静态结构,而加载阶段就是把这种静态结构编程动态的运行时结构 根据这个字节码生成一个java.lang.Class对象 我们讲过,万物皆可为对象...
Java

本文需要了解:Java内存模型 缓存一致性问题为了提高CPU从内存中读写的速度,在CPU和和内存中间添加了缓存,有一级缓存,二级缓存,甚至三级缓存,从一级到三级,容量变大,速度变低。对于多个CPU场景,一般是每个CPU都有自己的一级和二级缓存而公用三级缓存。 在多CPU多线程的读写场景下,多个线程有可能会访问同一块内存区域,以写操作为例,多个线程都会把内存中的值读到自己的CPU中,然后修改,...
Java

ReentrantLock, 从名字来看,可重入锁,今天来看下它的具体实现。 特性:排他锁,内部实现了公平锁和非公平锁。 它的继承关系如下: 以及还有三个内部类:Sync, NonfairSync , FairSync.其中后两个都继承自Sync,而Sync又继承自AQS 可以看出,ReentryLock是在自己内部实现了公平锁和非公平锁的。 可以看到,ReentryLock继承...
Java

重建二叉树前序遍历用来确定根节点,中序遍历用来确定左右子树以及大小 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283class ...

本文主要从两个方面讲解synchronized关键字,第一个是用法,第二个是原理,即为什么synchronized关键字能够保持线程同步。 用法synchronized的修饰对象主要有以下两种: 修饰一个代码块。 synchronized(this|object) {}:获得对象级的锁。当多个线程访问同一对象内的同步代码块时,只能互斥访问 synchronized(类...
Java