提出了问题2019-05-09
发布了文章2019-04-04
HashMap是Java中常用的Map接口的实现类,因为在日常工作中非常频繁的出现,所以在大部分的Java面试中都会问几个关于HashMap的问题。掌握HashMap的实现原理,已经是Java程序员的基础操作了。
发布了文章2019-03-12
字符串是Redis里非常常见的类型,而用C实现的Redis和Java不一样。在C里字符串是用长度为N+1的字符数组实现的,且使用空字符串'\0'作为结束符号。获取字符串的长度需要遍历一遍,找到空字符串'\0'才知道字符串的长度,复杂度是O(N)。
提出了问题2019-01-24
提出了问题2018-12-24
发布了文章2018-10-22
Book类就是定义在Apple类中的一个内部类,Book类引用了Apple类的私有域size却没有报错,这就是上文提到的特权了,内部类可以引用外围类的所有域和方法包括私有的。那么为什么内部类可以做到这样神奇的事情呢?原来是编译器在背后偷偷干的好事!
发布了文章2018-10-19
java.util.concurrent包里有几个能帮助人们管理相互合作的线程集的类,为多线程常见的应用场景预置了抽象好的类库。在遇到这些应用场景时应该直接重用合适的库类而不要试图提供手工的锁与条件的集合。
发布了文章2018-10-18
我的博客 转载请注明原创出处。 序 之所以会想来写泛型相关的内容,是因为看到这样的一段代码: 当时我的内心是这样的: 所以就赶紧去复习了下,记录下来。基础不扎实,源码看不懂啊。 泛型介绍 Java 泛型(generics)是 JDK 5 中引入的一个新特性,泛型提供了编译时...
发布了文章2018-10-17
从Java 9开始,在Java的世界里多了一个叫模块(JSR376)的特性。模块系统的前身是Jigsaw项目。最初,该项目仅仅是为JDK设计、实现一个模块系统。后来项目组也希望它能为开发者所用——虽然,一开始它并不是Java SE平台规范的组成部分。随着项目的不断深入,Java平台对...
发布了文章2018-10-17
问:对于三十岁的程度员,如果还想再深入做技术,有什么建议?答:技术人员一定要有危机感,无论多大年纪仍然要持续的学习,我也已经三十多了,每周会花点时间学习点技术。但是年纪大了,其实时间不会那么多,所以要提高学习的效率,掌握一些学习方法和方法论,并且...
发布了文章2018-10-16
在多线程环境下,访问非线程安全的变量时必须进行线程同步,例如使用synchronized方式访问HashMap实例。但是同步访问会降低并发性,影响系统性能。这时候就可以用空间换时间,如果我们给每个线程都分配一个独立的变量,就可以用非同步的方式使用非线程安全的变量,我...
发布了文章2018-08-23
Java 8新增的lambda表达式毫无疑问是令人非常激动的,从此我们可以非常简洁的定义和使用代码块而不是用繁琐的匿名内部类来实现。而接口是lambda表达式的基础,要理解lambda表达式就要先理解接口的概念。
发布了文章2018-08-13
我是在关于Java的面试题里了解到类加载器的,在这之前从未想过Java里类是如何被加载、解析的,一直以为只要Import就好了。事实上Java类加载器是一块非常重要的内容,可以用在类层次划分、OSGi、热部署、代码加密等领域。即使业务上可能没有涉及到,了解相关知识对排...
发布了文章2018-08-07
首先面向切面编程这个名称很容易让人想起面向对象编程(OOP)来。我们知道面向对象编程是从上往下的把系统拆分成若干个类,如Web项目中常见的Controller、Service、Dao等分层。但是面向对象编程对于从左到右的水平抽象十分无力,类似于日志、权限等系统级功能的代码...
发布了文章2018-07-05
第一次了解到控制反转(Inversion of Control)这个概念,是在学习Spring框架的时候。IOC和AOP作为Spring的两大特征,自然是要去好好学学的。而依赖注入(Dependency Injection,简称DI)却使得我困惑了挺久,一直想不明白他们之间的联系。
发布了文章2018-07-05
在面向对象设计中有一个重要的原则是依赖倒置(Dependence Inversion Principle),主要作用是解耦,让对象与对象之间松耦合。定义如下:高层模块不应该依赖底层模块,他们都应该依赖抽象。抽象不应该依赖于细节,细节应该依赖于抽象。
赞了回答2017-08-18
使用公共cdn。webpack中可以利用externals属性,将不希望打包的第三方公共库独立出来在html中全局引入,这样的优势在于加快了编译打包的速度,更重要的是减小了打包后文件的大小,可以利用公共cdn引入第三方库。
发布了文章2017-08-13
Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。它提供了一组可以在Spring应用上下文中配置的Bean,为应用系统提供声明式的安全访问控制功能,减少了为企业系统安全控制编写大量重复代码的工作。
发布了文章2017-08-06
程序员都很希望别人能写技术文档,自己却很不愿意写文档。因为接口数量繁多,并且充满业务细节,写文档需要花大量的时间去处理格式排版,代码修改后还需要同步修改文档,经常因为项目时间紧等原因导致文档滞后于代码,接口调用方的抱怨声不绝于耳。而程序员是最擅长"偷懒...
发布了文章2017-07-30
React在Github上已经有接近70000的 star 数了,是目前最热门的前端框架。而我学习React也有一段时间了,现在就开始用 React+Redux 进行实战!