Fork me on GitHub
上一页 1 ··· 24 25 26 27 28 29 30 31 32 ··· 49 下一页
摘要: 简介 java类中会定义很多变量,有类变量也有实例变量,这些变量在访问的过程中,会遇到一些可见性和原子性的问题。这里我们来详细了解一下怎么避免这些问题。 不可变对象的可见性 不可变对象就是初始化之后不能够被修改的对象,那么是不是类中引入了不可变对象,所有对不可变对象的修改都立马对所有线程可见呢? 实 阅读全文
posted @ 2020-09-25 10:54 flydean 阅读(517) 评论(0) 推荐(0) 编辑
摘要: 简介 今天我们介绍一种不需要作比较就能排序的算法:count排序。 count排序是一种空间换时间的算法,我们借助一个外部的count数组来统计各个元素出现的次数,从而最终完成排序。 count排序的例子 count排序有一定的限制,因为外部的count数组长度是和原数组的元素范围是一致的,所以co 阅读全文
posted @ 2020-09-23 10:18 flydean 阅读(613) 评论(0) 推荐(0) 编辑
摘要: 简介 ECMAScript 6.0(以下简称 ES6)是 JavaScript 语言的下一代标准,正式发布与2015年6月。它的目标,是使得JavaScript语言可以用来编写复杂的大型应用程序,成为企业级开发语言。 今天我们将会讲解一下ES6中引入的语法新特性。 ECMAScript和JavaSc 阅读全文
posted @ 2020-09-22 09:39 flydean 阅读(282) 评论(0) 推荐(0) 编辑
摘要: 简介 为了保证java程序的安全,任何外部用户的输入我们都认为是可能有恶意攻击意图,我们需要对所有的用户输入都进行一定程度的校验。 本文将带领大家探讨一下用户输入校验的一些场景。一起来看看吧。 在字符串标准化之后进行校验 通常我们在进行字符串校验的时候需要对一些特殊字符进行过滤,过滤之后再进行字符串 阅读全文
posted @ 2020-09-21 10:24 flydean 阅读(1733) 评论(0) 推荐(0) 编辑
摘要: 简介 什么是堆污染呢?堆污染是指当参数化类型变量引用的对象不是该参数化类型的对象时而发生的。 我们知道在JDK5中,引入了泛型的概念,我们可以在创建集合类的时候,指定该集合类中应该存储的对象类型。 如果在指定类型的集合中,引用了不同的类型,那么这种情况就叫做堆污染。 产生堆污染的例子 有同学可能会问 阅读全文
posted @ 2020-09-18 10:10 flydean 阅读(1263) 评论(0) 推荐(0) 编辑
摘要: 简介 一年两次的JDK最新版本JDK15在2020年9月15日正式发布了,这次的JDK15给我们带了隐藏类,EdDSA,模式匹配,Records,封闭类和Text Block等诸多新特性。 一起来看看吧。 JDK15的新特性 JEP 385 Deprecate RMI Activation for 阅读全文
posted @ 2020-09-16 21:28 flydean 阅读(8995) 评论(3) 推荐(0) 编辑
摘要: 简介 字符串是我们日常编码过程中使用到最多的java类型了。全球各个地区的语言不同,即使使用了Unicode也会因为编码格式的不同采用不同的编码方式,如UTF-8,UTF-16,UTF-32等。 我们在使用字符和字符串编码的过程中会遇到哪些问题呢?一起来看看吧。 使用变长编码的不完全字符来创建字符串 阅读全文
posted @ 2020-09-16 09:38 flydean 阅读(791) 评论(1) 推荐(0) 编辑
摘要: 简介 快速排序也采用的是分而制之的思想。那么快速排序和归并排序的区别在什么地方呢? 归并排序是将所有的元素拆分成一个个排好序的数组,然后将这些数组再进行合并。 而快速排序虽然也是拆分,但是拆分之后的操作是从数组中选出一个中间节点,然后将数组分成两部分。 左边的部分小于中间节点,右边的部分大于中间节点 阅读全文
posted @ 2020-09-14 09:29 flydean 阅读(640) 评论(0) 推荐(1) 编辑
摘要: 简介 在本文中你将了解到Unicode和UTF-8,UTF-16,UTF-32的关系,同时你还会了解变种UTF-8,并且探讨一下UTF-8和变种UTF-8在java中的应用。 一起来看看吧。 Unicode的发展史 在很久很久以前,西方世界出现了一种叫做计算机的高科技产品。 初代计算机只能做些简单的 阅读全文
posted @ 2020-09-12 15:26 flydean 阅读(548) 评论(0) 推荐(1) 编辑
摘要: 简介 java中可以被称为Number的有byte,short,int,long,float,double和char,我们在使用这些Nubmer的过程中,需要注意些什么内容呢?一起来看看吧。 Number的范围 每种Number类型都有它的范围,我们看下java中Number类型的范围: 考虑到我们 阅读全文
posted @ 2020-09-10 09:52 flydean 阅读(1061) 评论(0) 推荐(0) 编辑
摘要: 简介 在java对象和字段的初始化过程中会遇到哪些安全性问题呢?一起来看看吧。 初始化顺序 根据JLS(Java Language Specification)中的定义,class在初始化过程中,需要同时初始化class中定义的静态初始化程序和在该类中声明的静态字段(类变量)的初始化程序。 而对于s 阅读全文
posted @ 2020-09-06 08:58 flydean 阅读(349) 评论(0) 推荐(0) 编辑
摘要: 简介 mutable(可变)和immutable(不可变)对象是我们在java程序编写的过程中经常会使用到的。 可变类型对象就是说,对象在创建之后,其内部的数据可能会被修改。所以它的安全性没有保证。 而不可变类型对象就是说,对象一旦创建之后,其内部的数据就不能够被修改,我们可以完全相信这个对象。 虽 阅读全文
posted @ 2020-09-03 09:22 flydean 阅读(559) 评论(0) 推荐(0) 编辑
摘要: 简介 JDK是在一直在迭代更新的,很多我们熟悉的类也悄悄的添加了一些新的方法特性。比如我们最常用的HashMap。 今天给大家讲一下HashMap在JDK8中添加的两个新方法compute和merge,从而实现一行代码实现单词统计的功能。一起来看看吧。 爱在JDK8之前 JDK8为我们引入了很多非常 阅读全文
posted @ 2020-08-30 16:40 flydean 阅读(519) 评论(0) 推荐(0) 编辑
摘要: 简介 作为一个程序员,只是写出好用的代码是不够的,我们还需要考虑到程序的安全性。在这个不能跟陌生人说话世界,扶老奶奶过马路都是一件很困难的事情。那么对于程序员来说,尤其是对于开发那种对外可以公开访问的网站的程序员,要承受的压力会大很多。 任何人都可以访问我们的系统,也就意味着如果我们的系统不够健壮, 阅读全文
posted @ 2020-08-25 09:57 flydean 阅读(903) 评论(1) 推荐(0) 编辑
摘要: 简介 我们经常会听到甚至需要自己动手去做GC调优。那么GC调优的目的到底是什么呢?让程序跑得更快?让GC消耗更少的资源?还是让程序更加稳定? 带着这些疑问来读一下这篇文章,将会得到一个系统的甚至是不一样的结果。 那些GC的默认值 其实GC或者说JVM的参数非常非常的多,有控制内存使用的: 有控制JI 阅读全文
posted @ 2020-08-18 07:51 flydean 阅读(668) 评论(0) 推荐(0) 编辑
上一页 1 ··· 24 25 26 27 28 29 30 31 32 ··· 49 下一页