HashMap的实现原理笔记

2019-04-04
阅读 5 分钟
2.4k
HashMap是Java中常用的Map接口的实现类,因为在日常工作中非常频繁的出现,所以在大部分的Java面试中都会问几个关于HashMap的问题。掌握HashMap的实现原理,已经是Java程序员的基础操作了。

Redis的字符串类型

2019-03-12
阅读 1 分钟
1.6k
字符串是Redis里非常常见的类型,而用C实现的Redis和Java不一样。在C里字符串是用长度为N+1的字符数组实现的,且使用空字符串'\0'作为结束符号。获取字符串的长度需要遍历一遍,找到空字符串'\0'才知道字符串的长度,复杂度是O(N)。

Java基础-内部类详解

2018-10-22
阅读 3 分钟
2k
Book类就是定义在Apple类中的一个内部类,Book类引用了Apple类的私有域size却没有报错,这就是上文提到的特权了,内部类可以引用外围类的所有域和方法包括私有的。那么为什么内部类可以做到这样神奇的事情呢?原来是编译器在背后偷偷干的好事!

Java 多线程基础 - CyclicBarrier

2018-10-19
阅读 7 分钟
1.7k
java.util.concurrent包里有几个能帮助人们管理相互合作的线程集的类,为多线程常见的应用场景预置了抽象好的类库。在遇到这些应用场景时应该直接重用合适的库类而不要试图提供手工的锁与条件的集合。

Java基础-泛型详解

2018-10-18
阅读 7 分钟
2.2k
我的博客 转载请注明原创出处。 序 之所以会想来写泛型相关的内容,是因为看到这样的一段代码: 当时我的内心是这样的: 所以就赶紧去复习了下,记录下来。基础不扎实,源码看不懂啊。 泛型介绍 Java 泛型(generics)是 JDK 5 中引入的一个新特性,泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非...

Java基础-模块系统笔记(1)

2018-10-17
阅读 4 分钟
2.8k
从Java 9开始,在Java的世界里多了一个叫模块(JSR376)的特性。模块系统的前身是Jigsaw项目。最初,该项目仅仅是为JDK设计、实现一个模块系统。后来项目组也希望它能为开发者所用——虽然,一开始它并不是Java SE平台规范的组成部分。随着项目的不断深入,Java平台对标准模块系统的呼求也日益增长,JCP批准该项目升级为Ja...

一致性Hash

2018-10-17
阅读 2 分钟
3.1k
问:对于三十岁的程度员,如果还想再深入做技术,有什么建议?答:技术人员一定要有危机感,无论多大年纪仍然要持续的学习,我也已经三十多了,每周会花点时间学习点技术。但是年纪大了,其实时间不会那么多,所以要提高学习的效率,掌握一些学习方法和方法论,并且要静下心来持续的学习。学技术什么时间都不晚,因为总...

Java多线程基础-ThreadLocal

2018-10-16
阅读 4 分钟
2.9k
在多线程环境下,访问非线程安全的变量时必须进行线程同步,例如使用synchronized方式访问HashMap实例。但是同步访问会降低并发性,影响系统性能。这时候就可以用空间换时间,如果我们给每个线程都分配一个独立的变量,就可以用非同步的方式使用非线程安全的变量,我们称这种变量为线程局部变量。

Java基础-接口、lambda表达式

2018-08-23
阅读 3 分钟
2k
Java 8新增的lambda表达式毫无疑问是令人非常激动的,从此我们可以非常简洁的定义和使用代码块而不是用繁琐的匿名内部类来实现。而接口是lambda表达式的基础,要理解lambda表达式就要先理解接口的概念。

Java基础-类加载器以及加载机制

2018-08-13
阅读 4 分钟
1.6k
我是在关于Java的面试题里了解到类加载器的,在这之前从未想过Java里类是如何被加载、解析的,一直以为只要Import就好了。事实上Java类加载器是一块非常重要的内容,可以用在类层次划分、OSGi、热部署、代码加密等领域。即使业务上可能没有涉及到,了解相关知识对排除BUG也是有帮助的。

