自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

YourBatman

也许当我老了,也一样写代码。不为别的,只为爱好。公众号搜索:BAT的乌托邦...

原创 【小家java】java8新特性之---反射获取方法参数名

方法的参数名,在很多时候我们是需要反射得到的。但是在java8之前,代码编译为class文件后,方法参数的类型是固定的,但参数名称却丢失了,这和动态语言严重依赖参数名称形成了鲜明对比。(java是静态语言,所以入参名称叫什么其实无所谓的)。虽然名称无所谓,但很多时候,我们需要此名称来做更好的安排....

2018-07-30 20:11:14 5036 2

原创 【小家java】java8新特性之---Base64加密和解密原理

概述 Base64是一种字符串编码格式,采用了A-Z,a-z,0-9,“+”和“/”这64个字符来编码原始字符(还有垫字符“=”)。一个字符本身是一个字节,也就是8位,而base64编码后的一个字符只能表示6位的信息。也就是原始字符串中的3字节的信息编码会变成4字节的信息。Base64的主要作用...

2018-07-30 17:54:42 1992 0

原创 【小家java】java8新特性(简述十大新特性) 饱受赞誉

截止稿前,java10都已经发布了,现在我们来讨论一下java8。 本文的讨论,只是一个简述,更加具体的,各位可以参照各自的专题讲解 说在前面 Java 8可谓是自Java 5以来最具革命性的版本了,她在语言、编译器、类库、开发工具以及Java虚拟机等方面都带来了不少新特性。我们来一一回顾一...

2018-07-30 15:41:31 9469 7

原创 【小家面试】蚂蚁金服(2018年)Java一面面试题

废话不多说,直接把印象中的面试题贴出来: 虽然我自己没有完全答得很好,但本文给出一些参考性的答案。如果觉得不妥的,可以给我留言讨论 1、自我介绍、自己做的项目和技术领域 略 2、项目中的监控:常见的监控指标有哪些? QPS、进出口流量、CPU使用率、内存使用率、磁盘...

2018-07-30 15:32:10 1910 3

原创 【小家java】 Restful风格的API设计中,怎么实现批量删除?

如题,指的是在restful风格的url设计中,怎么实现批量删除呢? 这里指的删除是真删除,不是逻辑删除。如果是逻辑删除,其实就是update,使用put方法即可 如果是需要删除一个条目,可以直接将需要删除的条目的id放进url里面,比如http://example.com/posts...

2018-07-27 16:27:15 13466 8

原创 【小家java】使用lambda表达式传参是否有性能问题?

随着java8的普及,lambda表达式的书写日益增多。咱们看下面一个例子: 编程有一条原则如下: 避免创建不必要的对象:最好能重用对象,而不要在每次需要的时候就创建一个相同功能的新对象。 List<String&am...

2018-07-27 15:38:12 3778 2

原创 【小家java】使用volatile关键字来实现内存可见性、实现轻量级锁

内存可见性 volatile是Java提供的一种轻量级的同步机制,在并发编程中,它也扮演着比较重要的角色。同synchronized相比(synchronized通常称为重量级锁),volatile更轻量级,相比使用synchronized所带来的庞大开销,倘若能恰当的合理的使用volatile...

2018-07-27 14:46:00 769 0

原创 【小家java】Java反射性能问题,你真的需要考虑吗?

Java的反射,是我们进阶的敲门砖。反射肯定比直接调用慢,这个毋庸置疑了,我这篇文章也不是证明反射有多高效的。我举个快递小哥的例子: 举个栗子 如果快递员就在你住的小区,那么你报一个地址:xx栋xx号,那么快递员就可以马上知道你在哪里,直接就去到你家门口;但是,如果快递员是第一次来你们这里...

2018-07-26 18:19:44 3014 3

原创 【小家java】HashMap原理、TreeMap、ConcurrentHashMap的原理、性能、安全方面大解析-----看这一篇就够了

Map的遍历问题,选择哪种方式性能最优? java8之后提供了lambda表达式的遍历方式。因此如果可以用lambda表达式遍历,那就毫无疑问的直接选择即可。 遍历方式代码如下: //entrySet方式:key和value一次性都拿出来 for (Entry&am...

2018-07-21 21:40:54 1420 0

原创 【小家java】一道多线程面试题引发对BlockingQueue的使用的思考

在新增的Concurrent包中,BlockingQueue很好的解决了多线程中,如何高效安全“传输”数据的问题。通过这些高效并且线程安全的队列类,为我们快速搭建高质量的多线程程序带来极大的便利。本文详细介绍了BlockingQueue家庭中的所有成员,包括他们各自的功能以及常见使用场景。 题目...

2018-07-21 15:38:52 1182 0

原创 【小家java】并发编程中wait/notify await/singal notify/notifyAll sleep/yield 的区别以及死锁案例

并发编程中,容易混淆的一些概念和方法使用,本文来解惑。 是否释放锁: 调用sleep和yield的时候不释放当前线程所获得的锁,但是调用await/wait的时候却释放了其获取的锁并阻塞等待。 调用后何时恢复: sleep让线程阻塞,且在指定的时间之内都不会执行,时间到了之后恢复到就绪...

2018-07-21 14:02:08 485 0

原创 【小家java】JUC并发编程之Synchronized和Lock、ReadWriteLock、ReentantLock的使用以及原理剖析

我们很多人在学习多线程开发的时候,一遇到并发问题就是synchronized,相对于当时的我们来说synchronized是这么的神奇而又强大,那个时候我们赋予它一个名字“同步”,也成为了我们解决多线程情况的百试不爽的良药。 但是我们知道synchronized是一把重量级的锁,对效率是不友好的...

2018-07-20 18:01:35 984 0

原创 【小家java】Java里的进程、线程、协程 、Thread、守护线程、join线程的总结

说到线程,很多人最直观的感受就是多线程。本章不讨论高并发、多线程之类的。返璞归真,咱们来讨论讨论线程这个东西到底是什么东西,着眼于线程本身,我们怎么玩? 为了了解线程,这里我不得不搬出来线程的概念了: 进程:具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和...

2018-07-20 14:37:25 1260 0

原创 【小家java】Java中Random ThreadLocalRandom 设置随机种子获取随机数精讲

我们都知道,随机数在太多的地方使用了,比如加密、混淆数据等,我们使用随机数是期望获得一个唯一的、不可仿造的数字,以避免产生相同的业务数据造成混乱。 在Java项目中通常是通过Math.random方法和Random类来获得随机数的。那么本文针对于这两种产生随机数的方法进行源码级别的精度,让你以后...

2018-07-19 14:42:51 1653 0

原创 【小家java】Java中5种创建对象的方法,你知道几种?

作为一个Java开发者,一种面向对象的语言,我们每天都创建很多对象。但后续我们开发中,采用了spring的依赖管理系统,我们就很少自己去创建对象了,全部交给容器去托管,那么本篇文章回源塑本,讲述一下java中能够创建一个对象的5中方法。 本文最大的特色是,我不仅给出案例,还给出对应的字节码...

2018-07-18 18:31:57 424 0

原创 【小家java】Java反射机制中Class.getXXX()和Class.getDeclaredXXX()的使用区别和注意事项

JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。 那么本文就针对性说明一下,在我们使用反射时候经常用到也是经常会让我们迷糊的一些方法的区...

2018-07-18 11:29:33 1513 0

提示
确定要删除当前文章?
取消 删除