Spring理论基础-面向切面编程

2018-08-07
阅读 3 分钟
1.8k
首先面向切面编程这个名称很容易让人想起面向对象编程(OOP)来。我们知道面向对象编程是从上往下的把系统拆分成若干个类,如Web项目中常见的Controller、Service、Dao等分层。但是面向对象编程对于从左到右的水平抽象十分无力,类似于日志、权限等系统级功能的代码会重复的出现在任何地方。简单的说,面向切面编程是对...

Spring理论基础-控制反转和依赖注入

2018-07-05
阅读 6 分钟
3.2k
第一次了解到控制反转(Inversion of Control)这个概念,是在学习Spring框架的时候。IOC和AOP作为Spring的两大特征,自然是要去好好学学的。而依赖注入(Dependency Injection,简称DI)却使得我困惑了挺久,一直想不明白他们之间的联系。

面向对象设计原则-依赖倒置

2018-07-05
阅读 2 分钟
3.5k
在面向对象设计中有一个重要的原则是依赖倒置(Dependence Inversion Principle),主要作用是解耦,让对象与对象之间松耦合。定义如下:高层模块不应该依赖底层模块,他们都应该依赖抽象。抽象不应该依赖于细节,细节应该依赖于抽象。

Spring Boot中使用 Spring Security 构建权限系统

2017-08-13
阅读 7 分钟
23.6k
Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。它提供了一组可以在Spring应用上下文中配置的Bean,为应用系统提供声明式的安全访问控制功能,减少了为企业系统安全控制编写大量重复代码的工作。

Spring Boot中使用Swagger2构建API文档

2017-08-06
阅读 3 分钟
8k
程序员都很希望别人能写技术文档,自己却很不愿意写文档。因为接口数量繁多,并且充满业务细节,写文档需要花大量的时间去处理格式排版,代码修改后还需要同步修改文档,经常因为项目时间紧等原因导致文档滞后于代码,接口调用方的抱怨声不绝于耳。而程序员是最擅长"偷懒"的职业了,自然会有多种多样的自动生成文档的插件.今...

React 实践项目 (五)Docker Nginx 部署 React

2017-07-30
阅读 5 分钟
20.9k
React在Github上已经有接近70000的 star 数了,是目前最热门的前端框架。而我学习React也有一段时间了,现在就开始用 React+Redux 进行实战!

React 实践项目 (四)

2017-07-23
阅读 5 分钟
2.2k
React在Github上已经有接近70000的 star 数了,是目前最热门的前端框架。而我学习React也有一段时间了,现在就开始用 React+Redux 进行实战!

React 实践项目 (三) Redux-Saga

2017-07-16
阅读 4 分钟
10.2k
React在Github上已经有接近70000的 star 数了,是目前最热门的前端框架。而我学习React也有一段时间了,现在就开始用 React+Redux 进行实战!

React 实践项目 (二) redux + immutable + redux-saga

2017-07-09
阅读 5 分钟
4.2k
React在Github上已经有接近70000的 star 数了,是目前最热门的前端框架。而我学习React也有一段时间了,现在就开始用 React+Redux 进行实战!

React 实践项目 (一)

2017-07-01
阅读 6 分钟
5.3k
React在Github上已经有接近70000的 star 数了,是目前最热门的前端框架。而我学习React也有一段时间了,现在就开始用 React+Redux 进行实战!

在Windows上安装Docker

2017-04-23
阅读 3 分钟
6.4k
准备安装Docker for Windows 安装前请保障 Windows10 版本大于或等于 1703,os版本大于或等于 15063 我在版本1607下安装就会有找不到引用汇编文件的错误 必须启用Hyper-V软件包才能使Docker for Windows工作。如果您的系统不满足这些要求,您可以安装Docker Toolbox,它使用Oracle Virtual Box而不是Hyper-V。在 Windows...